On Wed, 29 Apr 2015 21:20:48 +0100 Steven Honeyman stevenhoneyman@gmail.com wrote:
I'm adding support (OK, *trying* to add support...) for a USB programmer in flashrom. I've had it working without error, but at an incredibly slow rate due to a tiny 128 byte chunk size, which is all I can get it to work with.
This (USB driver development) is new to me so I expected to hit a few problems and learn along the way... but I'm at a point where I don't know where the problem is and could use a push in the right direction.
A linux+libusb1.0 program already exists, which is using async bulk transfer and 8192 byte chunks. The closed source Windows driver reads in the same way but 4096 byte chunks. As far as I know, the legacy libusb 0.1 does not support async so I can't just copy/paste code here.
I don't think you should implement it for libusb 0.1 at all... we will switch to 1.0 sooner or later anyway and it is certainly not worth it to waste time on 0.1 if there is code for 1.0 already. See also Kyösti's attempt to port dediprog to libusb 1.0: http://patchwork.coreboot.org/patch/3905/
I don't have time to look into your current problem in detail. #libusb on freenode or their mailing list might be more helpful if you still want to continue. Showing some code might also help ;)