我有一个Raspberry Pi 3B(内置蓝牙)。 使用bluetoothctl时,我可以扫描设备并轻松找到我正在寻找的设备。 但是,在尝试配对时,我经常会遇到“无法配对:org.bluez.ErrorEautenticationFailed”。 有人告诉我这可能是因为我正在尝试连接的设备的广告间隔为10.2秒,而Bluez在2秒后发出超时。 是否正确,Bluez,默认情况下,在2秒后超时,如果是,我将如何更改?
此致
答案 0 :(得分:1)
您可以使用
查看蓝牙IdleTimeoutgrep 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 需要更改的行看起来像这样
将值“2000”更改为“20000”(超时为20秒,而不是2秒)。 按照上面的说明构建内核,似乎工作正常。 如果有人有更好的解决方案,而不需要构建新的内核,我想听听,因为这个过程有点复杂。