bla*_*dog 23 usb power-management powertop
这与无线鼠标在电池供电时暂时冻结(睡眠)中讨论的问题有关。
总结:鼠标在使用电池时会冻结,因为它会在一段时间后自动暂停并且需要更多时间来唤醒。
在PowerTOP 中禁用鼠标接收器的 USB 自动挂起是一种临时解决方案,但它不会在重新启动后继续存在。
如何仅对一台特定设备永久禁用 USB 自动挂起?
不涉及安装额外包的解决方案是首选(毕竟,我想禁用某些东西),但这不是必需的。删除 PowerTOP(这似乎是某些人的解决方案)不是我想要的 - 我喜欢 PowerTOP ...
安装laptop-mode-tools
以完全禁用 USB 自动挂起也不是我想要的,因此是新问题。
另外:这会影响我笔记本的电池吗?用于鼠标的罗技统一接收器始终保持连接状态,因此如果这可以防止所有设备发生自动挂起,那可能会很糟糕。
小智 29
Ubuntu 16.04 (Xenial Xerus)
sudo apt install tlp
sudo lsusb
Run Code Online (Sandbox Code Playgroud)
找到 USB 设备的输入 ID - 它应该看起来像1234:5678
.
编辑文件sudo vi /etc/default/tlp
并USB_BLACKLIST
通过添加以下行和设备的输入 ID 来添加设备的输入 ID,如下所示:
USB_BLACKLIST="1234:5678"
Run Code Online (Sandbox Code Playgroud)
Ubuntu 14.04(可信赖的 Tahr)
正如在 hecticgeek.com 上提到的,这个技巧由两部分组成:
使用lsusb
以确定您想为禁用autosuspend USB设备的设备ID。
然后将它们加入到AUTOSUSPEND_USBID_BLACKLIST
中/etc/laptop-mode/conf.d/runtime-pm.conf
(usb-autosuspend.conf
直到Ubuntu的14.04)配置文件(详细情况以及在有记录的为好)。
Bry*_*yce 12
我在Avocent KVM上的 PC 上遇到了类似的问题,其中未安装笔记本电脑模式工具(并且无论如何都不想以这种方式解决它)。就我而言,自动挂起 KVM 会使键盘和鼠标行为不正常(闲置几秒钟后,它们会挂起并丢失输入数据一段时间,直到足够多的点击和摇晃将它们唤醒)。
当我运行PowerTOP并关闭 Avocent 的 USB 自动挂起时,PowerTOP 告诉我从命令行禁用它的命令是:
echo 'on' > '/sys/bus/usb/devices/3-10/power/control'
Run Code Online (Sandbox Code Playgroud)
'3-10' 位在不同系统上会有所不同。除了运行 PowerTOP 之外,我不确定如何确定它,但可能有某种方法。
相反,我使用了udev规则来匹配我设备的产品 ID:
trent+14.04:/etc/udev/rules.d$ cat 10-usb-avocent-kvm-pm.rules
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{idProduct}=="0013", ATTR{product}=="SC Secure KVM", TEST=="power/control", ATTR{power/control}:="on"
Run Code Online (Sandbox Code Playgroud)
为了获得正确的 udev 信息,我运行了:
udevadm info -a --path /sys/bus/usb/devices/N-N
Run Code Online (Sandbox Code Playgroud)
小智 6
在/etc/laptop-mode/conf.d/usb-autosuspend.conf
你会发现:
# Enable USB autosuspend feature?
# Set to 0 to disable
CONTROL_USB_AUTOSUSPEND="auto"
Run Code Online (Sandbox Code Playgroud)
您应该将其更改为CONTROL_USB_AUTOSUSPEND="0"
.
这将自动使任何 USB 设备在/sys/bus/usb/devices/"DEVICE ID"/power/control
. 这将使自动挂起文件的值处于非活动状态:
$ cat /sys/bus/usb/devices/"DEVICE ID"/power/autosuspend
2
$ cat /sys/bus/usb/devices/"DEVICE ID"/power/autosuspend_delay_ms
2000
Run Code Online (Sandbox Code Playgroud)
小智 5
USB 设备的电源选项位于/sys/bus/usb/devices/n-n/power
. 不幸的是,对于给定设备的 nn 是什么需要一些调查才能找出,所以我认为这将成为拥有自动执行脚本的绊脚石
echo -1 > /sys/bus/usb/devices/3-2/power/autosuspend
Run Code Online (Sandbox Code Playgroud)
关闭该设备上的自动挂起。神奇的 nn 确实出现在输出中
udevadm info --export-db
Run Code Online (Sandbox Code Playgroud)
所以我认为 udev 会成为你的朋友;某种 udev 脚本键入识别您的鼠标的参数,然后运行一个将 -1 回显到相关文件中的脚本。