编辑 /sys 文件系统中的文件并保留它们的正确方法是什么

编辑 /sys 文件系统中的文件并保留它们的正确方法是什么

我可以使用以下命令让我的蓝牙鼠标停止滞后:

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文件中。这将确保规则仅匹配您的蓝牙鼠标。

相关内容