Help with an USB sound card that only works in hg556/BB

Hello Developers.
This is my first post.
I have an USB device ID e2b7:0811 working flawlessly, connected to a HG556a (Barrier Breaker) for years but I can not get it to work in any more recent version.
It works also OK in my Ubuntu laptop, so I think that the device is OK and It could be an OpenWrt issue.

After looking at dmesg output I'm lost among EHCI, OHCI, dwc2 results.
Any help is appreciated.

Below a copy of different dmesg results:

Target device: ASL26555 RT3052F OpenWrt 18.06.8, r7989-82fbd85747
Device not detected. Nothing in dmesg.
Packages loadad: (Did I miss someone?)
kmod-input-core
kmod-sound-core
kmod-usb-audio
kmod-usb-ehci
kmod-usb-ohci
kmod-usb2
librt
libusb-1.0
usbutils

Other tests:
Lantic ARV7519RW22
OpenWrt 18.06.5, r7897-9d401013fc

[   78.669117] usb 2-1: new full-speed USB device number 2 using dwc2
[   78.861093] usb 2-1: device descriptor read/64, error -71
[   79.161098] usb 2-1: device descriptor read/64, error -71
[   79.461115] usb 2-1: new full-speed USB device number 3 using dwc2
[   79.653093] usb 2-1: device descriptor read/64, error -71
[   79.953111] usb 2-1: device descriptor read/64, error -71
[   80.065197] usb usb2-port1: attempt power cycle

brcm63xx (AR5387un, AR5381U) tried with CC and OpenWrt 18.06.7

[52078.171658] usb 2-1: new full-speed USB device number 15 using ohci-platform
[52078.367642] usb 2-1: device descriptor read/64, error -62
[52078.671927] usb 2-1: device descriptor read/64, error -62
[52078.971634] usb 2-1: new full-speed USB device number 16 using ohci-platform
[52079.167624] usb 2-1: device descriptor read/64, error -62
[52079.471604] usb 2-1: device descriptor read/64, error -62
[52079.583684] usb usb2-port1: attempt power cycle

And the working one:
hg556a BB

[  269.428000] usb 1-2.2: new full-speed USB device number 3 using ehci-platform
[  269.508000] usb 1-2.2: device descriptor read/64, error -32
[  269.688000] usb 1-2.2: device descriptor read/64, error -32
[  269.868000] usb 1-2.2: new full-speed USB device number 4 using ehci-platform
[  269.948000] usb 1-2.2: device descriptor read/64, error -32
[  270.128000] usb 1-2.2: device descriptor read/64, error -32
[  270.308000] usb 1-2.2: new full-speed USB device number 5 using ehci-platform
[  270.724000] usb 1-2.2: device not accepting address 5, error -32
[  270.800000] usb 1-2.2: new full-speed USB device number 6 using ehci-platform
[  271.216000] usb 1-2.2: device not accepting address 6, error -32
[  271.220000] hub 1-2:1.0: unable to enumerate USB device on port 2
[  271.732000] usb 1-2.2: new full-speed USB device number 7 using ehci-platform
[  271.844000] usb-storage 1-2.2:1.0: USB Mass Storage device detected
[  271.852000] scsi0 : usb-storage 1-2.2:1.0
[  272.860000] scsi 0:0:0:0: Direct-Access     JIE LI   CD002-1          1.00 PQ: 0 ANSI: 0
[  272.884000] sd 0:0:0:0: [sda] Attached SCSI removable disk


root@JukeWrt2:~# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/2p, 480M
    |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 7, If 0, Class=Mass Storage, Driver=usb-storage, 12M
        |__ Port 2: Dev 7, If 1, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 2: Dev 7, If 2, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 2: Dev 7, If 3, Class=Human Interface Device, Driver=, 12M

Remove kmod-usb-ohci, reboot, and try again.

Hi eduperez
I removed ohci, ehci, usb2 and all combinations of them before posting but no success.
Perhaps the lack of dmesg result in the asl26555 could be due to a hw failure, but brcm and Lantic are surely ok.
Any test or hint is welcome, thanks.

Ralink rt3052f have DWC OTG usb controller. So you need install kmod-usb-dwc2 package.

Hi 123serge123
I think i forgot to list or It's already included in kernel

root@Control2Wrt:~# opkg install kmod-usb-dwc2
Package kmod-usb-dwc2 (4.14.171-1) installed in root is up to date.

But dwc2 is broken in latest releases:

Yes, I have read about usb dwc2 issues.
But I can not understand why I can not get It work in rt305x, Lantic, nor brcm63xx.
I have done lots of tests with CC, 18 and 19 in several routers without success.
It only appears to work when managed by the EHCI driver ( hg556a/BB and Ubuntu laptop )
I wonder if there is any way of forcing It to be managed by ehci

Hi
As per 123serge123 advice about broken dwc2 module I installed 18.06.1 in the ASL26555 (rt305x)
When I plug the usb sound card I get the same dmesg error

[  241.045805] usb 1-1: new full-speed USB device number 2 using dwc2
[  241.265782] usb 1-1: device descriptor read/64, error -71
[  241.605791] usb 1-1: device descriptor read/64, error -71
[  241.945805] usb 1-1: new full-speed USB device number 3 using dwc2
[  242.165784] usb 1-1: device descriptor read/64, error -71
[  242.285810] dwc2 101c0000.otg: Not connected
[  242.285851] dwc2 101c0000.otg: Not connected
[  242.285872] dwc2 101c0000.otg: Not connected
[  243.365880] usb usb1-port1: attempt power cycle

I have noticed that my ubuntu laptop produced a similar error but recovers after the power cycle and then made things to work.
So I manually unplugged and plugged the usb device. Dmesg throws same error.
Also nothing can be seen under usb tree

root@Control2Wrt:~# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M

However if after that I rmmod and insmod dwc2 then I can see the following dmesg result

[ 2042.531179] dwc2 101c0000.otg: remove, state 1
[ 2042.531252] usb usb1: USB disconnect, device number 1
[ 2042.537231] dwc2 101c0000.otg: USB bus 1 deregistered
[ 2062.864325] dwc2 101c0000.otg: Configuration mismatch. dr_mode forced to host
[ 2062.900419] dwc2 101c0000.otg: DWC OTG Controller
[ 2062.900526] dwc2 101c0000.otg: new USB bus registered, assigned bus number 1
[ 2062.900593] dwc2 101c0000.otg: irq 26, io mem 0x101c0000
[ 2062.905349] hub 1-0:1.0: USB hub found
[ 2062.906789] hub 1-0:1.0: 1 port detected
[ 2063.468130] usb 1-1: new full-speed USB device number 2 using dwc2

and

root@Control2Wrt:~# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=, 12M
    |__ Port 1: Dev 2, If 1, Class=Audio, Driver=, 12M
    |__ Port 1: Dev 2, If 2, Class=Audio, Driver=, 12M
    |__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=, 12M

So I think that the usb port needs to be power cycled (off-on) and a sort of reset (rmmod-modprobe) has to be issued

I think that the router is not doing the usb power cycle
So, which gpio is handling the usb port power? perhaps It can be tested manually.
Any help is welcome.

I did some tests in the ASL26555 (rt305x).
I've read that the bit 12 of the HPRT register in the microcontroler drives the UPHY_VBUS I/O USB OTG VBUS pin (K3) and should enable or disable the 5v VBUS of the USB port.
I can not find any connection between the step-down 5v regulator enable pin and the router microcontroler. I connected the enable pin of the regulator to a spare gpio and made a power cycle at the end of the boot process. Then the USB sound card is recognized and works OK.
Unfortunately in a further test I made a mistake and blow up the regulator. :roll_eyes:

So, this USB device needs a power cycle to start working ...¿?
...and this router is not able to perform It.