39

ピンを必要とせずにLinuxでデバイスをペアリングする方法はありますか(テスト目的のため、ルートアクセスがあると仮定して、人間の操作なしで行う必要があります)?

bluez-simple-agent は、マウスなどの一部の単純なデバイスを除いて、ピンが必要なようです。

4

7 に答える 7

34

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

これにより、デバイスへのシリアル接続が確立されます。

于 2012-10-24T17:31:47.660 に答える
11

/etc/bluetooth/hcid.conf でセキュリティを none に設定してみてください

http://linux.die.net/man/5/hcid.conf

これはおそらく HCI デバイス (マウス、キーボード、スペースボールなど) でのみ機能します。別の種類のデバイスを使用している場合は、おそらく異なるが同様の設定を変更する必要があります。

于 2012-10-24T00:03:47.557 に答える
7

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 が間違っているため失敗します)。その後、上記の方法で再試行してください。

于 2015-05-16T18:50:24.037 に答える
1
~ $ hciconfig noauth

これでうまくいくはずです (私は bluez 5.23 を使用していますが、simple-egent と blue-utils はもうありません)。ただし、電源を切ってから電源を入れた後、認証が再度必要になるため、変更を hciconfig に永続化する方法を探しています。これまでのところ、hciconfig の変更は、再起動しても同じままです。停電時のみ元に戻ります。hciconfig を永続的にする方法を見つけた人がいたら、教えてください!

于 2016-11-09T03:28:04.110 に答える