Change to the directory where avrdude is located. If you don’t know, you can search for it with: sudo find / -name avrdude
(find can take a long time to search the whole filesystem. You can interrupt it with Ctrl-c).
For example, on my system (Linux Mint, May 2022) it was in a subdirectory of the arduino-1.8.19 of my home directory, change directory to the one containing avrdude:
Find where avrdude.conf is stored on your system: sudo find / -name avrdude.conf On my system, there were multiple files, but the one in the ‘avr’ path was at:
(in Linux, you can always use the tilde character, ~ as the shortcut for your /home/username folder). Given that we’ve already changed directory to the avr/bin folder, we can put in a shorter relative path to the conf file:
Then connect the USBasp and enter the avrdude command:
./avrdude -c usbasp -p t85 -C ../etc/avrdude.conf
For this example I was reading the fuses of an ATtiny85, but if you’re using a ‘normal’ Arduino Uno or Nano, you change t85 to m328p
Explanation of command.
-c sets the programmer type, in this case usbasp
-p specifies the ‘part number’: the name of the target device.
-C specifies the location of the avrdude.conf configuration file.
You should see about five lines of output, one of which displays the fuse settings:
avrdude: safemode: Fuses OK (E:FF, H:DF, L:F1)
E is short for ‘Extended’, H for ‘High’ and ‘L’ for low. If you want to see more detail you can add -v as an option to the command (at the end, separated by a space) to give ‘verbose output’.