I hooked up the arduino ISP to a 2 Channel Oscilloscope. Duemilanove board with Uno chip as ISP, and Uno board as target. I had a computer running a 2.6 kernel and arduino 021, and one with ubuntu 11.10 with 3.0 kernel. AVR compiler from repository.
In short my findings:
|Arduino ISP (021, 2.6)||Arduino ISP (1.0, 3.0)|
|linux 2.6 control computer, 021|
success (0, 1)
|linux 3.0 control computer, 1.0|
attached are the traces. The number in brackets in the table above correspond to the trace filename. The oscilloscope is an Agilent without an digital capture option. I used the reset as a trigger, channel two is one of the data connections between the boards.
I did not have a close look at the traces yet, but something must go wrong after initial negotiation.
It seems that you need to compile and upload the ISP sketch using 2.6. This can then be used on a 3.0 kernel system. So keep one spare atmega328 as ISP around.