Hi,
I have talked to Denis Carikli (GNUtoo) about this. He has implemented the firmware for the Arduinos implementing serprog. IIRC you got an Arduino Uno which uses a second avr chip instead of an FTDI to connect the micorcontroller to the host. The standard firmware of that chip does not cope well with high bandwidths, i.e. it is buggy. Denis told me that reducing the baud rate supplied to serprog should help with that problem in general, so I would suggest that you try that.
I tried that, but it does not work. 1500000 is the lowest rate which connects the arduino. All values less gave me: Initializing serprog programmer Baud rate is 1000000 now. serprog: connected - attempting to synchronize ........Error: cannot synchronize protocol - check communications and reset device? Error: Programmer initialization failed.
And with 1500000 i got the same error as with 2000000. The strange thing is why it happens only with function1 and not with the others?!
In the long term we want to provide a fixed firmware for the communication Atmel processor. But he has no time and I am not too much interested into fixing foreign code... I'd rather work on my own serprog implementations :)
I hope it works some day. The arduino is very cheap and perfectly to test/add new chips. Normal (commercial) programmers are very expensive. My dream is that some day some one build a parprog which can read and maybe write parallel flashs. :-) Of course, write is difficult, but i would be happy if only reading (dumping) would work. Should be possible with shift registers.
I will commit your patch (with my sign-off) soon, as it seems to be fine. Thank you very much.
Yes it should work. Tested a lot. Erase with function1 is the only negative thing i found.
Thank you for commit.
Greets