On Mon, 2005-04-04 at 15:31 -0400, Alan Stern wrote:

> For full-speed devices that's right.  For low-speed devices the upper 
> limit is 8, and for high-speed it's 1024.  

Yeah, that's what I read from the spec too, thanks for confirming.

> What makes you think the value 
> should be 81?  Didn't your previous email say it was 64?

Well, yes. I thought it was 64 -- but that's easy to explain: at first I
used a hacked-up version of the usbhid driver to look at the data
generated by the trackpad and it was generating 64 and 17 byte
transfers. But that was due to the usbhid driver allocating a 64 byte
buffer and [guess ahead] the kernel receiving too much data, filling the
64 byte buffer till it was full and giving me the next 17 bytes when I
resubmitted my URB.
If I pass a URB into the usb layer that has an 81 byte buffer, all those
81 bytes get filled! The only way I can explain this is that the device
actually transfers 81 bytes. And the last of those 81 bytes is even
significant (the 81 bytes are comprised of 40 bytes measurement [I only
understand 32 of them yet], 40 null bytes and 1 byte indicating whether
the button is pressed or not).

But maybe I'm fundamentally misunderstanding something since I don't
actually know how the usb layer works internally, I only read the USB
chapter of LDD3 and looked a bit at the spec.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to