On Mon, 14 Oct 2002, Dan Streetman wrote: > >a DATA stage, a single control transfer might take up to 5 seconds. > > How's that? 5 seconds is 5000 frames, meaning 5000 * maxPacketSize, which > in the worst case is usually not less than 8 bytes, so in 5 seconds you > can transfer 40KB.
You could, yes. But the device is free to be much slower... > I think that's more than 1 control transfer... No. The USB spec (section 9.2.6.4) grants up to 500 msec for every single DATA IN packet in a control transfer. I don't mean the packet would take that long to go over the wire, but it's acceptable to source/sink one packet every 500 msec. This means one would see a lot of NAK's meanwhile. While there is a global upper limit of 5 sec for the whole control transfer if it's DATA OUT, the specs don't mention any upper limit if the DATA stage is directed to the host. With minimal EP0 maxPacketSize=8 and some longish descriptor (long unicode string or big config with several altsettings and/or lot of endpoints or class/vendor specific descriptor appended to the config descriptor) - say 256 bytes - IMHO it would still be a conforming device should it take up to 16 seconds (!) for the transfer (provided it follows the one packet every 500 msec rule). Admittedly, I'm stressing extreme cases here for demonstration - my point was simply it is both expected (due to the involved internal housekeeping) and granted by the specs for a control transfer to be pretty NAK-friendly. I'm just wondering whether I could add such a pathologic device mode to the usbtest firmware to see what would happen ;-) Martin ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
