我可以使用以下命令让我的蓝牙鼠标停止滞后:
echo 300 > /sys/devices/pci0000:00/0000:00:14.0/usb1/1-14/power/autosuspend
不过,我相信这个更改在重启后将会丢失。
我理解目录的概念/sys
是计算机硬件的抽象,通过写入这个假装的文件,我实际上是在改变一些运行时?内核?参数。
我也知道类似的命令sysctl
在这个系统上运行,以及.rules
文件我认为会用于持续设置这些值,但经过几个小时的搜索,我还是无法弄清楚如何真正实现它。我可能完全偏离了我所知道的一切。
任何建议都值得感激。谢谢
答案1
echo 300 > /sys/devices/pci0000:00/0000:00:14.0/usb1/1-14/power/autosuspend
但是我相信这个更改在重启后将会丢失。
我将创建一个.rules
文件,用于udev
在添加设备时自动设置值。例如,文件/etc/udev/rules.d/90-bluetooth-mouse-autosuspend.rules
包含:
ACTION=="add", \
DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb1/1-14", \
ATTR{power/autosuspend}="300"
现在重新启动并检查该值是否设置为“300”:
$ cat /sys/devices/pci0000:00/0000:00:14.0/usb1/1-14/power/autosuspend
300
请注意,即使您插入了鼠标以外的其他设备,此规则也将应用于该特定 USB 端口。检查以下输出可能是一个更好的udevadm info -a -p /devices/pci0000:00/0000:00:14.0/usb1/1-14
主意ATTR{product}=="xxx"
和/或ATTR{serial}=="xxx"
您可以将其包含在/etc/udev/rules.d/90-bluetooth-mouse-autosuspend.rules
文件中。这将确保规则仅匹配您的蓝牙鼠标。