Bluetooth

配對 Airpods 時,Bluez 卡住了身份驗證

  • September 2, 2021

按住airpod按鈕直到它的LED變白並閃爍後,我嘗試配對

[bluetooth]# pair <mac-address>

返回

Attempting to pair with 18:F1:D8:36:53:FB

但是,它只是在那裡停留了很長時間,直到 airpod 的 LED 再次變為綠色,我收到以下錯誤

Failed to pair: org.bluez.Error.AuthenticationCanceled

這讓我相信它以某種方式停留在身份驗證步驟。

我的 airpod 能夠在我的其他 ubuntu 機器和我的 android 手機上配對,所以我相信這是這台電腦的藍牙設置的問題。

的輸出btmon

> HCI Event: LE Meta Event (0x3e) plen 47                                                                                                                                                    #3020 [hci0] 511.195393
     LE Extended Advertising Report (0x0d)
       Num reports: 1
       Entry 0
         Event type: 0x0010
           Props: 0x0010
             Use legacy advertising PDUs
           Data status: Complete
         Legacy PDU Type: ADV_NONCONN_IND (0x0010)
         Address type: Public (0x00)
         Address: 18:F1:D8:36:53:FB (Apple, Inc.)
         Primary PHY: LE 1M
         Secondary PHY: No packets
         SID: no ADI field (0xff)
         TX power: 0 dBm
         RSSI: -50 dBm (0xce)
         Periodic advertising invteral: 0.00 msec (0x0000)
         Direct address type: Public (0x00)
         Direct address: 00:00:00:00:00:00 (OUI 00-00-00)
         Data length: 0x15
       14 ff 4c 00 07 0f 00 02 20 18 f1 d8 36 53 fb 15  ..L..... ...6S..
       e4 e4 52 01 00                                   ..R..

> HCI Event: LE Meta Event (0x3e) plen 47                                                                                                                                                      #187 [hci0] 14.798946
     LE Extended Advertising Report (0x0d)
       Num reports: 1
       Entry 0
         Event type: 0x0010
           Props: 0x0010
             Use legacy advertising PDUs
           Data status: Complete
         Legacy PDU Type: ADV_NONCONN_IND (0x0010)
         Address type: Public (0x00)
         Address: 18:F1:D8:36:53:FB (Apple, Inc.)
         Primary PHY: LE 1M
         Secondary PHY: No packets
         SID: no ADI field (0xff)
         TX power: 0 dBm
         RSSI: -55 dBm (0xc9)
         Periodic advertising invteral: 0.00 msec (0x0000)
         Direct address type: Public (0x00)
         Direct address: 00:00:00:00:00:00 (OUI 00-00-00)
         Data length: 0x15
       14 ff 4c 00 07 0f 00 02 20 18 f1 d8 36 53 fb 15  ..L..... ...6S..
       64 e1 52 01 00                                   d.R..

最終輸出為

= bluetoothd: Pair device timed out for hci0                                                                                                                                                       [hci0] 577.933884
@ MGMT Command: Cancel Pair Device (0x001a) plen 7                                                                                                                                        {0x0001} [hci0] 577.933864
       LE Address: 18:F1:D8:36:53:FB (Apple, Inc.)
@ MGMT Event: Command Complete (0x0001) plen 10                                                                                                                                           {0x0001} [hci0] 577.933875
     Pair Device (0x0019) plen 7
       Status: Cancelled (0x10)
       LE Address: 18:F1:D8:36:53:FB (Apple, Inc.)
@ MGMT Event: Command Complete (0x0001) plen 10                                                                                                                                           {0x0001} [hci0] 577.933886
     Cancel Pair Device (0x001a) plen 7
       Status: Success (0x00)
       LE Address: 18:F1:D8:36:53:FB (Apple, Inc.)

/var/log/syslog輸出

bluetoothd[1069]: src/adapter.c:device_found_callback() hci0 addr 18:F1:D8:36:53:FB, rssi -47 flags 0x0004 eir_len 21
bluetoothd[1069]: src/device.c:device_set_legacy() legacy 0
bluetoothd[1069]: src/device.c:device_set_rssi_with_delta() rssi -47 delta 8
bluetoothd[1069]: src/device.c:device_set_flags() flags 0
bluetoothd[1069]: src/agent.c:agent_ref() 0x556fdd8f6a90: ref=2
bluetoothd[1069]: src/device.c:bonding_request_new() Requesting bonding for 18:F1:D8:36:53:FB
bluetoothd[1069]: src/agent.c:agent_ref() 0x556fdd8f6a90: ref=3
bluetoothd[1069]: src/agent.c:agent_unref() 0x556fdd8f6a90: ref=2
bluetoothd[1069]: src/adapter.c:suspend_discovery()
bluetoothd[1069]: src/adapter.c:adapter_bonding_attempt() hci0 bdaddr 18:F1:D8:36:53:FB type 1 io_cap 0x04
bluetoothd[1069]: src/adapter.c:suspend_discovery_complete() status 0x00
bluetoothd[1069]: src/adapter.c:discovering_callback() hci0 type 7 discovering 0 method 0
bluetoothd[1069]: Pair device timed out for hci0

這個答案解決了我的問題。ControllerMode = bredr特別是,我不得不設置/etc/bluetooth/main.conf

引用自:https://unix.stackexchange.com/questions/595695