I have an old USBASP and the firmware needs to be updated for it to function (error: avrdude: warning: cannot set sck period. please check for usbasp firmware update). I don't have another USBASP with which to update it so I was thinking I could perhaps use an Arduino (Nano Every) as ISP but I'm not sure I can upload the firmware I downloaded with the Arduino IDE.
Thanks very much for the suggestion. I'm trying to do this now.
When I try to run the configuration: -c arduinoisp -p m8 -P COM9 -b 19200 -U flash:r:"E:\Projects\Electronics\USBASP firmware backup\oldfirmware.hex":h
using AVRDudess, I get the error
avrdude.exe: Error: Invalid -P value: 'COM9'
Use -P usb:bus:device
avrdude.exe: opening programmer "arduinoisp" on port "COM9" failed
I'm certain that COM9 is the correct com port for the Arduino Every (which has been flashed with ArduinoISP) though.
Am I supposed to enter details from the Details tab of the Properties box for the device in Device Manager? I'm using Windows 10.
Is this what it wants? Hardware ID USB\VID_2341&PID_0058&REV_0100
Busnumber 00000000
The goal was to back up the old firmware before attempting to write new firmware.
arduinoisp is the wrong protocol for the "Arduino as ISP" programmer. Confusingly, Arduino manufactured a programmer named "ArduinoISP" that was actually a USBtinyISP programmer. The arduinoisp protocol is for use with that long since retired programmer hardware.
You must use the stk500v1 protocol with the "Arduino as ISP" programmer (or the arduino protocol if you are using an ATmega32U4-based board like the Leonardo as the programmer).
Unfortunately my experiments indicate this board can not be used as an "Arduino as ISP", but feel free to give it a try.
If you bought a Chinese USBasp clone then it probably is not possible. The reason is the manufacturers of those programmers set the fuses on the microcontroller to prevent reading the binary. You can run the AVRDUDE read command, but the file you get will be worthless. So changing the firmware on those programmers is a one way street.