web-dev-qa-db-ja.com

Linuxコマンドラインhowtoは、ピンなしでbluetoothデバイスのペアリングを受け入れます

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

bluez-simple-agentは、マウスなどのいくつかの単純なデバイスを除き、ピンを必要とするようです。

32

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

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

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

10
Eric

PINは実際には古くからあるペアリング方法で、現在は Legacy Pairing と呼ばれています。セキュアシンプルペアリングモードは、最新のBluetooth v2.1以降で利用可能ですBluetoothデバイス: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

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

27
Paul Poulsen

手順(CentOs)に従います。

  1. bluetoothctl
  2. デバイス
  3. スキャンする
  4. ペア34:88:5D:51:5A:95(34:88:5D:51:5A:95は私のデバイスコードです。あなたのものに置き換えてください)
  5. 信頼34:88:5D:51:5A:95
  6. 接続34:88:5D:51:5A:95

詳細が必要な場合 https://www.youtube.com/watch?v=CB1E4Ir3AV4

10
hao ran

これは私にとって魅力のように機能しました。もちろん、スーパーユーザー権限が必要です:-)

# hcitool cc <target-bdaddr>; hcitool auth <target-bdaddr>

<target-bdaddr>を取得するには、以下のコマンドを発行します。
$ hcitool scan

注:#および$はコマンドラインプロンプトなので除外します。

礼儀

8

Ubuntu 14.04およびAndroid try:

hcitool scan #get hardware address
Sudo bluetooth-agent PIN HARDWARE-ADDRESS

PINダイアログがAndroidデバイスにポップアップします。同じPINを入力してください。

注意: Sudo apt-get install bluez-utilsが必要になる場合があります。

注2:PINダイアログが表示されない場合は、最初にAndroidからペアリングを試みてください(PINが間違っているため失敗します)。その後、上記のように再試行します。

7
Jack Miller
~ $ hciconfig noauth

これでうまくいくはずです(bluez 5.23を使用していますが、これ以上シンプルでエレガントなblue-utilsはありません)。ただし、電源を切ってから電源を入れた後、認証が再度必要になるため、変更をhciconfigに永続的にする方法を探しています。これまでのところ、hciconfigの変更は、リブートしても同じままです。電源が切れたときにのみ元に戻ります。誰かがhciconfigを永続的にする方法を見つけたなら、私に知らせてください!

0
Darren Ng