我有一台带有蓝牙 Broadcom 43142 模块的笔记本电脑,我必须从 Windows 为其复制固件。我还有一个 三星蓝牙键盘 BKB-10.. 它在 Windows 10 上运行良好,但在 Ubuntu 16.04 下它会挂起、断开连接、滞后。挂起示例:
Likkkkkkkkkke tttttttttttthhhhhhhhhhhhhhhhhatt!!!!!!!!!
如果断开连接,则只需按 1 个键 10-20 秒,直到系统得知它已断开连接。但它也可以仅打印 1-10 个额外字母,而不会出现任何中断。 DDelayys 可以是从毫秒到秒。但有时键盘在 Linux 下也能正常工作,当它正常工作和不能正常工作时我看不到任何模式。
由于 Linux 下该适配器的蓝牙驱动程序存在问题,我认为驱动程序是问题所在。但后来我将键盘连接到我的 CyanogenMod 12.1 智能手机,它也很延迟!我没有看到断开连接,也不知道在 Android 中哪里可以查找蓝牙断开连接的日志。 CM 12.1 也使用 Bluez,所以也许这就是问题所在。再说一次,键盘在 Linux 下也可以完美工作。所以,我猜这只是 Linux 的问题,而不是驱动程序或硬件问题。我在 tlp 中关闭了 USB 和 PCI 设备的所有节能功能,尝试了 2 个拳头解决方案这里- 没有什么。还安装了 Bluez 5.40(没有删除 5.37 Ubuntu 版本,否则我会删除一半 Ubuntu)和 Linux 内核 4.6。当键盘不稳定(滞后和挂起)时,日志中不会出现任何奇怪的情况,只有当它断开连接时。另一个有趣的是,该键盘是为 Android 设计的,但它只能在 Windows 下运行良好。
unknown main item tag 0x0
每次断开连接时都会出现。
请注意,上面的消息在下面的显示中以粗体显示。
消息 [440.590111]usbcore:取消注册接口驱动程序btusb [444.549055]usbcore:注册了新的接口驱动程序btusb [446.557936]蓝牙:hci0命令0x1001 tx超时 [454.551817]蓝牙:hci0:BCM:读取本地版本信息失败(-110) [454.568686]蓝牙:hci0:BCM:芯片ID 70 [454.584662]蓝牙:hci0:BCM43142A [454.584671]蓝牙:hci0:BCM(001.001.011)版本0000 [455.217642]蓝牙:hci0:BCM(001.001.011)版本0146 [455.233625]蓝牙:hci0:Broadcom蓝牙设备(43142) [520.262176]usbcore:取消注册接口驱动程序btusb [520.267674]蓝牙:hci0 urb ffff88005b287c00未能重新提交(2) [522.576757]usbcore:注册了新的接口驱动程序btusb [522.581012]蓝牙:hci0:BCM:芯片ID 70 [522.597023]蓝牙:hci0:Broadcom蓝牙设备(43142) [522.597032]蓝牙:hci0:BCM(001.001.011)版本0146 [523.200996]蓝牙:hci0:BCM(001.001.011)版本0146 [523.217028]蓝牙:hci0:Broadcom蓝牙设备(43142) [523.350764]蓝牙:RFCOMM TTY层初始化 [523.350772]蓝牙:RFCOMM套接字层初始化 [523.350779]蓝牙:RFCOMM版本1.11 [532.571301]蓝牙:HIDP(人机界面仿真)版本1.2 [532.571308]蓝牙:HIDP套接字层初始化 [793.617198]hid-generic 0005:04E8:7021.0003:未知的主项目标签0x0 [793.617387]输入:三星蓝牙键盘BKB-10为/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:12 /0005:04E8:7021.0003/输入/输入14 [793.618079]hid-generic 0005:04E8:7021.0003:输入,hidraw2:蓝牙HID v7.00键盘[三星蓝牙键盘BKB-10]在f8:2f:a8:ed:4d:02上 [978.540391]hid-generic 0005:04E8:7021.0004:未知的主项目标签0x0 [978.540524]输入:三星蓝牙键盘BKB-10为/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:11 /0005:04E8:7021.0004/输入/输入15 [978.542916]hid-generic 0005:04E8:7021.0004:输入,hidraw2:蓝牙HID v7.00键盘[三星蓝牙键盘BKB-10]在f8:2f:a8:ed:4d:02上 [2922.936556]hid-generic 0005:04E8:7021.0005:未知的主项目标签0x0
Jun 14 15:58:53 leonid-Lenovo-G500 acpid: input device has been disconnected, fd 16
Jun 14 15:58:53 leonid-Lenovo-G500 bluetoothd[694]: GLib: Source ID 1006 was not found when attempting to remove it
Jun 14 15:58:54 leonid-Lenovo-G500 kernel: [ 7143.006495] hid-generic 0005:04E8:7021.000F: unknown main item tag 0x0
Jun 14 15:58:54 leonid-Lenovo-G500 kernel: [ 7143.006620] input: Samsung Bluetooth Keyboard BKB-10 as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:12/0005:04E8:7021.000F/input/input26
Jun 14 15:58:54 leonid-Lenovo-G500 kernel: [ 7143.007582] hid-generic 0005:04E8:7021.000F: input,hidraw2: BLUETOOTH HID v7.00 Keyboard [Samsung Bluetooth Keyboard BKB-10] on f8:2f:a8:ed:4d:02
Jun 14 15:58:54 leonid-Lenovo-G500 upowerd[1464]: (upowerd:1464): UPower-Linux-WARNING **: treating change event as add on /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:12/0005:04E8:7021.000F/power_supply/hid-90:7f:61:10:3c:ab-battery
Jun 14 16:01:53 leonid-Lenovo-G500 acpid: input device has been disconnected, fd 16
Jun 14 16:01:53 leonid-Lenovo-G500 bluetoothd[694]: GLib: Source ID 1035 was not found when attempting to remove it
Jun 14 16:01:53 leonid-Lenovo-G500 kernel: [ 7322.201743] hid-generic 0005:04E8:7021.0010: unknown main item tag 0x0
Jun 14 16:01:53 leonid-Lenovo-G500 kernel: [ 7322.201902] input: Samsung Bluetooth Keyboard BKB-10 as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:11/0005:04E8:7021.0010/input/input27
Jun 14 16:01:53 leonid-Lenovo-G500 kernel: [ 7322.202263] hid-generic 0005:04E8:7021.0010: input,hidraw2: BLUETOOTH HID v7.00 Keyboard [Samsung Bluetooth Keyboard BKB-10] on f8:2f:a8:ed:4d:02
Jun 14 16:01:53 leonid-Lenovo-G500 upowerd[1464]: (upowerd:1464): UPower-Linux-WARNING **: treating change event as add on /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:11/0005:04E8:7021.0010/power_supply/hid-90:7f:61:10:3c:ab-battery
答案1
从 bluez.org 安装了 Bluez 5.27(较新的版本对我来说比较延迟)并且延迟消失了。断开连接也更少,但我想这与 ubuntu 与内核或其他东西的工作有关。
答案2
使用TLPUI
电源管理工具(如果您的系统上不存在,请安装它)。
从其 USB 菜单中,您可以选择USB_BLACKLIST_BTUSB
从 USB 自动挂起中排除蓝牙设备。