I have experienced problems with one of the 2 USBasp programmers we have at MakeRiga and decided to flash the firmware. Here's how to do it.
- Download the latest firmware from http://www.fischl.de/usbasp/. At the time of writing this it was http://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz
- Extract the archive
- There are 3 firmwares inside the usbasp.2011-05-28\bin\firmware directory: usbasp.atmega88.2011-05-28.hex, usbasp.atmega8.2011-05-28.hex and usbasp.atmega48.2009-02-28.hex. The difference between them is the target micro-controller. Check which one you have.
- To update the firmware you also need to set jumper J2 on the USBasp to update as explained in the Readme.txt
- Set both USBasp to 5V on jumper J1 and connect them via a 10 pin cable
- Finally connect the programmer to the computer USB port
- Now let's get to avrdude. Copy the correct firmware to the avrdude directory.
- Backup the original firmware. You'll need to replace VARIABLE with your micro-controller version: atmega8, atmega48 or atmega88
avrdude -c usbasp -p VARIABLE -U flash:r:flash-usbasp.bin:r
- To write the latest firmware. Replace FIRMWARE with your firmware
avrdude -c usbasp -p VARIABLE -U flash:w:FIRMWARE