Я только что купил новые наушники Bluetooth, Marley Exodus ANC, но они не сопрягаются с моим ПК (Intel NUC) в Ubuntu 21.04. При попытке подключения из настроек GNOME он пытается выполнить сопряжение, но просто отказывается без сообщения об ошибке.
Я также пытался вручную подключиться с помощью bluetoothctl
:
$ bluetoothctl
[bluetooth]# show
Controller 04:EA:56:86:78:50 (public)
Name: saibot
Alias: saibot
Class: 0x003c0104
Powered: yes
Discoverable: no
DiscoverableTimeout: 0x00000000
Pairable: yes
UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: OBEX Object Push (00001105-0000-1000-8000-00805f9b34fb)
UUID: Message Access Server (00001132-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: IrMC Sync (00001104-0000-1000-8000-00805f9b34fb)
UUID: Vendor specific (00005005-0000-1000-8000-0002ee000001)
UUID: Headset (00001108-0000-1000-8000-00805f9b34fb)
UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Phonebook Access Server (0000112f-0000-1000-8000-00805f9b34fb)
UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
UUID: OBEX File Transfer (00001106-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d0538
Discovering: no
Roles: central
Roles: peripheral
Roles: central-peripheral
Advertising Features:
ActiveInstances: 0x00 (0)
SupportedInstances: 0x06 (6)
SupportedIncludes: tx-power
SupportedIncludes: appearance
SupportedIncludes: local-name
SupportedSecondaryChannels: 1M
SupportedSecondaryChannels: 2M
SupportedSecondaryChannels: Coded
[bluetooth]# scan on
Discovery started
[NEW] Device 00:1E:7C:89:26:C8 Exodus ANC
[bluetooth]# connect 00:1E:7C:89:26:C8
Attempting to connect to 00:1E:7C:89:26:C8
Failed to connect: org.bluez.Error.Failed
[bluetooth]# pair 00:1E:7C:89:26:C8
Attempting to pair with 00:1E:7C:89:26:C8
Failed to pair: org.bluez.Error.AuthenticationTimeout
Я также искал системные ошибки:
$ sudo journalctl -xb
bluetoothd[1208]: 00:1E:7C:89:26:C8: error updating services: Function not implemented (38)
$ dmesh
Bluetooth: hci0: advertising data len corrected
У меня есть другие наушники Bluetooth, и я могу сопрягать их просто отлично. И я могу сопрягать Exodus ANC с моим телефоном Android. Но я заметил, что при сопряжении Exodus ANC с Android, Android отображает PIN-код от Exodus ANC, а затем я могу подтвердить сопряжение. Возможно, этот PIN-код вызывает сбой сопряжения в Ubuntu. Что я могу сделать для сопряжения этих наушников в Ubuntu?
$ dpkg -l | grep blue
ii bluez 5.56-0ubuntu4.2 amd64 Bluetooth tools and daemons
ii bluez-cups 5.56-0ubuntu4.2 amd64 Bluetooth printer driver for CUPS
ii bluez-obexd 5.56-0ubuntu4.2 amd64 bluez obex daemon
ii gir1.2-gnomebluetooth-1.0:amd64 3.34.5-1 amd64 Introspection data for GnomeBluetooth
ii gnome-bluetooth 3.34.5-1 amd64 GNOME Bluetooth tools
ii libbluetooth3:amd64 5.56-0ubuntu4.2 amd64 Library to use the BlueZ Linux Bluetooth stack
ii libgnome-bluetooth13:amd64 3.34.5-1 amd64 GNOME Bluetooth tools - support library
rc libkf5bluezqt-data 5.80.0-0ubuntu1 all data files for bluez-qt
ii pulseaudio-module-bluetooth 1:14.2-1ubuntu1.1 amd64 Bluetooth module for PulseAudio sound server
ii python-bluez 0.22+really0.22-1build2 amd64 Python 2 wrappers around BlueZ for rapid bluetooth development
ОБНОВЛЕНИЕ:
Добавление дополнительной отладочной информации в соответствии с инструкциями fabatera.
$ sudo systemctl stop bluetooth
$ sudo bluetoothd -d -C -E -n
bluetoothd[122796]: Bluetooth daemon 5.56
bluetoothd[122796]: src/agent.c:agent_ref() 0x5592e4338bd0: ref=2
bluetoothd[122796]: src/device.c:bonding_request_new() Requesting bonding for 00:1E:7C:89:26:C8
bluetoothd[122796]: src/agent.c:agent_ref() 0x5592e4338bd0: ref=3
bluetoothd[122796]: src/agent.c:agent_unref() 0x5592e4338bd0: ref=2
bluetoothd[122796]: src/adapter.c:suspend_discovery()
bluetoothd[122796]: src/adapter.c:adapter_bonding_attempt() hci0 bdaddr 00:1E:7C:89:26:C8 type 0 io_cap 0x04
bluetoothd[122796]: src/adapter.c:connect_failed_callback() hci0 00:1E:7C:89:26:C8 status 8
bluetoothd[122796]: plugins/policy.c:conn_fail_cb() status 8
bluetoothd[122796]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 00:1E:7C:89:26:C8 type 0 status 0x8
bluetoothd[122796]: src/device.c:device_bonding_complete() bonding 0x5592e433eb20 status 0x08
bluetoothd[122796]: src/device.c:device_bonding_failed() status 8
bluetoothd[122796]: src/agent.c:agent_unref() 0x5592e4338bd0: ref=1
bluetoothd[122796]: src/adapter.c:resume_discovery()
bluetoothd[122796]: src/adapter.c:pair_device_complete() Timeout (0x08)
bluetoothd[122796]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 00:1E:7C:89:26:C8 type 0 status 0x8
bluetoothd[122796]: src/device.c:device_bonding_complete() bonding (nil) status 0x08
bluetoothd[122796]: src/device.c:device_bonding_failed() status 8
bluetoothd[122796]: src/adapter.c:resume_discovery()
bluetoothd[122796]: src/device.c:connect_profiles() /org/bluez/hci0/dev_00_1E_7C_89_26_C8 (all), client :1.829
bluetoothd[122796]: src/device.c:connect_profiles() Resolving services for /org/bluez/hci0/dev_00_1E_7C_89_26_C8
bluetoothd[122796]: src/adapter.c:connect_failed_callback() hci0 00:1E:7C:89:26:C8 status 8
bluetoothd[122796]: plugins/policy.c:conn_fail_cb() status 8
bluetoothd[122796]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 00:1E:7C:89:26:C8 type 0 status 0x8
bluetoothd[122796]: src/device.c:device_bonding_complete() bonding (nil) status 0x08
bluetoothd[122796]: src/device.c:device_bonding_failed() status 8
bluetoothd[122796]: src/adapter.c:resume_discovery()
bluetoothd[122796]: src/device.c:search_cb() 00:1E:7C:89:26:C8: error updating services: Function not implemented (38)
bluetoothd[122796]: src/device.c:device_svc_resolved() /org/bluez/hci0/dev_00_1E_7C_89_26_C8 err -38
$ sudo btmon
Bluetooth monitor ver 5.56
= Note: Linux version 5.11.0-25-generic (x86_64)
= Note: Bluetooth subsystem version 2.22
= New Index: 04:EA:56:86:78:50 (Primary,USB,hci0)
= bluetoothd: Bluetooth daemon 5.56
@ MGMT Open: bluetoothd (privileged) version 1.19
# pair attempt:
@ MGMT Command: Pair Device (0x0019) plen 8 {0x0001} [hci0] 154.081112
BR/EDR Address: 00:1E:7C:89:26:C8 (Taiwick Limited)
Capability: KeyboardDisplay (0x04)
< HCI Command: Create Connection (0x01|0x0005) plen 13 #141 [hci0] 154.081177
Address: 00:1E:7C:89:26:C8 (Taiwick Limited)
Packet type: 0xcc18
DM1 may be used
DH1 may be used
DM3 may be used
DH3 may be used
DM5 may be used
DH5 may be used
Page scan repetition mode: R2 (0x02)
Page scan mode: Mandatory (0x00)
Clock offset: 0x0000
Role switch: Allow slave (0x01)
> HCI Event: Command Status (0x0f) plen 4 #142 [hci0] 154.197141
Create Connection (0x01|0x0005) ncmd 1
Status: Success (0x00)
> HCI Event: Connect Complete (0x03) plen 11 #143 [hci0] 186.684630
Status: LMP Response Timeout / LL Response Timeout (0x22)
Handle: 65535
Address: 00:1E:7C:89:26:C8 (Taiwick Limited)
Link type: ACL (0x01)
Encryption: Disabled (0x00)
@ MGMT Event: Connect Failed (0x000d) plen 8 {0x0001} [hci0] 186.684678
BR/EDR Address: 00:1E:7C:89:26:C8 (Taiwick Limited)
Status: Timeout (0x08)
@ MGMT Event: Command Complete (0x0001) plen 10 {0x0001} [hci0] 186.684696
Pair Device (0x0019) plen 7
Status: Timeout (0x08)
BR/EDR Address: 00:1E:7C:89:26:C8 (Taiwick Limited)
# connect attempt:
< HCI Command: Create Connection (0x01|0x0005) plen 13 #144 [hci0] 818.218687
Address: 00:1E:7C:89:26:C8 (Taiwick Limited)
Packet type: 0xcc18
DM1 may be used
DH1 may be used
DM3 may be used
DH3 may be used
DM5 may be used
DH5 may be used
Page scan repetition mode: R2 (0x02)
Page scan mode: Mandatory (0x00)
Clock offset: 0x0000
Role switch: Allow slave (0x01)
> HCI Event: Command Status (0x0f) plen 4 #145 [hci0] 818.333626
Create Connection (0x01|0x0005) ncmd 1
Status: Success (0x00)
> HCI Event: Connect Complete (0x03) plen 11 #146 [hci0] 850.041050
Status: LMP Response Timeout / LL Response Timeout (0x22)
Handle: 65535
Address: 00:1E:7C:89:26:C8 (Taiwick Limited)
Link type: ACL (0x01)
Encryption: Disabled (0x00)
@ MGMT Event: Connect Failed (0x000d) plen 8 {0x0001} [hci0] 850.041111
BR/EDR Address: 00:1E:7C:89:26:C8 (Taiwick Limited)
Status: Timeout (0x08)
= bluetoothd: src/device.c:search_cb() 00:1E:7C:89:26:C8: error updating services: Function not implemented (38) 850.045357
$ bluetoothctl
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# agent on
Agent is already registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# info 00:1E:7C:89:26:C8
Device 00:1E:7C:89:26:C8 (public)
Name: Exodus ANC
Alias: Exodus ANC
Class: 0x00240404
Icon: audio-card
Paired: no
Trusted: yes
Blocked: no
Connected: no
LegacyPairing: no
[bluetooth]# pair 00:1E:7C:89:26:C8
Attempting to pair with 00:1E:7C:89:26:C8
Failed to pair: org.bluez.Error.AuthenticationTimeout
[bluetooth]# connect 00:1E:7C:89:26:C8
Attempting to connect to 00:1E:7C:89:26:C8
Failed to connect: org.bluez.Error.Failed
UPDATE 2:
Я только что протестировал эти наушники на ноутбуке Dell Latitude 5280 под управлением Ubuntu 20.04, и они отлично сопрягаются! Ноутбук Dell использует Intel Wireless Bluetooth
(информация об устройстве не дает больше информации). Мой Intel NUC имеет Bluetooth 9460/9560 Jefferson Peak
, также от Intel, с которым сопряжение не удается. У меня также есть Lenovo Thinkpad T14, но и там сопряжение не удается. Поэтому я купил USB Bluetooth-ключ, ASUS Bluetooth Adapter USB-BT500
, но сопряжение по-прежнему не удается. Какой Bluetooth-адаптер мне нужен?
UPDATE 3:
Очевидно, больше людей испытывают проблемы с этими Bluetooth-адаптерами:
Попробуйте включить дополнительную информацию здесь:
Запустите демон в debug, compat, experimental
systemctl stop bluetooth
bluetoohd -d -C -E -n
В другом терминале:
btmon
В другом терминале:
bluetoothctl
power on
pairable on
agent KeyboardOnly
default-agent
info <head phone mac address>
pair <head phone mac address>