linux如何控制USB电源---实测有效。

摘自:https://cloud.tencent.com/developer/ask/28501

方法一:

你可以配置Terminus FE 1.1 USB集线器芯片:
紫色部分实测有效:
1.关闭集线器所有USB端口的电源,可以使用以下命令将集线器从内核中解除:
echo "1-4.4.4" > /sys/bus/usb/drivers/usb/unbind
重新打开电源
- 你可以重新绑定来使用 echo "1-4.4.4" > /sys/bus/usb/drivers/usb/bind
2.每个端口单独切换电源更麻烦:我可以使用hubpower来控制每个端口 - 但是它有一个缺点:hubpower首先断开usbdevfs,导致所有USB设备从系统中断开,至少在Ubuntu 上是这样的: usb_ioctl.ioctl_code = USBDEVFS_DISCONNECT; rc = ioctl(fd, USBDEVFS_IOCTL, &usb_ioctl);

方法二:

注意。这个答案中的信息与旧的内核相关(最多2.6.32)。有关新内核的信息,请参阅tlwhitec。

# disable external wake-up; do this only once
echo disabled > /sys/bus/usb/devices/usb1/power/wakeup 

echo on > /sys/bus/usb/devices/usb1/power/level       # turn on
echo suspend > /sys/bus/usb/devices/usb1/power/level  # turn off
(你可能需要将usb1更改为usb n)

猜你喜欢

转载自www.cnblogs.com/LiuYanYGZ/p/12346563.html