arooni: I happily take patches. Please do not take offence. I did not mean to be harsh, but the software is focused on a certain target group for now. I can understand that this might be a bit upsetting, but it is a matter of days when there will be a version consumable for end-users. In case you are still struggling: I'm a bit out of ideas. The compiler error indicates that libusb-1.0 is not picked up.
Niluje: Thank you very much. I've included the patches (using pkg-config is a very good idea) and made a v03.
I've also made a little extension in that now the <address> values can be one of the constants "partitiontable", "header", "uboot", "kernel", "isiswf" or "rootfs".
eureka: I know that it is not a very permissive licence :-) But there are good reasons to that. The USB downloader mode has commands for setting the fuses, and writes to registers. I am pretty sure that it can be used to render the Kindle completely useless, not even accessible in USB downloader mode anymore.
The software does pretty much exactly what ATK does - if I didn't introduce bugs. Looks right by looking at the USB exchange (usbmon+wireshark are a great combo, especially when sniffing USB handling of a virtualized WinXP...). I have error checking everywhere to create a safety net, but it might not cover each and every case. At least, I'd like to hear about a few experiences.
The naming of the variables plus the scarce comments only indicate what I think it is. I am not always all that sure, however. But feel free to ask me about protocol details.
Last edited by hawhill; 07-10-2012 at 05:15 AM.