Hi! I'm currently writing a USB device firmware for a Free Software / Free hardware project based on an AT91SAM7 (see http://www.openpcd.org/)
In order to implement USB DFU (device firmware upgrade), I need support for "big" control out transfers (larger than the 8 byte control endpoint size). I suppose this is a rarely used feature, since most control transfers are used to read information from a device (control in transfers). When I use libusb / usbdevio on a 2.6.17.13 kernel to send a control out transfer of e.g. 256 bytes, then I expect it to create 32 usb data out packets of each 8 bytes size, plus one zero-length packet to terminate the transfer. I'm using usb_control_msg() to do the transfer. However, on the AT91SAM7 I only see the 32 usb data out packets, and no ZLP (zero-length-packet). Transfers of an non-modulo-eight size (e.g. 31 packets of 8 bytes, plus one four-byte packet) work perfectly fine, since in this case no ZLP is supposed to be at the end of the transfer. The host controller is UHCI in this case. Am I somehow assuming something wrong? Is there anything at all on the host software stack that controls the generation of a ZLP at the end of the transfer, or is this all done by the host controller? Any other ideas? -- - Harald Welte <[EMAIL PROTECTED]> http://gnumonks.org/ ============================================================================ We all know Linux is great...it does infinite loops in 5 seconds. -- Linus
pgpGdFq1Bk9sq.pgp
Description: PGP signature
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel