使用蓝牙鼠标时出现延迟

使用蓝牙鼠标时出现延迟

在最新的 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

以下是我修复它的方法:

  1. 运行命令来找出你的蓝牙模块的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

  1. 创建或更新 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

上述解决方法对我来说有效了一段时间,但是几天前,我的鼠标又开始滞后了。

我找到了这个教程,这似乎有效。

简历中:

  1. 找到鼠标的地址:
bluetoothctl devices | cut -f2 -d' ' | while read uuid; do bluetoothctl info $uuid; done|grep -e "Device\|Connected\|Name"

在此处输入图片描述 2.编辑文件:

sudo nano /var/lib/bluetooth/<you mouse address>/info
  1. 更改最小间隔最大间隔。我改成了5,你可能想在这里玩一下数字。
  2. 重启蓝牙适配器:
rfkill block bluetooth
rfkill unblock bluetooth

我希望它有帮助。

相关内容