我遇到了同样的问题,最近我尝试在蓝牙模块中禁用eSCO 模式:
echo 1 | sudo tee /sys/module/bluetooth/parameters/disable_esco
sudo /etc/init.d/bluetooth restart
# persist setting
echo "options bluetooth disable_esco=1" | sudo tee /etc/modprobe.d/bluetooth-tweaks.conf
Run Code Online (Sandbox Code Playgroud)
鼠标的连接现在似乎更稳定,在调整此设置后我没有看到断开连接。
我的笔记本电脑 Lenovo W530 有一个 Broadcom 蓝牙适配器(内部 USB 是接口)。
如果您有 Broadcom 蓝牙适配器,则可能需要从 Windows 驱动程序获取 .hex 固件文件并将其放在 /lib/firmware 目录中以支持所有蓝牙功能。更多信息在 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400/comments/11和 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400 .
使用 hex2hcd 将 Windows 驱动程序 .hex 文件转换为 .hcd:https : //github.com/jessesung/hex2hcd
我在此 Windows 驱动程序包中找到了 Broadcom .hex 文件。找到该Win7/Win32/bcbtums-win7x86-brcm.inf文件并搜索适配器的 USB ID。
$ lsusb |grep Bluetooth
Bus 001 Device 006: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
Run Code Online (Sandbox Code Playgroud)
搜索RAMUSB<usb product id in upper case>,例如RAMUSB21E6我的适配器。在那里你会找到 .hex 文件名:
[RAMUSB21E6.NTX86.hw.reg]
HKR,,LowerFilters, 0x00010000, "bcbtums"
HKR,,%RAMPatchFileName%,0x00000, "BCM20702A1_001.002.014.1315.1387.hex"
HKR,,%RemoteWakeEnabled%,0x00010001,1
HKR,,%DeviceRemoteWakeSupported%,0x00010001,1
Run Code Online (Sandbox Code Playgroud)
在我的情况下,文件是 Win7/Win32/BCM20702A1_001.002.014.1315.1387.hex
然后我使用 hex2hcd 将文件转换为 /lib/firmware/fw-0a5c_21e6.hcd(该文件名再次包含您的 Broadcom USB 蓝牙适配器的 USB id)。