小编ppq*_*ppq的帖子

如何禁用 USB3 LPM(硬件控制电源管理)?

我在 Ubuntu 16.04 中的 USB3 闪存驱动器有一些问题。它们继续进入 U1/U2 模式(请参阅此处了解更多信息),偶尔会导致 I/O 错误。我已经通过将其放入/etc/rc.local(是的,它是多余的)来禁用传统的(软件控制的)USB 电源管理:

for i in /sys/bus/usb/devices/*/power/autosuspend_delay_ms;
    do echo -1 > $i;
done
for foo in /sys/bus/usb/devices/*/power/control;
    do echo on > $foo;
done
Run Code Online (Sandbox Code Playgroud)

我还尝试了内核引导选项usbcore.autosuspend=-1。但根据dmesg,闪存驱动器仍会继续进入 U1/U2 模式。文档说 USB3 LPM 可以被禁用,/sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit但我电脑上的任何 USB 设备都不存在这个文件,至少find /sys -iname "*usb3*"没有显示它。在查找内容显示这些是只读文件:

/sys/devices/pci0000:00/0000:00:14.0/usb2/2-1/power/usb3_hardware_lpm_u1
/sys/devices/pci0000:00/0000:00:14.0/usb2/2-1/power/usb3_hardware_lpm_u2
/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2/power/usb3_hardware_lpm_u1
/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2/power/usb3_hardware_lpm_u2
/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/power/usb3_hardware_lpm_u1
/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/power/usb3_hardware_lpm_u2
/sys/devices/pci0000:00/0000:00:14.0/usb2/2-4/power/usb3_hardware_lpm_u1
/sys/devices/pci0000:00/0000:00:14.0/usb2/2-4/power/usb3_hardware_lpm_u2
/sys/devices/pci0000:00/0000:00:14.0/usb2/power/usb3_hardware_lpm_u1
/sys/devices/pci0000:00/0000:00:14.0/usb2/power/usb3_hardware_lpm_u2
Run Code Online (Sandbox Code Playgroud)

前八个包含字符串“启用”,只有最后两个(我猜是集线器)说“禁用”。

如何覆盖此设置并永久禁用所有四个设备的 USB3 LPM?写入这些文件不起作用,我试过了。

这是我的系统信息:HP Chromebox

# lsusb
Bus 002 Device …
Run Code Online (Sandbox Code Playgroud)

usb kernel power-management intel

5
推荐指数
1
解决办法
2766
查看次数

标签 统计

intel ×1

kernel ×1

power-management ×1

usb ×1