Tech Support > Microsoft Windows > Drivers > Requesting for less than endpoint size in UsbBuildInterruptOrBulkTransferRequest
Requesting for less than endpoint size in UsbBuildInterruptOrBulkTransferRequest
Posted by Abhijit Mmirajkar on January 19th, 2006


Hi,

For some reason I want to submit a read request with a buffer length of
128 which is less than the BULK-IN endpoint size (512 bytes).
When I put the TransferBufferLength as 128 in
UsbBuildInterruptOrBulkTransferRequest and issued the request to host
controller driver, it never returned back to me !

I saw on the USB bus analyzer that the device responded with 512 bytes
of data, but the host did not give any ACK (nor NAK) for it, and
stopped issuing any further bulk INs.

I was curious to know whethere there is any such restriction that if a
client driver should issue a bulk request of at least endpoint size ?
It is not documented anywhere it seems.
Thanks,

Regards,
Abhijit

Posted by Maxim S. Shatskih on January 19th, 2006


IIRC there was a "short transfer OK" flag in the URB. Can it help?

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com

"Abhijit Mmirajkar" <abhijit.mirajkar@gmail.com> wrote in message
news:1137662906.627235.155570@g14g2000cwa.googlegr oups.com...

Posted by Alexander Grigoriev on January 20th, 2006


If you KNOW that the device will send less data, you CAN request less that
endpoint max packet size. If the device sends more than your buffer size,
the transfer fails, the endpoint is stalled.

"Abhijit Mmirajkar" <abhijit.mirajkar@gmail.com> wrote in message
news:1137662906.627235.155570@g14g2000cwa.googlegr oups.com...



Similar Posts