ESP8266 EFUSE Settings

WheresWally
Posts: 3
Joined: Sun May 14, 2017 11:57 pm

ESP8266 EFUSE Settings

Postby WheresWally » Wed May 17, 2017 4:31 pm

Hi, could someone that knows please explain what EFUSE setting are?

I have 2 modules that always Boot-Loop-Exception(0) forever.
Are these parts recoverable or are they doomed?
When I use the Download Flasher V2.4 it shows the following.

ESP8266 #1
bit[1:0] error
===================
CRC IN MODE1:
crc_val_res: 100
target crc val: 100
========================
CRC IN MODE1:
crc_val_res: 233
target crc val: 233
========================
efuse warning found...

EFUSE LOG:
REG0:D4E90001
REG1:4200D107
REG2:6400b000
REG3:005CCF7F
===================
EFUSE NORMAL MODE
===================
EFUSE VAL ERROR...
EFUSE VAL WARNING...



ESP8266 #2
bit79:76 error
bit[1:0] error
bit[59:56] error
===============
CRC IN MODE1:
crc_val_res: 248
target crc val: 163
=================
bit[47:24] crc warning
efuse warning found...

EFUSE LOG:
REG0:FFA300FF
REG1:FFEFD7F0
REG2:feffffff
REG3:07FFFFFF
===================
EFUSE NORMAL MODE
===================
EFUSE VAL ERROR...
EFUSE VAL WARNING...

User avatar
pratik
Posts: 450
Joined: Wed Jun 29, 2016 7:17 pm
Location: India
Contact:

Re: ESP8266 EFUSE Settings

Postby pratik » Thu May 18, 2017 12:29 pm

The eFuse settings for ESP8266 are not publicly documented for some reasons. But eFuse is a one-time-programmable memory.
Using a third party flash download tool may sometimes cause issues if it writes incorrect values to the fuse bits.
You should start off with new modules, I don't think eFuse errors can be resolved - they are OTP for security reasons.
Regards,
Pratik Panda
Website: http://www.PratikPanda.com

Custom firmware, Knowledge base and freelancing (ESP8266/ESP32):
http://www.iot-bits.com

WheresWally
Posts: 3
Joined: Sun May 14, 2017 11:57 pm

Re: ESP8266 EFUSE Settings

Postby WheresWally » Thu May 18, 2017 6:54 pm

Yes pratik, I think that is the case. I have found more information on the ESP32 and that is the case with the ESP32, well some of them at least.
I assume the hint is in the name,"FUSE".
One time writable registers.
Thanks

grange
Posts: 2
Joined: Tue Sep 19, 2017 4:20 am

Re: ESP8266 EFUSE Settings

Postby grange » Tue Sep 19, 2017 4:40 am

Hi,

as I had the same problem (and many others with my ESP01) and somehow fixed it today, I want to let you know what I did. I am sure that somebody else runs into the same problems again.

So what I did: basically I received an ESP8266 ESP01 with 8MBit / 1 MB Flash memory yesterday and played around with AT commands. Then I downloaded the flash downloader tool and upgraded the firmware sucessfully to version 2.0 (as described here). The ESP01 worked a couple of minutes but then the blue started to light up and the board spammed weird stuff into the terminal.

The blue led stayed on even when Tx and Rx were disconnected from by USB2TTL. So after a while reading I found out that it might be caught in some flash routine. Because of that I wanted to reset the firmware to solve that problem but ran into more problems with it.

1) the flash download tool didn't work anymore. From CRC errors to EFUSE errors to "chip sync failed" errors - I didn't get it to work anymore.
2) then I found another flash tool called NODEMCU FIRMWARE PROGRAMMER which seemed to be very handy. It has basically the same options as the first one but seemed to handle errors correctly. I then succeeded in flashing the firmware to the ESP01. But the problem with the blue led still existed. I tried to flash NODEMCU a couple of times but that didn't work either. Then I tried to flash version 1.4 from EspressIf but to no avail either.
3) As flashing worked I thought that erasing the whole flash memory would be the best thing to do but all tries with flashing a 1MB blank file to the ESP01 didn't work out either
4)I read about esptool.py a couple of times and decided to give it a try as it has an option to erase the whole flash memory. In this video it is shown how to get it running on windows. Just install python, set the PATH variable, and install the esptool (py -m pip install esptool). Then you have to find the directory where the esptool has been installed to go there and erase the whole flash: esptool.py --port COM10 erase_flash

Then I downloaded the latest SDK from EspressIf (ESP8266_NONOS_SDK-2.1.0.zip), extracted it and followed the instructions in bin/at/readme.md. I had to write four different .bin files to four different memory sectors as described in readme.

For example: esptool.py --port COM10 write_flash -fm qio 0x00000 C:\Users\MyUsername\Downloads\ESP8266_NONOS_SDK-2.1.0\bin\boot_v1.7.bin

The third file is optional but without it my ESP01 got stuck into a boot-loop. After flashing it too everything was ok (after a couple of restarts - maybe the board takes a couple of seconds for startup after flashing the firmware).

Now it is working again - just took me the whole day to fix it :-D
Hope this helps!

Who is online

Users browsing this forum: No registered users and 3 guests