When I try to read the efuse of Arduino Uno it gives me 0 for all of the fuses

I am trying to read the fuse bits of Arduino Uno and it is showing me all the fuse bits as zero. I am sure it is wrong can someone help me what happening here.

Here is what I get

avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)

here is the entire log from avrdude.

avrdude: Version 6.3, compiled on Feb 17 2016 at 09:25:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\AVRDUDE\avrdude.conf"

         Using Port                    : com8
         Using Programmer              : arduino
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: reading lfuse memory:

Reading | ################################################## | 100% 0.01s

avrdude: writing output file "<stdout>"
:0100000000FF
:00000001FF

avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done.  Thank you.

The Arduino Uno bootloader does not support reading (or writing) of the fuses.

westfw:
The Arduino Uno bootloader does not support reading (or writing) of the fuses.

So what should I do. I can't even read the flash. Can I use any other programmer instead?

You can use ISP programmer.

The bootloader for UNO/ATmega328P has to fit into 512B, minimum size of the boot region. This was the priority, the maximum of flash memory for the sketch code.

You can also create your own version of the bootloader. For an example, I am using mainly ATmega1284P, minimal size of the boot region is 1024B so there is a room for bigger image and I am using Optiboot with some additional features, like ability of reading fuses.

See: Optiboot AVR Bootloader · GitHub

Plz tell me where to find all of these info.
Also, I have one more question. Does Arduino pro mini board has an onboard programmer or its just a USB to TTL converter?
When we are uploading the SKETCH on Arduino UNO using the USB cable do we need to have the bootloader on the chip?
Does the USB on arduino pro mini board connected to USART or SPI ?

You will need USB/serial converter for ProMini. It has not USB/serial converter.

Lot of information is here on the web, product specification, schematics...

When we are uploading the SKETCH on Arduino UNO using the USB cable do we need to have the bootloader on the chip?

Yes, the bootloader is needed for serial programming.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.