2017-10-12 50 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秒)。 按照上面的說明構建內核,並且事情似乎正常工作。 如果有人有一個更好的解決方案,不需要建立一個新的內核,我想聽到它,因爲這個過程有點複雜。