Some device vendors provide built-in rescue functions in their device's flash ROM boot partition that remain there, even after a OpenWrt firmware upgrade, so a OpenWrt upgrade will not overwrite this rescue function.
This rescue functions can be used to recover a failed flash update (no matter if the failed flash was vendor firmware or OpenWrt) or recover from an otherwise dead device, as long as the device hardware and the rescue function is still intact. These rescue partitions do consume a tiny piece of the flash, but renders a device mostly unbrickable.
Unfortunately such rescue functions are not available from all vendors, sometimes not for all models from a vendor and the actual rescue process is mostly vendor specific. This page is meant to collect the known rescue methods of different router vendors or router models.
Check the “device page” of your device (look for a link in the last columns of the Table of Hardware). The device page may describe a rescue method for your specific device.
Some of the methods may require creating a custom RS232-serial-cable or soldering-skills, while most newer devices require just a certain software trick to remote flash the device from a PC client.
Many devices of the following manufacturers support a recovery procedures as listed here:
|ASUS||TFTP-like rescue procedure with a manufacturer utility to be installed on a client PC.||Official ASUS recovery documentation|
|D-Link||Several devices have a dedicated rescue firmware partition in their flash ROM.|
|Linksys|| Several older devices support a remote TFTP recovery procedure.|
Several newer devices have 2 independent firmware partitions.
| - Official Linksys TFTP recovery documentation
- For Linksys dual firmware, see below
|Mikrotik||TFTP-like rescure procedure with a manufacturer utility called 'netinstall' installed on a client PC.||Official Microtik recovery documentation|
|Netgear||TFTP on a PC client can be used to rescue the firmware.||Official Netgear TFTP recovery documentation|
|TP-Link|| TFTP on a PC client can be used to rescue the firmware.|
Several newer devices provide a rescue partition.
|TP-Link forum TFTP recovery documentation|
|Ubiquiti (UBNT)||TFTP on a PC client can be used to rescue the firmware.||Official UBNT site: site search for 'firmware recovery'|
|Xiaomi||Several devices with USB port support a rescue USB stick method.|
|ZBT (ZBTLink)|| Several devices support a rescue partition.|
On some devices, TFTP on a PC client can be used to rescue the firmware.
Examples: the different Raspberry PI's, devices of PC Engines).
OpenWrt devices that use a drive-installed image.gz or sdcard.img.gz are not an issue to recover. The OpenWrt OS is not applied to flash ROM, but installed on a removable drive, e.g. an SD-card. For recovery, mount the removable drive in a working PC and reapply the OpenWrt image to the removable drive according to the device-specific instructions.
In several of these recovery procedures you will need a working TFTP server on your PC, see how to install and configure it in Set up a TFTP Server article.
Supported by some Xiaomi devices
process for Xiaomi Mi:
miwifi.binon an USB flash drive (must be FAT or FAT32)
Supported by several devices at least of the following vendors: D-Link, TP-Link, ZBTLink
This function is based on extra code in the boot partition in the flash ROM and it is still available on the device, even after the device has been flashed to OpenWrt. No further tools are needed, to trigger this rescue function.
Procedure, to boot into rescue partition:
Supported by newer Linksys devices
Most newer devices (mostly those with decent amount of flash ROM) have 2 independent firmware partitions. A usage strategy could be, to install OpenWrt only into one of the 2 partitions and leave the vendor firmware in the other partition. No further tools are required to toggle between the two partitions.
Procedure, to manually toggle between the two firmware partitions:
When successfully booted into any of the two partitions, a triggered firmware update will flash the other, secondary partition. The partition that is currently booted, stays untouched.