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)

 

posted @ 2020-02-22 18:33  LiuYanYGZ  阅读(5055)  评论(0编辑  收藏  举报