There is little point in merely uninstalling OpenWrt, what you actually want to do, is to replace OpenWrt with the original firmware. You are probably here because the wiki-page for your device does not help you with that. So, first have a look at the flash.layout.
To replace OpenWrt with the original firmware, you most probably do not have to change the boot partition, or the partition containing specific information like
ART, even if you overwrote the bootloader when you installed OpenWrt on your device.
You can use the program
mtd for this:
cd /tmp wget http://www.example.org/original_firmware_STRIPPED.bin mtd -r write /tmp/original_firmware.bin firmware
IMPORTANT: you MUST STRIP the original OEM firmware before using it with mtd, otherwise YOU MAY BRICK YOUR DEVICE
If you want to remove DD-WRT, you should write to the device “linux” instead of “firmware”. (Tested on TP-Link TL-WR841ND V7):
mtd -r write /tmp/original_firmware.bin linux
If you are flashing a Linksys WRT-ACS series, you should write to the device “kernel1” instead of “firmware”. It is not necessary to convert the vendor-provided .img firmware file (Tested on WRT1900ACSv2):
mtd -e kernel1 -r write /tmp/original_firmware.bin linux
OpenWrt has no built-in “pleasantries” to prevent you from going back to original firmware. But sometimes you need to be careful, see e.g. Back to original firmware.
If you get a error message on the above mtd command like “no valid command given” you are using an old version of mtd which doesn't support the -r or -e parameters.
Download a newer statically compiled version
cd /tmp wget http://www.freewrt.org/downloads/tools/mtd-static chmod a+x mtd.static wget http://www.example.org/original.trx ./mtd.static -e linux -r write original.trx linux
TIP: PLEASE READ - Common mistakes thread section 2 also. It describes when you should use the
Only flash a trx, never flash a bin file?
Note: It is no more necessary to cut off the vendor-provided firmware file on Linksys WRT-ACS series. If you only have a Linksys
.bin firmware file, this is not a problem, simply cut off 32 bytes of the header by using the commands below:
dd bs=32 skip=1 if=original.bin of=original.trx
See also image.conversion for more info about .bin to .trx.
TIP: If your replacement firmware has a web interface, remember to flush your browser cache, sessions etc. This will avoid misleading 404 errors.
To flash the original firmware back again via the bootloader, please follow the procedures already described in Installing OpenWrt. They are basically the same.