如何永久禁用特定 USB 端口的自动暂停功能?

如何永久禁用特定 USB 端口的自动暂停功能?

我想禁用单个 USB 端口的自动暂停功能。我已成功测试了以下内容:

sudo echo on > /sys/bus/usb/devices/1-2.4/power/control 

我怎样才能使此配置永久生效?很少有资料提到/etc/rc.local,但我不确定这是否是正确的地方。我要使用的 USB 端口是扩展坞的一部分,因此可能不存在。当然,我可以检查该 USB 设备是否存在,但我怀疑有更好的解决方案。也可以使用 禁用所有端口的自动挂起usbcore.autosuspend=-1。禁用所有设备的自动挂起有什么缺点吗?我一直插入GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub唯一 USB 设备(键盘和鼠标除外)是网络摄像头。如果禁用自动挂起,是否会明显增加功耗?

答案1

永久设置某项服务的最佳方法是创建 systemd 服务。对于你的情况,我会这样写:( sudo nano /etc/systemd/system/usbsuspend.service选择任意名称.服务)其内容如下:

[Unit]
Description= Your description here

[Service]
Type=simple
ExecStart= echo>on > /sys/bus/usb/devices/1-2.4/power/control

[Install]
WantedBy=multi-user.target

要启用该服务,请执行:

sudo systemctl enable usbsuspend.service(或您的服务名称)

要立即启动服务:

sudo systemctl start usbsuspend.service

相关内容