On Fri, 27 Oct 2006, Frank van Maarseveen wrote:

> > > > > It took me a while to figure it out but when this particular USB 
> > > > > storage device
> > > > > is booted from after switching on power (no standby or powersave but 
> > > > > a real cold boot)
> > > > > then with EHCI configured the partition table cannot be read by 
> > > > > kernel and not by
> > > > > "hdparm -z". Instead I see
> > > > > 
> > > > >       usb 1-3: reset high speed USB device using ehci_hcd and address 
> > > > > 2
> > > > > 
> > > > > every few (say 10) seconds. From this point on:
> > > > > 
> > > > > -     A warm reboot doesn't fix it.
> > > > > -     A poweroff (apm=power-off) + pressing reset button doesn't fix 
> > > > > it
> > > > > -     replugging the device while the kernel runs fixes it
> > > > > -     plugging main power renders it unusable again
> > > > > 
> > > > > When another brand USB storage device is connected at the same time, 
> > > > > that one
> > > > > remains usable all the time. Without EHCI in the kernel both works.

> > My only thought is that maybe the device doesn't like the long delay 
> > during boot-up.  It's just sitting there, getting power from the USB port 
> > but not receiving any signals, for 30 seconds or more before the drivers 
> > get loaded and start talking to it.  Whereas if you plug it in after the 
> > system is already up, then it gets enumerated right away at high speed.
> 
> But the BIOS succesfully booted the kernel from this USB stick.

You don't know whether the BIOS used full speed or high speed.  If it used 
full speed there's no mystery, because the device always works at full 
speed.

For all we know the BIOS might send some weird command to the stick which
causes it to fail when running at high speed!

>  And
> replugging the USB stick is a fix which survives a reboot and even power
> standby mode (USB stick has a LED which stays on though).

When you replug the stick it doesn't experience any long pause between 
power on and enumeration.  Neither rebooting nor power standby mode shuts 
off the power, so the stick remains usable.

>  The issue only
> occurs after power has completely been removed and restored + EHCI driver
> in kernel.

That was my guess -- the device doesn't like to run at high speed (EHCI) 
after a long pause between power-on and enumeration.

>  And not with every USB stick so that's a factor too.

That's because most USB sticks work correctly.  There's something strange
about your Sandisk device.

> Anyway, it's not that important for me anymore. I was just hoping that
> it would provide a clue to avoid similar ehci problems in the future.

It's not an EHCI problem.  It's not a problem with the kernel, the USB
stack, the EHCI driver, or any part of Linux.  The problem is in the
device.  So I don't see any way to avoid it, now or in the future.

Alan Stern


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to