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)