On Sun, 2 Sep 2012, Orin Eman wrote: > > it has a limitation on transfer size. Do you know what a typical value > > for MAXIMUM_TRANSFER_SIZE is? > > > > > I don't, but comments on the OSR ntdev forum indicate in the order of MB > for high speed devices, hundreds of KB for low and full speed devices and > 4KB for control endpoints (any speed). > > Next time I'm working with our USB device, I'll put the relevant call in > and find out. I use 32KB buffers, so the point is moot for me.
Then it would be feasible for WinUSB backend to break a transfer down to maximum-sized pieces and submit them one at a time. The overhead of waiting for each piece to complete before submitting the next one wouldn't be so bad. (A bounce buffer would be necessary for the last packet if the transfer length wasn't a multiple of the maxpacket value; that also wouldn't be so bad.) Then the RAW_IO flag could always be used and the other options would be irrelevant. It's kind of a shame that Windows goes to such lengths to provide the illusion of a continuous data stream instead of the packetized stream that USB actually uses -- this just causes more complications in the end. Alan Stern ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel