2017-10-12 116 views
1

我有一个Raspberry Pi 3B(内置蓝牙)。 使用bluetoothctl时,我可以扫描设备并轻松找到要查找的设备。 但是,当试图与它配对时,我经常会遇到“无法配对:org.bluez.ErrorEautenticationFailed”。 有人告诉我,这可能是因为我试图连接的设备的广告间隔为10.2秒,而Bluez在2秒后给出超时。 是否正确,Bluez默认情况下在2秒后超时,如果是,我将如何改变这种情况?Rasctberry Pi上的Bluetoothctl配对超时3

问候

+0

我发现与bluetoothctl,只有一些设备,它只有当我开始从其他设备配对时才起作用。 –

+1

不幸的是,这对我不起作用。我尝试配对的设备(TE U5600压力传感器)没有任何按钮来启动配对。它所做的就是大约每10秒发出一次广告信号。我可以轻松地将设备与手机或Windows配对,所以我猜测设备正常工作,并且它在Bluez/bluetoothctl中,我应该查找我的问题。 –

回答

1

您可以

sudo sed -i 's/^#IdleTimeout=.*/IdleTimeout=0/' /etc/bluetooth/input.conf 

查看与

grep meout /etc/bluetooth/input.conf 

和禁用超时蓝牙的IdleTimeout和撤消

sudo sed -i 's/^IdleTimeout=.*/#IdleTimeout=30/' /etc/bluetooth/input.conf 

我不知道的一个ind蓝自由超时

0

我发现了一个可行的解决方案。显然,问题出在内核中。这里,自动连接超时设置为2秒,低于某些设备所需的时间。 - 解决方案是在内核中添加一个小补丁,然后构建它并使用它。 这可以通过这里的指示来完成:https://www.raspberrypi.org/documentation/linux/kernel/building.md 从混帐克隆内核后,修改文件包括/网/蓝牙/ hci.h 这需要改变看起来像这样

定义HCI_LE_AUTOCONN_TIMEOUT msecs_to_jiffies行(2000)/ * 2秒*/

将值“2000”更改为“20000”(使超时20秒,而不是2秒)。 按照上面的说明构建内核,并且事情似乎正常工作。 如果有人有一个更好的解决方案,不需要建立一个新的内核,我想听到它,因为这个过程有点复杂。