2017-10-12 23 views
1

私はラズベリーパイ3B(ブルートゥース内蔵)を持っています。 bluetoothctlを使用すると、デバイスをスキャンして、探しているデバイスを簡単に見つけることができます。 しかし、ペアにしようとすると、私はいつも "Failed to pair:org.bluez.ErrorEautenticationFailed"を取得します。 私が接続しようとしているデバイスの広告間隔は10.2秒ですが、Bluezは2秒後にタイムアウトします。 Bluezはデフォルトで2秒後にタイムアウトしていますが、もしそうなら、どうすれば変更できますか?Raspberry Pi 3のBluetoothctlペアリングタイムアウト

よろしく

+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 

と無効タイムアウト付きのBluetoothのIdleTimeoutを表示することができ、私は知らない

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

を元に戻しますインディアbluezの独立タイムアウト

0

私は解決した解決策を見つけました。どうやら、問題はカーネルにあります。ここでは、自動接続タイムアウトは2秒に設定されています。これは、一部のデバイスに必要な時間よりも短くなっています。 - 解決策は、小さなパッチをカーネルに追加し、ビルドして使用することです。 このここでの指示に従うことによって行うことができます。https://www.raspberrypi.org/documentation/linux/kernel/building.md のgitからカーネルのクローンを作成した後、ファイルを変更/ネット/ブルートゥース/ hci.h を含め、この

のように見えるが、HCI_LE_AUTOCONN_TIMEOUTのmsecs_to_jiffiesを定義を変更する必要がある行(2000年)/ * 2秒*/

"2000"の値を "20000"に変更します(タイムアウトは2秒ではなく20秒にします)。 上記の手順に従ってカーネルをビルドしてください。うまくいくようです。 誰かが新しいカーネルの構築を必要としない、より良い解決策を持っていれば、このプロセスは少し精巧であるので、私はそれを聞きたいと思います。