Follow-up Comment #4, bug #43268 (project avrdude): OK, fired the USB analyzer onto it.
The difference between Linux and Windows from the analyzer's point of view is that Windows transactions are wrapped in a countainer declaring them as "BULK IN" (or "BULK OUT"), Linux transactions aren't. Then, inside the Windows "BULK IN", the incomplete transaction is flagged as "Malformed", commented as "The handshake is missing". In contrast, the incomplete Linux transactions are just that, incomplete only (which is expected since no data are present). Strange enough, if I connect an Atmel AVRISPmkII, there is no sign at all from the usb_drain() visible on the bus. I don't understand why they are handled differently though. I'm attaching the analyzer trace reports for anyone who is interested. In the lufa-avrisp2.xml file, the interesting spot is at time 2.074379450 (Linux usb_drain()), and time 12.669058217 (Windows usb_drain()). In atmel-avrisp2.xml, the respective OUT transaction (CMD_SIGN_ON) is at time 10.247395683. (file #32160, file #32161) _______________________________________________________ Additional Item Attachment: File name: lufa-avrisp2.xml.bz2 Size:1068 KB File name: atmel-avrisp2.xml.bz2 Size:237 KB _______________________________________________________ Reply to this item at: <http://savannah.nongnu.org/bugs/?43268> _______________________________________________ Message sent via/by Savannah http://savannah.nongnu.org/ _______________________________________________ avrdude-dev mailing list avrdude-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/avrdude-dev