升级至 18.10 Cosmic 后蓝牙鼠标出现延迟

升级至 18.10 Cosmic 后蓝牙鼠标出现延迟

最初,升级到 18.10 Cosmic(从 18.04 Bionic 升级)后的头几天都没有出现任何问题,即使在挂起/重启/关机后也是如此。

今天,从挂起状态唤醒后,蓝牙鼠标开始出现延迟。如果我让它静止 5 秒,它需要 2 秒的持续移动后指针才能移动。它似乎在 5 秒后就切换到睡眠模式。

我试过:

  1. scan offbluetoothctl无论如何该命令无法运行)。
  2. 重新modprobebtusb。
  3. sudo sh -c 'echo N > /sys/module/drm_kms_helper/parameters/poll'
  4. tlp且未powertop安装。

答案1

删除canonical-livepatch仅在 LTS 版本中受支持的部分,即 18.10 中不受支持。

去除,

$ sudo snap remove canonical-livepatch

我之前有一个问题也是(部分)由包裹引起的。

编辑:问题再次出现。powertop无需任何配置即可安装以某种方式解决该问题。

$ sudo apt install powertop

编辑:USB 自动暂停可能是原因。

  1. 使用 启动 powertop sudo powertop
  2. 继续按 Tab 键直到到达“可调参数”部分。
  3. 在“USB 设备自动挂起...”列表中找到您的鼠标。我的是“未知 USB 设备 2-6 (8087-07dc) 自动挂起”。
  4. “良好”状态表示自动挂起已打开。按“Enter”切换到“不良”可解决此问题。继续重置步骤以在重启/挂起后重新应用设置。
  5. 终端上会出现一个命令,

    >> echo 'on' > /usr/bus/usb/devices/2-6/power/control';

  6. 记下该命令。

  7. 在 中创建一个 shell 脚本/usr/bin/

    $ sudo pluma /usr/bin/disable-bt-mouse-autosuspend

  8. 粘贴以下内容:

#!/bin/sh

# Disable USB auto-suspend for my mouse on startup
sleep 5;
MOUSE="/sys/bus/usb/devices/2-6/power/control";
if [ -f "$MOUSE" ]; then
    echo 'on' > $MOUSE;
fi
  1. 更改2-6为您在步骤 5 中从 powertop 获得的内容。
  2. 使脚本可执行。

    $ sudo chmod u+x /usr/bin/disable-bt-mouse-autosuspend

  3. 添加disable-bt-mouse-autosuspend到 systemd。

    $ sudo pluma /etc/systemd/system/disable-bt-mouse-autosuspend.service

  4. 粘贴以下内容,

[Unit]
Description=Disable USB auto-suspend for bluetooth mouse

[Service]
ExecStart=/usr/bin/disable-bt-mouse-autosuspend

[Install]
WantedBy=multi-user.target
  1. 保存。启动并启用它。

    $ sudo systemctl start disable-bt-mouse-autosuspend

    $ sudo systemctl enable disable-bt-mouse-autosuspend

  2. 此设置在挂起期间也会重置。要重新应用它:

    $ sudo pluma /lib/systemd/system-sleep/00disable-bt-mouse-autosuspend

  3. 粘贴以下脚本并保存,

#!/bin/sh

# restart the service after suspend
if [ $1 = post ] && [ $2 = suspend ]
then systemctl start disable-bt-mouse-autosuspend.service
fi
  1. 设置可执行权限,

    $ sudo chmod u+x /lib/systemd/system-sleep/00disable-bt-mouse-autosuspend

答案2

经过两天的搜索,我找到了一个解决方案,mby 就是你的情况。只需更换鼠标 mac 即可。

# HANDLE="$(hcitool con | grep '<Bluetooth Mouse mac address>' | awk '{print $5}')"  # get the device handle
# hcitool lecup --handle $HANDLE --latency 0 --min 6 --max 8

来源:linux 操作系统“故障排除”部分

答案3

我在使用 MX Anywhere 鼠标和 HP Spectre x360 时也遇到了同样的问题。根据我的研究,这是由较新的 Linux 内核版本中的错误引起的。某些 USB 设备与 Linux 中的 USB 自动暂停功能不兼容。就我而言,是蓝牙芯片导致鼠标在闲置约 5 秒后出现滞后。我通过大致按照此步骤解决了这个问题邮政,这似乎准确地指出了问题所在。该帖子告诉您通过运行以下命令来查找 USB 鼠标:

sudo lsusb -v

我的鼠标是蓝牙鼠标,和你的一样,所以它显然没有显示出来。但是,除了其他设备之外,还显示了以下内容:

Bus 001 Device 003: ID 8087:0a2b Intel Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
  idProduct          0x0a2b 
  bcdDevice            0.10
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          177
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA

我觉得这可能是蓝牙芯片的问题,而且由于它可能与 USB 自动挂起不兼容,我尝试关闭此设备的 USB 自动挂起(按照该帖子中的说明)。之后我的鼠标工作正常,所以我的猜测似乎是正确的。希望这对您和任何正在寻找解决方案的人有用!PS:一些省电实用程序(如 powertop)也可能导致同样的问题,因此您也应该尝试禁用所有这些实用程序。(我链接的帖子中也提到了这一点)

相关内容