ピンを必要とせずにLinuxでデバイスをペアリングする方法はありますか(テスト目的のため、ルートアクセスがあると仮定して、人間の操作なしで行う必要があります)?
bluez-simple-agent は、マウスなどの一部の単純なデバイスを除いて、ピンが必要なようです。
ピンを必要とせずにLinuxでデバイスをペアリングする方法はありますか(テスト目的のため、ルートアクセスがあると仮定して、人間の操作なしで行う必要があります)?
bluez-simple-agent は、マウスなどの一部の単純なデバイスを除いて、ピンが必要なようです。
PIN の入力は、実際には旧式のペアリング方法であり、現在はレガシー ペアリングと呼ばれています。セキュア シンプル ペアリング モードは、最新の Bluetooth デバイスで構成される Bluetooth v2.1 以降で利用できます。SSPMode 認証は Bluetooth プロトコル スタックによって処理されるため、ユーザーの操作なしで機能します。
デバイスに接続する方法は次のとおりです。
# hciconfig hci0 sspmode 1
# hciconfig hci0 sspmode
hci0: Type: BR/EDR Bus: USB
BD Address: AA:BB:CC:DD:EE:FF ACL MTU: 1021:8 SCO MTU: 64:1
Simple Pairing mode: Enabled
# hciconfig hci0 piscan
# sdptool add SP
# hcitool scan
00:11:22:33:44:55 My_Device
# rfcomm connect /dev/rfcomm0 00:11:22:33:44:55 1 &
Connected /dev/rfcomm0 to 00:11:22:33:44:55 on channel 1
Press CTRL-C for hangup
これにより、デバイスへのシリアル接続が確立されます。
/etc/bluetooth/hcid.conf でセキュリティを none に設定してみてください
http://linux.die.net/man/5/hcid.conf
これはおそらく HCI デバイス (マウス、キーボード、スペースボールなど) でのみ機能します。別の種類のデバイスを使用している場合は、おそらく異なるが同様の設定を変更する必要があります。
Ubuntu 14.04 および Android の場合:
hcitool scan #get hardware address
sudo bluetooth-agent PIN HARDWARE-ADDRESS
Android デバイスに PIN ダイアログが表示されます。同じPINを入力してください。
注:sudo apt-get install bluez-utils
必要な場合があります。
注 2: PIN ダイアログが表示されない場合は、まず Android からペアリングを試みてください (PIN が間違っているため失敗します)。その後、上記の方法で再試行してください。
~ $ hciconfig noauth
これでうまくいくはずです (私は bluez 5.23 を使用していますが、simple-egent と blue-utils はもうありません)。ただし、電源を切ってから電源を入れた後、認証が再度必要になるため、変更を hciconfig に永続化する方法を探しています。これまでのところ、hciconfig の変更は、再起動しても同じままです。停電時のみ元に戻ります。hciconfig を永続的にする方法を見つけた人がいたら、教えてください!