Re: Device failing to enumerate with EHCI

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Fri, 23 Mar 2007, Oliver Neukum wrote:

> Hi,
> 
> I got a bug report about a device failing if EHCI is loaded shortly
> after OHCI had been loaded. The device stalls. This seems to violate
> the spec. Is there a reason not to clear the halt?
> 
> 	Regards
> 		Oliver
> 
> usb 2-6.1.4: khubd timed out on ep0in len=0/255
> usb 2-6.1.4: string descriptor 0 read error: -32
> usb 2-6.1.4: new device found, idVendor=0430, idProduct=00a2
> usb 2-6.1.4: new device strings: Mfr=0, Product=1, SerialNumber=0
> usb 2-6.1.4: uevent
> usb 2-6.1.4: device is bus-powered
> usb 2-6.1.4: configuration #1 chosen from 1 choice
> usb 2-6.1.4: can't set config #1, error -32

Looks like the device isn't working too well: a timeout and two STALLs.  
Maybe it doesn't like to be reset while it's in the middle of enumerating, 
which is what typically happens when ehci-hcd is loaded shortly after the 
other HCDs.  (That's why we always recommend loading ehci-hcd first.)

Stalling endpoint 0 isn't against the spec.  It's the proper way for a
device to respond to a request that it doesn't support.

We don't clear the halt because the host is never supposed to clear halts
on ep0.  If the halt is a "protocol stall" (the normal case) then the
device will clear it automatically when it receives the next SETUP packet.  
If the halt is a "functional stall" (discouraged by the USB spec) there
is no way to clear it -- the Clear-Halt request won't get through because
ep0 is halted!

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.