最初,升级到 18.10 Cosmic(从 18.04 Bionic 升级)后的头几天都没有出现任何问题,即使在挂起/重启/关机后也是如此。
今天,从挂起状态唤醒后,蓝牙鼠标开始出现延迟。如果我让它静止 5 秒,它需要 2 秒的持续移动后指针才能移动。它似乎在 5 秒后就切换到睡眠模式。
我试过:
scan off
(bluetoothctl
无论如何该命令无法运行)。- 重新
modprobe
btusb。 sudo sh -c 'echo N > /sys/module/drm_kms_helper/parameters/poll'
tlp
且未powertop
安装。
答案1
删除canonical-livepatch
仅在 LTS 版本中受支持的部分,即 18.10 中不受支持。
去除,
$ sudo snap remove canonical-livepatch
我之前有一个问题也是(部分)由包裹引起的。
编辑:问题再次出现。powertop
无需任何配置即可安装以某种方式解决该问题。
$ sudo apt install powertop
编辑:USB 自动暂停可能是原因。
- 使用 启动 powertop
sudo powertop
。 - 继续按 Tab 键直到到达“可调参数”部分。
- 在“USB 设备自动挂起...”列表中找到您的鼠标。我的是“未知 USB 设备 2-6 (8087-07dc) 自动挂起”。
- “良好”状态表示自动挂起已打开。按“Enter”切换到“不良”可解决此问题。继续重置步骤以在重启/挂起后重新应用设置。
终端上会出现一个命令,
>> echo 'on' > /usr/bus/usb/devices/2-6/power/control';
记下该命令。
在 中创建一个 shell 脚本
/usr/bin/
。$ sudo pluma /usr/bin/disable-bt-mouse-autosuspend
粘贴以下内容:
#!/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
- 更改
2-6
为您在步骤 5 中从 powertop 获得的内容。 使脚本可执行。
$ sudo chmod u+x /usr/bin/disable-bt-mouse-autosuspend
添加
disable-bt-mouse-autosuspend
到 systemd。$ sudo pluma /etc/systemd/system/disable-bt-mouse-autosuspend.service
粘贴以下内容,
[Unit]
Description=Disable USB auto-suspend for bluetooth mouse
[Service]
ExecStart=/usr/bin/disable-bt-mouse-autosuspend
[Install]
WantedBy=multi-user.target
保存。启动并启用它。
$ sudo systemctl start disable-bt-mouse-autosuspend
$ sudo systemctl enable disable-bt-mouse-autosuspend
此设置在挂起期间也会重置。要重新应用它:
$ sudo pluma /lib/systemd/system-sleep/00disable-bt-mouse-autosuspend
粘贴以下脚本并保存,
#!/bin/sh
# restart the service after suspend
if [ $1 = post ] && [ $2 = suspend ]
then systemctl start disable-bt-mouse-autosuspend.service
fi
设置可执行权限,
$ 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)也可能导致同样的问题,因此您也应该尝试禁用所有这些实用程序。(我链接的帖子中也提到了这一点)