When this might be helpful:
- Your router failed to boot after a firmware upgrade
- You want to change between regional firmware releases (America/Europe/Asia/Australasia etc)
- You want to revert back to, or change away from, official TP-Link firmware
- Your TP-Link firmware upgrade is stuck
- You need to perform wrong firmware recovery
- Firmware from the TP-Link website
- A TFTP server which supports logging (this example uses TFTPD32/TFTPD64: https://tftpd32.jounin.net)
- Ethernet cable (preferably crossover cable)
- Computer or laptop
- The TP-Link router must be on the same LAN segment as your computer
- Download the firmware for your router from the TP-Link website, and then unzip the firmware file (.BIN file) into a suitable folder.
In this example, I have chosen to use the folder “C:\temp\”. I am using a TP-Link AC1750 (Archer C7) router and the firmware filename is “ArcherC7v2_en_eu_3_15_3_up_boot(180305).bin”.
2. Set the IPv4 address of the wired Ethernet interface on your computer to 192.168.0.66, and subnet mask to 255.255.255.0.
3. Start the TFTP server, and set the TFTP server’s base directory to the same folder that you previously unzipped the router firmware to (“C:\temp\”).
NOTE: You can either have the TFTP server listening on all interfaces, or just on the wired Ethernet interface which you previously set the IP address on.
4. Make sure that your computer has an Ethernet cable going to the TP-Link router. The router can actually be anywhere on the same LAN segment (plugged in to a switch or router), but since TFTP uses UDP as a transport protocol, it might be more reliable if have the computer wired directly to the TP-Link router with an Ethernet crossover cable.
5. Ensure the TP-Link router is powered off. Hold down the reset button on the router and keep it depressed. Power the router on, wait for 5 seconds, and then release the reset button.
6. The router will now attempt to do a TFTP boot from your server at 192.168.0.66. In the TFTP server logs you can see the filename which was requested by the router.
Your router will request a filename which is specific to your model of TP-Link router, so ensure that you actually follow this process to determine the correct filename to use. Don’t use the filename in this example, otherwise it won’t work and you’ll be wasting time.
In this example, we can see that the router is requesting a file named “ArcherC7v2_tp_recovery.bin”.
Connection received from 192.168.0.86 on port 1957 [28/12 21:50:04.060]
Read request for file <ArcherC7v2_tp_recovery.bin>. Mode octet [28/12 21:50:04.060]
File <ArcherC7v2_tp_recovery.bin> : error 2 in system call CreateFile The system cannot find the file specified. [28/12 21:50:04.062]
7. Now that we know which filename the router is looking for, we must rename our downloaded firmware file to whatever our router is requesting. This is how we effectively force the router to upgrade the firmware.
In this example, the original filename of the firmware file which we downloaded from the official TP-Link website, is “ArcherC7v2_en_eu_3_15_3_up_boot(180305).bin”, and we will rename it to “ArcherC7v2_tp_recovery.bin”, as per the information we discovered in step #6.
8. Repeat step #5 of the process so that the router attempts another TFTP boot.
9. Confirm in your TFTP server that the firmware was successfully downloaded by the router.
10. A few minutes after the firmware transfer, your router should install the new firmware and you’ll be able to access the router’s web interface by using the factory-default settings:
— IP address: 192.168.0.1
— Username: admin
— Password: admin