Turning USB power on and off

On some routers, it is possible to turn USB power on and off using GPIO, like this:

On:

echo 1 > /sys/class/gpio/gpioN/value

Off:

echo 0 > /sys/class/gpio/gpioN/value

Get current state:

cat /sys/class/gpio/gpioN/value

Here, N should be replaced with pin number, which depends on router model. Here are some known pin numbers:

Model Pin number(s)
TP-Link TL-WR703N 8
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)
TP-Link Archer C2600 V1.1 23, 25
Astoria networks ARV7510PW22 8

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.

:!: On a TP-Link Archer A7 v5 running OpenWRT 19.07, the USB power can be switched by echoing 1 or 0 to /sys/class/gpio/tp-link:power:usb/value. This may be true of other models as well. Run ls -al /sys/class/gpio/ to check for the existence of a similar predefined symbolic link on your router.

:!: On D-Link DIR-645 running OpenWrt 21.2.1 the USB power can be switched off using echo 0 > /sys/class/gpio/usb/value

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2023/01/09 04:47
  • by alexandrlastfm