Skip to content

Bricked ESP32 Modules - XMC flash chip corrupt #6945

@vicatcu

Description

@vicatcu

Board

All boards theoretically

Device Description

Not relevant, but a custom PCB for my product

Hardware Configuration

not relevant, but yes

Version

v1.0.6

IDE Name

not relevant

Operating System

not relevant

Flash frequency

40MHz

PSRAM enabled

no

Upload speed

115200

Description

@espressif has officially closed espressif/esp-idf#7994 and asked that we open new issues for "related problems". Well, the Arduino-ESP32 environment is just such a thing.

The summary of the problem is that some modules have flash chips from XMC that can get into a bad state and irreparably brick the modules (like they won't get past the second level bootloader and can't be brought back to life). The solution, or at least a solution is running a script using esptool.py to lock the flash status bits so that the problem can't happen. There was some solution endorsed by espressif in the IDF repository.

What we need here, I think, is a solution for Arduino-ESP32 to solve this at runtime, so that it can be deployed in an OTA update. Maybe it should be "built in" transparently to the core build before main runs or something, but I suspect an opt-in strategy would cause less drama to the project stakeholders as a whole. I'm thinking, at a bare minimum, we should have an example sketch that demonstrates the ability to inoculate the flash chip at runtime, if it's not already inoculated, as the esptool.py script in the parent issue does. I realize the project is now on the 2.0.x release, but it would be really wonderful if a back port point release could be made available to the 1.0.x package as well, for those of us who are not up to the latest and greatest.

I want to emphasize that this is a pretty serious issue for commercial users of this project, and if there's any way I can be put to work helping to solve the problem, I am ready to put time into it. We've already had a bunch of returns, confirmed because of this issue, and more showing up weekly. I absolutely need guidance and support though to get it done right though. I don't fully understand the problem or obstacles. Maybe @igrr can weigh in and offer some support?

Sketch

not relevant

Debug Message

not relevant, doesn't start user application when flash is corrupted and locked out

Other Steps to Reproduce

XMC flash chips are susceptible to this, not all ESP32 modules have XMC flash chips installed

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions