Raspberry Pi 3上的Bluetoothctl配对超时

时间:2017-10-12 13:28:25

标签: bluetooth timeout raspberry-pi3 bluez

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

此致

2 个答案:

答案 0 :(得分:1)

您可以使用

查看蓝牙IdleTimeout
grep meout /etc/bluetooth/input.conf

并使用

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

并撤消

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

我不知道bluez的独立超时

答案 1 :(得分:1)

我找到了一个有效的解决方案。显然,问题在于内核。此处,自动连接超时设置为2秒,低于某些设备所需的时间。 - 解决方案是在内核中添加一个小补丁,构建它并使用它。 这可以按照此处的说明完成:https://www.raspberrypi.org/documentation/linux/kernel/building.md 从git克隆内核后,修改文件include / net / bluetooth / hci.h 需要更改的行看起来像这样

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

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