How can I programmatically enable and disable the power to a particular USB port on Linux? Is such a thing even possible? Mac answers appreciated as well!
I was trying for a BOC (don't pretend you weren't try to get one too!) and ended up with one of these, and would like to get some use out of the thing by hooking it up to our server monitor.
A port that continuously turns off and on may not be broken, this maybe a "Power Management" feature of the device. USB ports can hibernate just as a computer or laptop do. If it's dozing off is not in your best interest, you can disable this feature.
Reinstall the USB Drivers The "USB device keeps disconnecting and reconnecting Windows 10" error could be caused by faulty USB drivers. To resolve it, uninstall and reinstall your USB drivers as follows: Press Win + X and select Device Manager. Expand the Universal Serial Bus controllers section.
There is a sys entry for this in Linux. From Documentation/usb/power-management.txt:
power/level
This file contains one of three words: "on", "auto", or "suspend". You can write those words to the file to change the device's setting. "on" means that the device should be resumed and autosuspend is not allowed. (Of course, system suspends are still allowed.) "auto" is the normal state in which the kernel is allowed to autosuspend and autoresume the device. "suspend" means that the device should remain suspended, and autoresume is not allowed. (But remote wakeup may still be allowed, since it is controlled separately by the power/wakeup attribute.)
Something like: echo on > /sys/bus/usb/devices/usb5/power/level
You may need to play with the autosuspend setting as well. Without telling the kernel to stop trying, it may suspend the port automatically.
Good luck!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With