Aug 5, 2009 0
Originally I had thought my USB storage device was successfully connecting to router, it wasn’t. After reading a bit I discovered why…
The USB 2.0 specification requires a 10ms reset recovery time (TRSTRCY) after port resets before commands are issued to USB devices.
However linux kernels before 2.6.11 do not implement this recovery time leading to failures on USB 2.0 devices.
This failure is intermittent and seen on some devices (If other system activity causes there to be a 10ms delay between port resume and device access, then it works, else it would fail).
It also depends on the Host controller implementation.
The EHCI controller in the Broadcom HT1000 (BCM5785) SouthBridge does not like this violation of the spec. and fails to initialize devices.
I was using DD-WRT v24-sp1, and unfortunately I was having this problem. Luckily there is an unstable SVN version that fixes this problem.