Anyone who has downloaded, compiled and used the newest AVRDUDE (version 6.3) may have noticed that when the verbose mode is set (-v or -vv), the safemode report fails to display the value of the lfuse (low fuse).
To fix the bug, edit the file "safemode.c" and change line 183 from this:
[b]avrdude_message([color=red]MSG_DEBUG[/color], "%s: safemode: lfuse reads as %X\n", progname, safemode_lfuse);[/b]
[b]avrdude_message([color=red]MSG_NOTICE[/color], "%s: safemode: lfuse reads as %X\n", progname, safemode_lfuse); [/b]
The change is highlighted in red.
Note: This is for AVRDUDE version 6.3 C source code. If you have a different version, or if line 183 isn't the same as what I posted above, do NOT make any changes!
You will notice that all the fuses use the exact same code, copied verbatim for each one (why didn't they use one function to print all of them?). Anyway, when they copied over the block for "lfuse", they forgot to change "MSG_DEBUG" to "MSG_NOTICE".
If you look at the code, you will see that "fuse", "hfuse" and "efuse" are virtually identical, but "lfuse" has the "MSG_DEBUG" mistake in it.
So, edit your source, recompile and taa-daa, the bug is fixed.
(edit to add): Just checked - version 6.2 has the SAME bug, in the SAME file, on the SAME line number, so the fix above also applies to C source code version 6.2. Version 6.1 code is substantially different and DOES NOT HAVE this bug at all.
In summary, this post DOES NOT apply to versions earlier that 6.2 - only version 6.2 and 6.3