我已经将蓝牙适配器连接到 Windows 上,它在 Windows 上运行良好。但是,当我打开 Ubuntu(使用双启动)时,它却无法工作。我尝试了 askUbuntu 上的答案,但没有任何效果。
以下是我运行的一些命令及其输出:
lsusb
:
Bus 002 Device 006: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor
Bus 002 Device 005: ID 04f2:1125 Chicony Electronics Co., Ltd Asus Keyboard
Bus 002 Device 004: ID 0000:3825 USB OPTICAL MOUSE
Bus 002 Device 007: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 1bcf:2802 Sunplus Innovation Technology Inc. Laptop_Integrated_Webcam_FHD
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
sudo dmesg | grep -i bluetooth
:
[ 926.303205] Bluetooth: Core ver 2.22
[ 926.303245] NET: Registered PF_BLUETOOTH protocol family
[ 926.303247] Bluetooth: HCI device and connection manager initialized
[ 926.303254] Bluetooth: HCI socket layer initialized
[ 926.303256] Bluetooth: L2CAP socket layer initialized
[ 926.303262] Bluetooth: SCO socket layer initialized
[ 926.324145] Bluetooth: hci0: CSR: Unbranded CSR clone detected; adding workarounds and force-suspending once...
[ 926.324156] Bluetooth: hci0: CSR: Couldn't suspend the device for our Barrot 8041a02 receive-issue workaround
[ 926.324160] Bluetooth: hci0: HCI Delete Stored Link Key command is advertised, but not supported.
[ 926.324163] Bluetooth: hci0: HCI Set Event Filter command not supported.
[ 926.453334] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 926.453340] Bluetooth: BNEP filters: protocol multicast
[ 926.453344] Bluetooth: BNEP socket layer initialized
[ 928.412762] Bluetooth: hci0: Opcode 0x c5a failed: -110
[ 928.412775] Bluetooth: hci0: command 0x0c5a tx timeout
rfkill list
:
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: dell-wifi: Wireless LAN
Soft blocked: no
Hard blocked: no
2: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
hcitool dev
:
Devices:
bluetoothctl
:
Agent registered
[bluetooth]# power on
No default controller available
grep . /sys/bus/usb/devices/[0-9]*/power/control
:
/sys/bus/usb/devices/1-1.5/power/control:auto
/sys/bus/usb/devices/1-1/power/control:auto
/sys/bus/usb/devices/2-1.1/power/control:auto
/sys/bus/usb/devices/2-1.2/power/control:on
/sys/bus/usb/devices/2-1.4/power/control:on
/sys/bus/usb/devices/2-1.8/power/control:auto
/sys/bus/usb/devices/2-1/power/control:auto
我也尝试过这个,我不知道为什么,但是我没有权限
sudo echo on > /sys/bus/usb/devices/2-1/power/control
::
bash: /sys/bus/usb/devices/2-1/power/control: Permission denied
sudo hciconfig hci0 up
:
Can't init device hci0: Connection timed out (110)
如果需要的话,我可以提供更多信息。
答案1
这是部分答案
背景:
直到昨天,我一直在使用带有可插拔 Broadcom 蓝牙适配器的 Ubuntu 18.04 LTS;它一直运行良好,直到今天我安装了 22.04 LTS,现在我遇到了与其他 22.04 用户以及这里的 OP 报告的非常相似的重大问题。
我尝试了所有发布的解决方法等,但都无济于事。我的加密狗制造商 (Plugable) 有缺失固件文件的下载,所以我试了一下,但仍然没有结果。
部分有效的措施:
我去了 Broadcom 的 GitHub 页面,那里有一个更新的固件(方便地放在 Deb 包文件中),我下载了它,它就运行了!您只需将特定设备/芯片组的固件文件复制到 /lib/firmware 文件夹中(我的是该固件文件夹中的一个文件夹)并重新启动即可。我现在可以配对键盘和鼠标,并且 DMESG 中没有关于固件的错误消息,但设备只能工作大约 10 分钟,然后我会在 DMESG 中收到来自设备的超时消息,最终蓝牙会完全锁定并需要重新启动。
我在其他地方读到过,如果禁用蓝牙省电功能,超时和锁定就会停止,所以如果有人知道如何做到这一点,我们可能有一个完整的解决方案。再次抱歉,这只是一个部分解决方案,但我认为如果省电问题可以修复,并且您从 GitHub 下载芯片组的缺失/过时固件也能获得和我一样的成功,那么这可能是一个解决方案。我希望这能帮助其他遭受同样挫折的人。
例如,DMESG 错误显示设备超时,然后出现“重新提交失败”的情况,这是因为适配器本身停止响应:
[523.388039]蓝牙:hci0:命令0x200c tx超时
[525.403978]蓝牙:hci0:命令0x2005 tx超时
[527.419850]蓝牙:hci0:命令0x200b tx超时
[529.435976]蓝牙:hci0:命令0x200c tx超时
[658.018739]蓝牙:hci0:urb 000000005016cda9 重新提交失败(113)
[658.018774]蓝牙:hci0:urb 000000006b705fe6 重新提交失败(113)
[658.019822]蓝牙:hci0:urb 00000000b1c332e8 重新提交失败(113)
[1130.665552]蓝牙:hci0:urb 00000000d82d69cd 重新提交失败(113)
[1130.665587]蓝牙:hci0:urb 000000006b70d305 重新提交失败(113)