蓝牙耳机不断重新连接(Sennheiser Momentum TW 2)

蓝牙耳机不断重新连接(Sennheiser Momentum TW 2)

我目前正在运行 Kubuntu 20.04,并尝试连接新耳机(Sennheiser Momentum true wireless 2),但耳机连接后一秒钟断开连接,然后再次尝试连接,依此类推。我尝试连接其他耳机(Samsung Gear IconX2018),它工作正常。PC 上的蓝牙适配器和笔记本电脑蓝牙也是如此。还从 USB 棒运行了 Win7 便携式电脑,它找到了 MS 的驱动程序,连接正常。

bluetootsctl 输出:

 Agent registered
[CHG] Controller 00:1A:7D:DA:71:09 Discovering: yes
[NEW] Device 00:1B:66:BC:2E:F9 MOMENTUM TW 2
[CHG] Device 00:1B:66:BC:2E:F9 RSSI: -66
[CHG] Device 00:1B:66:BC:2E:F9 TxPower: -12
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000180f-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000fdce-0000-1000-8000-00805f9b34fb
[NEW] Device B0:FA:EB:2F:9E:3D B0FAEB2F9E3C
[NEW] Device D0:20:92:CF:BE:8B fenix 3
[CHG] Device 00:1B:66:BC:2E:F9 RSSI: -93
[CHG] Device 00:1B:66:BC:2E:F9 RSSI: -59
[NEW] Device F4:7D:EF:FF:9E:87 Galaxy Fitⓔ (9E87)
[CHG] Controller 00:1A:7D:DA:71:09 Discovering: no
[CHG] Device F4:7D:EF:FF:9E:87 RSSI is nil
[CHG] Device D0:20:92:CF:BE:8B RSSI is nil
[CHG] Device B0:FA:EB:2F:9E:3D RSSI is nil
[CHG] Device 00:1B:66:BC:2E:F9 TxPower is nil
[CHG] Device 00:1B:66:BC:2E:F9 RSSI is nil
[CHG] Device 00:1B:66:BC:2E:F9 Connected: yes
[CHG] Device 00:1B:66:BC:2E:F9 Modalias: usb:v1377p7001d0480
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000110a-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device 00:1B:66:BC:2E:F9 UUIDs: 0000eb03-d102-11e1-9b23-00025b00a5a5
[CHG] Device 00:1B:66:BC:2E:F9 ServicesResolved: yes
[CHG] Device 00:1B:66:BC:2E:F9 Paired: yes
[CHG] Device 00:1B:66:BC:2E:F9 Trusted: yes
[CHG] Device 00:1B:66:BC:2E:F9 ServicesResolved: no
[CHG] Device 00:1B:66:BC:2E:F9 Connected: no
[CHG] Device 00:1B:66:BC:2E:F9 Connected: yes
[CHG] Device 00:1B:66:BC:2E:F9 Connected: no
[CHG] Device 00:1B:66:BC:2E:F9 Connected: yes
[CHG] Device 00:1B:66:BC:2E:F9 Connected: no

请参阅lspci-knn| grep 网络-A3; lsusb:

Bus 002 Device 007: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 002 Device 006: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 005: ID 046d:0843 Logitech, Inc. Webcam C930e
Bus 002 Device 004: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 002 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 046d:c333 Logitech, Inc. Gaming Keyboard G610
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0bda:5411 Realtek Semiconductor Corp. 
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 010 Device 003: ID 0bda:0411 Realtek Semiconductor Corp. 
Bus 010 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

journalctl -u 蓝牙| 尾部:

 bluetoothd[965]: Endpoint registered: sender=:1.77 path=/MediaEndpoint/A2DPSource/sbc
bluetoothd[965]: /org/bluez/hci0/dev_88_BD_45_D1_39_35/sep2/fd0: fd(58) ready
bluetoothd[965]: a2dp-source profile connect failed for 00:1B:66:BC:2E:F9: Device or resource busy
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: connect error: Connection refused (111)
bluetoothd[965]: connect error: Connection refused (111)
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)

systemctl 状态蓝牙:

● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-07-06 20:25:17 CEST; 15h ago
       Docs: man:bluetoothd(8)
   Main PID: 965 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 14263)
     Memory: 3.5M
     CGroup: /system.slice/bluetooth.service
             └─965 /usr/lib/bluetooth/bluetoothd

bluetoothd[965]: connect error: Connection refused (111)
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
bluetoothd[965]: No reply to Start request
bluetoothd[965]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)

dpkg -l | grep 蓝色

ii  bluedevil                                     4:5.18.4.1-0ubuntu1                         amd64        KDE Bluetooth stack
ii  bluez                                         5.53-0ubuntu3                               amd64        Bluetooth tools and daemons
ii  bluez-cups                                    5.53-0ubuntu3                               amd64        Bluetooth printer driver for CUPS
ii  bluez-obexd                                   5.53-0ubuntu3                               amd64        bluez obex daemon
ii  libbluetooth3:amd64                           5.53-0ubuntu3                               amd64        Library to use the BlueZ Linux Bluetooth stack
ii  libkf5bluezqt-data                            5.68.0-0ubuntu1                             all          data files for bluez-qt
ii  libkf5bluezqt6:amd64                          5.68.0-0ubuntu1                             amd64        Qt wrapper for bluez
ii  pulseaudio-module-bluetooth                   1:13.99.1-1ubuntu3.3                        amd64        Bluetooth module for PulseAudio sound server
ii  qml-module-org-kde-bluezqt:amd64              5.68.0-0ubuntu1                             amd64        QML wrapper for bluez

任何帮助和提示都值得感激。如果需要更多信息,请告知。

答案1

我也遇到过这个问题,花了很多时间试图解决它。我将其缩小到 AVRCP 配置文件(控制媒体按钮)的问题。

解决方法是完全禁用 AVRCP。耳机应该可以正常工作,只是没有触摸控制。编辑文件/lib/systemd/system/bluetooth.service并添加--noplugin=avrcp到第 9 行末尾(ExecStart)。

例如

[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth

[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/local/libexec/bluetooth/bluetoothd --noplugin=avrcp
NotifyAccess=main
#WatchdogSec=10
#Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1
ProtectHome=true
ProtectSystem=full

[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service

答案2

看来该问题已在 Bluez 5.55 中修复。

来自变更日志

Fix issue with handling AVRCP notification events.
Fix issue with handling AVRCP list player attributes.
Fix issue with handling AVRCP category 1 player settings.
Fix issue with handling AVRCP media player passthrough bitmask.

我在 Ubuntu 18.04 上,Bluez 是 5.48。
正在重建bluez/主线c96d5ec7aafc在撰写本文时)并且仅使用生成的bluetoothd二进制文件代替/usr/lib/bluetooth/bluetoothd修复了问题,而无需使用标志--noplugin=avrcp
我建议make install无论如何都使用以避免任何可能的冲突。

我还可以确认播放按钮(暂停、前进、后退)检测有效并被 Rhythmbox 正确处理。

是否可以使用麦克风以及将设备设置为headset_head_unitman pactl有关详细信息,请参阅),这样音频质量会很差,但总比没有好(我想?)。

从源代码构建 bluez 非常简单,只需按照自述文件即可,无论如何,让我们希望该包能够尽快上传。

相关内容