Usb hub does not find any devices after reboot

EdwardK
Hi all,

I have a problem with linux-3.0.8 kernel.
I want to use it because the usb audio and alsa driver working proerly
there. but after a reboot usb hub does not find any devices.
When I don't use the alsa driver the usb hub does find device's after a
soft reboot. While linux-2.6.35.7 kernel together with also does work
properly but I want to use the linux-3.0.8 kernel. I'really not sure what
can cause this problem with hard reset everything works again.

Reggie
I can tell you exactly what the issue is :)  It's to do with how the 3.0.8
kernel does a reboot, it's using a method that doesn't reset all of the
subsystems, consequently, superboot also doesn't init the audio/usb on a
warm reboot, so both of those will cause problems.

The usb issue ends up with the ECHI(I think, if it isn't it's the ohci) not
enumerating on a warm reboot.

The audio issue shows up after you do something as simple as using the
touchscreen to access anything that produces a sound, that can be entering
the menus, tapping an icon, anything, this will cause the mini210S to fail
to boot after a warm reboot.

There are probably going to be 2 solutions but only one of them open to us
for now.

Just need to edit the reset code in the kernel sources to use the watchdog
reset, that will cause the arm soc to do an almost full hardware reset,
which then leaves the mini210S in a state where it will reboot correctly
and enumerate the usb devices.

The other way would be for superboot to check for the reset source and
setup the devices correctly, ready for the kernel.

I'll see about posting the fix here a bit later on.

EdwardK
Thank you for your quick answer. 
Currently the device uses ECHI -  it's a usb 2 device.
I'm not experienced in the kernel code; Could you help me with the mod you
proposed?  Or maybe you have already the reset code? could you paste it? 
thanks

edward

EdwardK
I have the sdcard updater so superboot is also an option but I didn't
compile it at the moment so I think it's easier to modify the zImage -
linux kernel.

EdwardK
I made a test by using the /dev/watchdog and after the watchdog
timeout/reset. The usbhub did find all devices properly!

Reggie
sorry for not replying sooner edward, I've been busy.  Glad you found a
solution of your own.  If you could post it here, then everyone else can
use it too.

I'll get mine posted here later today.