Skip to content

unbricking: document the full chip erase - #558

Draft
MUSTARDTIGERFPV wants to merge 1 commit into
ExpressLRS:masterfrom
MUSTARDTIGERFPV:unbricking-chip-erase
Draft

unbricking: document the full chip erase#558
MUSTARDTIGERFPV wants to merge 1 commit into
ExpressLRS:masterfrom
MUSTARDTIGERFPV:unbricking-chip-erase

Conversation

@MUSTARDTIGERFPV

Copy link
Copy Markdown
Member

Closes #335.

A full chip erase is not documented anywhere on the site. The only esptool mention is in the toolchain setup page, and there is no "erase" content at all, so a user whose device still misbehaves after a clean reflash has no documented next step.

The Unbricking page is the natural home. It is already the central recovery guide, and it already explains that the factory bootloader cannot be damaged, which is exactly the reassurance needed before telling somebody to wipe their flash.

Verified against the Configurator and the flashing tooling

Documented Source
Labelled Erase before flash, under Flashing Options messages.json, "EraseBeforeFlash": "Erase before flash", rendered in the FlashingOptions list
Offered for UART eraseSupported in ConfiguratorView/index.tsx
Offered for EdgeTX Passthrough same
Offered for Betaflight Passthrough only on ESP8285 same, flashingMethod === BetaflightPassthrough && device.platform === 'esp8285'
Never offered for WiFi eraseSupported returns false for everything else
It really is a full erase --erase in binary_configurator.py appends --erase-all to the esptool write_flash call in binary_flash.py, for the ESP8266 UART, ESP8266 Betaflight passthrough, ESP32 UART and ESP32 EdgeTX passthrough paths

The warning

This is the part that matters. An erase discards the binding phrase, the model and output configuration, and any customised Hardware Layout, and none of it can be recovered. The text tells the user to export from the Import/Export tab first, while the device still starts far enough to reach the Web UI.

There is also a note that a chip erase cannot brick the device, since the factory bootloader is not in the erasable flash. That is consistent with what the top of the same page already says, and it is the reason this is safe to recommend as a last resort.

Scope note

I deliberately did not consolidate the Repartitioner boilerplate in this PR. That text is duplicated across roughly 30 device pages and deduplicating it is a large refactor with its own review burden, separate from the missing chip erase content that #335 actually asks for.

Closes ExpressLRS#335.

There is no coverage of a full chip erase anywhere on the site. The
only mention of esptool is in the toolchain setup page, and searching
for "erase" returns nothing relevant, so a user whose device still
misbehaves after a clean reflash has no documented next step.

The Unbricking page is the right home, since it is already the central
recovery guide and already explains that the factory bootloader cannot
be damaged.

Details are taken from the Configurator and the flashing tooling:

- The option is labelled "Erase before flash" and sits under Flashing
  Options.
- eraseSupported allows it for UART, for EdgeTX Passthrough, and for
  Betaflight Passthrough only when the platform is esp8285. It is never
  offered for WiFi.
- In the firmware tooling, --erase adds --erase-all to the esptool
  write_flash call for the same set of methods.

The warning is the important part. An erase discards the binding
phrase, the model and output settings, and a customised Hardware
Layout, so the text tells the user to export from the Import/Export
tab first while the device still starts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

document/configurator full chip erase methods as final troubleshooting step?

1 participant