If you have a TP-Link WR840N v6.20 (note it’s v6.20, this will not work for v6, or other versions!) and want to flash firmware, you probably noticed that the traditional method of striping TP-Link bootloader from the firmware does not work with this model. However, it is actually very simple to flash new firmware, if you know the proper command.
- First, go to Official TP-Link site to download the latest stock firmware image (at time of writing, that is TL-WR840N(EU)_V6.20_180614.
- Unpack the firmware image and locate the bin file. Rename it “original_firmware.bin”.
- Obtain the
ddcommand. On Linux it’s built in, but on Windows you have to download it from here. Copy it to the folder with the firmware. - Run the following command, which will strip the first 512 bytes from the firmware image and create a new file called tp_recovery.bin:
dd if=original_firmware.bin of=tp_recovery.bin bs=512 skip=1 - Obtain tftpd64, which you can find here.
- Extract the tftpd files into the folder with the firmware. But don’t run it yet.
- Turn off WiFi on your computer, if you have it. Then, go into Network Adapter settings, and set Static IP for Ethernet to
192.168.0.66. - Unplug all cables from the router except one ethernet cable, which you need to connect to the computer.
- Launch tftpd64
- Hold the WPS/Reset button on the router and at the same time plug it into power. Keep holding the button until a progress bar appears in the TFTPD64 window.
- The router will be flashed. You can release the reset button and wait a few minutes for it to boot. Check if everything is okay by visiting http://192.168.0.1/.
Congratulations, you have recovered your TP-Link WR840N v6.20 router!