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

Reply via email to