The firmware was indeed outdated, but can update. Therefore you have to bridge the jumper J1, that here you have a 2x Pin Header off and solder on a jumper.
The firmware can now flash with an Arduino UNO. These invites you to ArduinoISP Sketch on the UN and combines this with the Programmer. The programmer must NOT for the USB connector plug --- only the Arduino is connected to the PC. The pins are connected in this way:
+ 5V -> + 5V
GND -> GND
MOSI -> 11
MISO -> 12
RESET -> 10
SCK -> 13
Under Linux testing you with:
sudo avrdude -c Arduino -P / dev / ttyACM0 -b -p m8 19200 -v
the connection to the Arduino. If you "avrdude: AVR device initialized and ready to accept instructions" sees and
"Avrdude: safemode: Fuses OK (E: FF, H: D9, L: BF)", then the connection is established and you can proceed. Some programmers a lock bit is set. These can not be flashing in this way.
Then the newer firmware you look worried (Google search for "USBasp Firmware" or "Thomas Fischl" or "Roger Clark," there are also found the unsigned Windows drivers).
The new firmware is then:
sudo avrdude -c Arduino -P / dev / ttyACM0 -b -p m8 19200 -F -U flash: w: main.hex
transmitted. (Or usbasp.atmega8.2011-05-28.hex, the net circulating even modified versions)
The programmer can then be selected as "USBasp" with the Arduino IDE. The message "avrdude: warning:. Can not set SCK period please check for USBasp firmware update" should no longer occur thereafter.