Debian SqueezeまたはWheezyで、起動時に(または接続されているときはいつでも)USB Bluetoothドングルを検出可能にしたいと思います。
最初にhciconfig
を使用すると、このモードでデバイスが表示されます。
UP RUNNING PSCAN
hciconfig hci0 piscan
の使用は手動で正常に機能します。これにより、デバイスがこのモードになります(デバイスを検出できます)。
UP RUNNING PSCAN ISCAN
いくつかのドキュメント(たとえば、 Debian wiki または このUbuntuの問題 )は、/etc/bluetooth/hcid.conf
の設定をポイントしています。このファイルでのiscan enable; pscan enable;
の設定は機能するはずです。残念ながら、私が使用しているBluezのバージョン(4.x)には、このファイルがありません(bluez-compat
パッケージがインストールされている場合でも)。
/etc/bluetooth/main.conf
さんのコメント:
# How long to stay in discoverable mode before going back to non-discoverable
# The value is in seconds. Default is 180, i.e. 3 minutes.
# 0 = disable timer, i.e. stay discoverable forever
DiscoverableTimeout = 0
ただし、これは機能しません。デバイスはPSCAN
モードで起動しますが、PSCAN ISCAN
では起動しません。
手動でも、 Debian wiki から取得した次のコマンドは機能しません。
dbus-send --system --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable
起動時に(またはドングルが挿入されたときに)デバイスをPSCAN ISCAN
モードに設定するための推奨される方法はありますか?
あなたはこれを試すことができます:
Bashコマンドhciconfig hci0 piscan
を/etc/rc.local
に追加します( "exit 0"の最終行の前)。
注:/etc/rc.local
に追加したbashコマンドは、環境変数がまだ読み込まれていなくても実行されます。絶対パスを使用しました!
現時点では Debian Wikiの別のオプション があります:
hciconfig hci0 piscan
これでうまくいきます。
残念ながら、ローカルデバイスのピンコードを設定する方法はまだわかりません。 (それは私の軽い英語の知識かもしれませんが、そこにある多くの文書で、私は彼らが話しているピンが混乱しています)。
bluetooth-agent
の引数はPINを設定します。
/etc/inittab
に以下を追加します(nano
を使用し、独自のものに置き換えます)。
#Bluetooth Channel 22
PA22:23:respawn:/usr/bin/bluetooth-agent 1234
BS22:23:once:/usr/bin/sdptool add --channel=22 SP
BT22:23:once:/usr/bin/rfcomm -r watch 0 22 /sbin/agetty -L rfcomm0 115200
こちらもご覧ください question 。