在最新的 Ubuntu 更新(使用 19.04)之后,当我使用通过蓝牙连接的 Logitech M720 鼠标时,我遇到了极大的延迟。
使用 USB 加密狗时,它可以完美运行。
对于为什么会发生这种情况,您有什么想法吗?(尝试将其移除,再次配对等等)
答案1
在尝试降级蓝牙软件包以查看是否有所作为后,我决定/意识到虽然它可能有所改善,但并没有解决问题。继续研究并发现:https://ubuntuforums.org/showthread.php?t=2372916。
建议是:
echo "options iwlwifi bt_coex_active=0" | sudo tee /etc/modprobe.d/iwlopt.conf
然后重新启动。
似乎效果好多了
答案2
您遇到的问题与蓝牙超时无关,而更可能是内核内置的 USB 自动挂起功能。
我在跑步Ubuntu 22.04 LTS我有一个罗技 MX Anywhere 2S
以下是我修复它的方法:
- 运行命令来找出你的蓝牙模块的ID
$ lsusb -vt
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 5: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
ID 27c6:538d Shenzhen Goodix Technology Co.,Ltd.
|__ Port 6: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
ID 0bda:565a Realtek Semiconductor Corp.
|__ Port 6: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
ID 0bda:565a Realtek Semiconductor Corp.
|__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
|__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
我的蓝牙模块的id是8087:0aaa
- 创建或更新 udev 规则以禁用模块的自动挂起。
$ echo 'ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="8087", ATTR{idProduct}=="0aaa", ATTR{power/autosuspend}="-1"' >> /etc/udev/rules.d/50-usb_power_save.rules
重新启动您的电脑后,延迟现象就会消失。
注意供应商编号设置为8087和产品编号设置为0aaa反映我的蓝牙设置
我使用以下链接作为参考。
https://wiki.archlinux.org/title/Power_management#USB_autosuspend
答案3
我在 Pop OS 19.10 上使用 Logitech MX Ergo(在 ThinkPad E15 上运行),并且
echo "options iwlwifi bt_coex_active=0" | sudo tee /etc/modprobe.d/iwlopt.conf
帮我解决了这个问题。它改善了我遇到的两个问题:
- 偶尔会出现约 0.5 秒的延迟,指针会完全停止移动,
- 鼠标指针总体上变得更加流畅,之前有很多微小的卡顿。
感谢 BHuber!
答案4
上述解决方法对我来说有效了一段时间,但是几天前,我的鼠标又开始滞后了。
我找到了这个教程,这似乎有效。
简历中:
- 找到鼠标的地址:
bluetoothctl devices | cut -f2 -d' ' | while read uuid; do bluetoothctl info $uuid; done|grep -e "Device\|Connected\|Name"
sudo nano /var/lib/bluetooth/<you mouse address>/info
- 更改最小间隔和最大间隔。我改成了5,你可能想在这里玩一下数字。
- 重启蓝牙适配器:
rfkill block bluetooth
rfkill unblock bluetooth
我希望它有帮助。