Matthew Dharm wrote:
What I get back is an error code of -75 (which means babble, IIRC) and 512 bytes of data received.
You mean "-EOVERFLOW"? Yes that's what it means. (Error code values are arch-specific, though often <asm-generic/errno.h> is used and that says EOVERFLOW == 75 ... like on x86.)
Have you ruled out actually receiving a babble error from the hardware? Like by switching cables or ports? Or best by seeing on a CATC that all is fine. Strictly speaking, I don't think any of the HCDs (can) handle that correctly ... the USB spec says something about disabling hub ports when those are seen.
It seems to me that 'babble' and 'only 512 bytes received' are somewhat contradictory. That's not mentioning the fact that I know this device works just fine with this command sequence.
"Babble" status is what the hardware reported for the last packet in that transfer ... it won't continue after getting an error. (If there is no error, it continues until the last packet in the buffer. If there was still no error, it returns status zero.) "512 bytes" is quite reasonable, as if the first packet in that transfer was when the babble was detected: if the device were to write 513 bytes, that won't all fit into a 512 byte buffer. So reporting 512 bytes _and_ babble would make sense. Or as if for some reason something snuck a zero-byte read into the queue ... if you suspect that's the case, apply some debug printks. (Buffer is zero bytes, device provides a full packet ... tadaa, that's an overflow situation.)
Writing to the device appears to work perfectly.
Right, that error can only appear on reads, since that's the only time the hardware could overrun a buffer you provided. - Dave
Matt
------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel