ath79: enable USB by default on hAP ac
authorValeriy Manzhos <[email protected]>
Sun, 15 Jun 2025 10:08:29 +0000 (13:08 +0300)
committerHauke Mehrtens <[email protected]>
Thu, 19 Jun 2025 18:42:02 +0000 (20:42 +0200)
Due to a bug, USB is not powered on after boot on hAP ac.
This prevents extroot configurations from working as overlayfs is mounted
before USB device can be powered on. This commit fixes this by enabling USB
in devicetree.

Related discussion links:
- https://forum.openwrt.org/t/usb-power-is-off-on-boot/229007

---

Extroot configuration requires the USB to be powered on before
preinit_main/80_mount_root. Probably the simplest approach is to enable
it in the devicetree. Another approach would be to add a script into
/lib/preinit that will power on USB via /sys/class/gpio/usb-power/value
E.g.
cat /lib/preinit/79_power_on_usb
do_power_on_usb(){
  echo '1' > /sys/class/gpio/usb-power/value
}
boot_hook_add preinit_main do_power_on_usb

Signed-off-by: Valeriy Manzhos <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19149
Signed-off-by: Hauke Mehrtens <[email protected]>
target/linux/ath79/dts/qca9558_mikrotik_routerboard-96x.dtsi

index 684ca8632a4852dd6227e1db544bb9828956807d..4e219d167c1dbabdb1ab838db5896a09ccd663ef 100644 (file)
@@ -44,7 +44,7 @@
 
                usb_power {
                        gpio-export,name = "usb-power";
-                       gpio-export,output = <0>;
+                       gpio-export,output = <1>;
                        gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
                };
        };