I’ve been messing around with this for hours, but can’t seem to get this to work at all…When I plug in any of my external harddrives, I can only get them to show up when USB2.0 is selected. After hours of AI assisted troubleshooting, we came up with this conclusion. I’d love to figure this out, but need help from humans who are smarter than me and googling.
Device: GL-BE9300 (Flint 3) Firmware Version: OpenWrt 23.05-SNAPSHOT] Kernel Version: 5.4.213
Issue Description: The USB 3.0 controller (dwc3-qcom) fails to initialize SuperSpeed (5Gbps) mode because the kernel cannot locate the GPIO pin required to toggle the device power rail. This forces all connected USB 3.0 devices (including SSDs and powered HDDs) to fallback to USB 2.0 (High-Speed) or fail enumeration entirely.
Steps to Reproduce:
Connect a known-good USB 3.0 drive (Seagate Expansion HDD or Samsung T5 SSD).
Set USB mode to "3.0" in the web GUI.
Observe lsusb -t showing the device on Bus 01 (480M) instead of Bus 02 (5000M).
Attempting to manually unbind/bind the driver via /sys/bus/platform/drivers/dwc3-qcom/ results in the port powering down and failing to power back up.
Kernel Log Evidence (dmesg): The kernel ring buffer shows a critical failure in the dwc3-qcom driver initialization. The Device Tree seems to be missing the device-power-gpios definition for the 8af8800.usb3 node.
[ 12.769552] dwc3-qcom 8af8800.usb3: GPIO lookup for consumer device-power
[ 12.769560] dwc3-qcom 8af8800.usb3: using device tree for GPIO lookup
[ 12.769577] of_get_named_gpiod_flags: can't parse 'device-power-gpios' property of node '/soc/usb3@8A00000[0]'
[ 12.769597] dwc3-qcom 8af8800.usb3: No GPIO consumer device-power found
Additionally, when the driver attempts to re-initialize (after a bind/unbind), the PHY fails to reach the correct power state:
[ 1214.663254] dwc3-qcom 8af8800.usb3: HS-PHY not in L2
Conclusion: The USB 3.0 PHY is active (Bus 02 exists), but the driver cannot toggle the power rail required for SuperSpeed negotiation due to the missing GPIO mapping in the DTB (Device Tree Blob). This appears to be a firmware regression or a missing definition for this hardware revision.
Please advise on a firmware patch or a workaround to manually define the GPIO pin.


