USB bus issue with Lede/OpenWrt Gl.iNet usb150 micro router

Hi everyone,

I’ve compiled my own OpenWrt from source and that works very well (I did a sysupgrade on the usb150 microrouter with my compiled OpenWrt and it booted instantly).

I have a problem though and I’ve tested this with the LEDE source and the OpenWrt trunk source (both have the usb150 micro router as a target).

My problem is that I’m not able to use the USB bus for some reason.

I’ve enabled the kmod-usb2 module (which enables the kmod-use-core module which includes the EHCI module). I also enabled the lsusb utility.

When I run lsusb it shows nothing at all (no hub, no devices) and I can also see an obvious difference in the dmesg from my OpenWrt build and the Gl.iNet OpenWrt build. In the Gl.iNet OpenWrt build it sees the USB host controller whereas in my OpenWrt build the USB host controller isn’t detected (see segments from both dmesg outputs below).

Does anyone have any idea what I’ve done wrong? Maybe missed a kernel module that I need to include in the build ?

thanks for any help !

Derek (in Ireland).

dmesg from my build:

usbcore: registered new device driver usb
[ 3.415805] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 3.423258] ehci-platform: EHCI generic platform driver
[ 3.428193] kmodloader: done loading kernel modules from
/etc/modules-boot.d/*
[ 3.444883] init: - preinit -

dmesg from the Gl.iNet OpenWrt build:

4.660000] usbcore: registered new interface driver usbfs
[ 4.660000] usbcore: registered new interface driver hub
[ 4.670000] usbcore: registered new device driver usb
[ 4.680000] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 4.680000] ehci-platform: EHCI generic platform driver
[ 4.690000] ehci-platform ehci-platform: EHCI Host Controller
[ 4.690000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[ 4.700000] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
[ 4.730000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[ 4.730000] hub 1-0:1.0: USB hub found
[ 4.730000] hub 1-0:1.0: 1 port detected
5.670000] init: - preinit -

bump. Actually I’ve now tried re-compiling with OpenWrt 18.06 (last stable version). So far I’ve tried OpenWrt trunk, Lede main branch and OpenWrt 18.06 branch and all the same situation. I’ve also checked out other peoples Gl.iNet usb150 patches (e.g. gl-inet_openwrt-cc/103-gl-usb.patch at master · pepe2k/gl-inet_openwrt-cc · GitHub) but I haven’t yet been able to make an image which has the USB working.

Are they other OpenWrt/LEDE users/developers out there have have the Gl.iNet usb150 micro router working with USB support ?

thanks,

Derek

Here is the problem. This a s basic misunderstanding.

The USB-A on USB150 is actually on a separate USB-Ethernet chip. It is connected to eth0 on the SoC. So it never can be mounted as USB device on USB150.

I understand that someone want to use 9331 SoC in USB device mode. Then it can do more work. Then here comes the problem: if you flash a firmware with wrong configuration (usb module not mounted) and wifi is off, you have no method to connect to the device again. This is so risky and we didn’t use such a way.

Hi @alzhao That makes sense - so the USB150 does not expose the USB from the AR9331. I wonder why Gl.iNet didn’t use the USB from the SOC directly? I think the AR9331 supports host and device USB modes so it could have acted as an ethernet I/F without an external USB-Ethernet chip.

I will open up a USB150 and see what that ethernet chip and see if can act as a USB hub and gain access to the SOC USB - I’m not sure if this is possible ?

I made sure my OpenWrt image enabled a Wi-Fi AP so I haven’t had a problem (yet) but if I lost contact I was hoping that the TTL UART header ports on the PCB would get me in to a serial terminal as usual.

Thanks for the help so far with this !

Derek

Maybe you can just try to modify AR150. Only need to remove one resistor so that you can try the USB in device mode.

Hi @alzhao - I’ll give that a go for sure - which resistor is it (or do you have a link to any docs) ?

Thanks V much !

Derek

https://github.com/neykov/neykov.github.com/blob/master/_posts/2013-02-19-ar933x-usb-device-driver.md

I’m guessing that the USB port on the Gl.iNet USB150 Microrouter (that plugs into your computer) connects directly to the on-pcb Realtek RTL8152B USB-to-Ethernet chip and then the ethernet connects to the SOC. In that case the SOC USB won’t be available via the USB port at all (bummer as that’s what I wanted). Derek