On Mon, 22 Sep 2003, David Brownell wrote:

> > So it is somehow related to USB-1 vs USB-2. I don't understand why the 
> > device would make a difference for something like mode page 8, but it 
> > looks like it transfers data fine for _small_ mode page requests under 
> > USB-1, and under USB-2 it works even for big ones.
> 
> It could be some kind of logic in the device forgetting that to use
> the right maxpacket setting in that specific case.

Just a wild guess: If the device misbehaved on HS/FS transition and would 
send packets >64 bytes in FS mode, I think it would explain the babble 
issue:

* the 128 byte read which reported babble was the first IN transfer >64 
  byte and the babble condition was reported after receiving 64 bytes, 
  i.e. at a point where the HC has stored _less_ data than expected!

* limiting the transfer length to 64 bytes made the babble disappear

* works with EHCI because HS can handle bigger packets

Unfortunately I don't see an easy way to check the sourced packed size on 
the wire - except using a bus analyzer of course.

I'm not sure how uhci behaves with packets exceeding FS max packet size - 
if it doesn't fit into the read buffer it should report babble as well - 
but what if the buffer is big enough and it's just the packet is to big? 
IIRC the TD's actlen is 11-bit anyway. Could it be this device (mis)uses 
HS maxpacket when operating at fullspeed?

Martin




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to