I have a board with its own bootloader, but I'm finding that the Arduino IDE's version of avrdude (5.4-arduino on OS X) doesn't seem to get along nicely with it. It works fine with newer versions of avrdude (I've tested 5.6 and 5.8). In fact, if I replace the avrdude in the Arduino.app package with a newer version, everything works perfectly from the IDE.
I'd really rather not have to have my users mucking around with the version of avrdude, so I was wondering if anyone might have insight into how I can fix it with Arduino's version. Or, failing that, if anybody knows if the Arduino IDE will update their avrdude version anytime soon.
Here are details of the problem: looking at the verbose output from avrdude, I find that both versions are identical up to the line
avrdude: AVR device initialized and ready to accept instructions
At that point, the newer version of avrdude continues with
Reading | avrdude: Send: V  0  .  .  .  
while the older, Arduino version of avrdude has
Reading | avrdude: Send: u   avrdude: ser_recv(): programmer is not responding avrdude: stk500_recv(): programmer is not responding avrdude: error reading signature data for part "ATMEGA168", rc=-1 avrdude: error reading signature data, rc=-1 avrdude: Send: Q   avrdude: Recv: .  avrdude: Recv: .