web-dev-qa-db-ja.com

起動時にBluetooth検出を有効にする

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モードに設定するための推奨される方法はありますか?

3
Bruno

あなたはこれを試すことができます:

Bashコマンドhciconfig hci0 piscan/etc/rc.localに追加します( "exit 0"の最終行の前)。

注:/etc/rc.localに追加したbashコマンドは、環境変数がまだ読み込まれていなくても実行されます。絶対パスを使用しました!

2
Jurgen

現時点では Debian Wikiの別のオプション があります:

hciconfig hci0 piscan

これでうまくいきます。

残念ながら、ローカルデバイスのピンコードを設定する方法はまだわかりません。 (それは私の軽い英語の知識かもしれませんが、そこにある多くの文書で、私は彼らが話しているピンが混乱しています)。

0
tovis

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

0
bob