On some routers, it is possible to turn USB power on and off using GPIO, like this:
echo 1 > /sys/class/gpio/gpioN/value
echo 0 > /sys/class/gpio/gpioN/value
Get current state:
N should be replaced with pin number, which depends on router model. Here are some known pin numbers:
|TP-Link TL-WR842ND||6 (v1), 4 (v2)|
|TP-Link TL-WDR3600||21, 22|
|TP-Link TL-WDR4300||21, 22|
|TP-Link TL-WR1043ND||21 (v2), 8 (v3, v4)|
If your model is not listed, you may try to find
N by trial and error. For some
N, the directory
/sys/class/gpio/gpioN might not exist, in this case it can be created like this:
echo N > /sys/class/gpio/export
You may also look at this forum thread.
Some routers might have difficulties providing full USB power output.