avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as 5
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as 5
avrdude: safemode: Fuses OK (H:05, E:DF, L:FF)
Values in last line seems swapped relative to previous output.
And it is valid that five high bits of efuse are not shown? In datasheet this bits are shown as 1.
The swapped fuse bytes looks like a bug in avrdude (just a display bug).
You can make the unused bits come out as zero or one depending on the avrdude.conf entry.
And people don't agree on which way to do it, btw- some avrdude.conf entries floating around the internet return ones for unused fuse bytes. Verification fails if you assume one way in your boards.txt entry, but do it the other way in avrdude.conf, too. Discovered while working with my tiny cores)
those are just a couple of the "features" that imo make avrdude one of the most dangerous of popular utilities. there are versions out there that do not suffer from the reversed fuse issue but none afaik to deal with that 1=0 thing. some experts seem to agree with creator/maintainer that there are no real problems but ive personally seen noobs kill chips as a result.
it might be worth it to dig in and fix if source and build were not such a complicated mess and most likely ignored by the community anyway. personally i use other methods when possible and when not i ignore whatever dude has to say on the subject of fuse values. i also take special care to hit ctl-c whenever asked anything about "restore previous value".
DrAzzy:
From avhohlov's post, it sounds like it is fixed in latest avrdude already...
I had a hard time telling telling which version had the problem, Old vs new from what was posted in post #3 since it didn't specify which version the first code block was from.