デバイスの説明
私はワイヤレスxbox oneコントローラである新しいゲームパッドを購入しました。正確なバリアント名を指定する方法はわかりませんが、プロの製品ではなく元の製品で、dpadがいっぱいになり、USBポートがあります。 Cポートで見るとかなり最近モデルのようです。
以前のコントローラーは素晴らしい作品でした。特定のコントローラが何であるかはわかりませんが、Dpadがいっぱいではなく、マイクロUSBポートもあります。
問題
新しいコントローラーを使用してペアリングして接続しようとすると、bluetoothdでエラーメッセージが表示され、接続が確立された直後に接続が発生しなくなったり切断されたりします。
私が使用するbluetoothctlコマンドは次のとおりです。
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:1A:7D:DA:71:13 Discovering: yes
[NEW] Device 44:16:22:7A:58:B3 Xbox Wireless Controller
[CHG] Device 44:16:22:7A:58:B3 ManufacturerData Key: 0x0006
[CHG] Device 44:16:22:7A:58:B3 ManufacturerData Value:
03 00 80 ...
[CHG] Device 44:16:22:7A:58:B3 ManufacturerData Key: 0x0006
[CHG] Device 44:16:22:7A:58:B3 ManufacturerData Value:
00 .
[bluetooth]# scan off
Discovery stopped
[CHG] Device 44:16:22:7A:58:B3 TxPower is nil
[CHG] Device 44:16:22:7A:58:B3 RSSI is nil
[CHG] Controller 00:1A:7D:DA:71:13 Discovering: no
[Xbox Wireless Controller]# pair 44:16:22:7A:58:B3
Attempting to pair with 44:16:22:7A:58:B3
[CHG] Device 44:16:22:7A:58:B3 Paired: yes
Pairing successful
[CHG] Device 44:16:22:7A:58:B3 Connected: no
[bluetooth]# trust 44:16:22:7A:58:B3
[CHG] Device 44:16:22:7A:58:B3 Trusted: yes
Changing 44:16:22:7A:58:B3 trust succeeded
[bluetooth]# connect 44:16:22:7A:58:B3
Attempting to connect to 44:16:22:7A:58:B3
Failed to connect: org.bluez.Error.Failed
bluetoothdが出力するエラー(次から始まります/usr/lib/bluetooth/bluetoothd -n
:
bluetoothd[354718]: profiles/deviceinfo/deviceinfo.c:read_pnpid_cb() Error reading PNP_ID value: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:info_read_cb() HID Information read failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_map_read_cb() Report Map read failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: src/service.c:service_accept() input-hog profile accept failed for 44:16:22:7A:58:B3
bluetoothd[354718]: profiles/input/hog-lib.c:info_read_cb() HID Information read failed: Encryption required before read/write
bluetoothd[354718]: profiles/input/hog-lib.c:report_map_read_cb() Report Map read failed: Encryption required before read/write
bluetoothd[354718]: profiles/input/hog-lib.c:report_map_read_cb() Report Map read failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/battery/battery.c:batt_io_ccc_written_cb() Battery Level: notifications not enabled Request attribute has encountered an unlikely error
ログはデフォルトで同様のエラーメッセージでスパム処理されます。
完全なbluetoothctlセッションログ:http://tcp.st/eaesd
完全なbluetoothd出力(ペアリングを試みる前にいくつかの改行を追加しました):http://tcp.st/vx933
(リンクは2021年11月20日まで有効)
2つの異なるArch Linuxシステムでこれを試しましたが、結果は似ていました。しかし、Androidデバイスとペアリングすると完璧に動作するため、コントローラ自体が正しく動作すると仮定します。
実際の質問
これらのエラーは実際に何を意味しますか? 「予期しないエラー」は、最も説明的なエラーメッセージではありません。詳細情報をどのように見つけることができますか? 「読み書きする前に暗号化が必要です」というエラーもあります。これが必要な場合、Bluetoothが暗号化されないのはなぜですか?この要件をオフにできますか?それとも契約の一部ですか?
理想的には、私の質問は「この問題をどのように解決しますか?」です。しかし、答えを知っている人がいるかどうかはわかりませんので、この問題をデバッグする方法についていくつかのヒントをいただきありがとうございます。
答え1
それでついに成功するようになりました。解決策は、次の行をセクションに追加すること/etc/bluetooth/main.conf
です[General]
。
Privacy = device
それでも完璧に動作しません。ボタンを押した後、登録中に顕著な遅延がありますが、接続は確立されます。