On Thu, 2004-07-22 at 14:39, Alan Stern wrote:
> I don't know whether the patch I sent will really work. There's a problem
> with the initial 64-byte get_descriptor and it's not clear how Windows
> works around it. The problem is that after the device sends its first
> 8-byte packet and is ready to send the next one, the host thinks the short
> packet indicates the end of the response. So the host will send an OUT
> packet for the status stage of the transfer but the device will expect to
> get another IN packet. If the device responds with an ACK to the OUT then
> all is well, but otherwise the transfer will fail. Maybe the host doesn't
> care if the transfer fails; maybe it only checks to see that the first 8
> bytes were transferred okay.
I needed a check for this when working on the national 9604 gadget
driver. The National chip only has an 8 byte fifo on end point 0.
Until the device is in the configured state I had to change wLength to
8, if I read a greater value. I haven't checked the USB spec. but I
think there is probably some logic behind MS's thinking and this is how
things are supposed to work.
David
--
~~~~~~~~~~~~~~~~~~~~~~~~
David Meggy
Engineering
Technical Solutions Inc.
Unit #1 7157 Honeyman St
Delta BC Canada, V4G 1E2
www.techsol.ca
eMail: [EMAIL PROTECTED]
Tel: 604 946 TECH (8324)
Fax: 604 946 6445
~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel