OpenWRT

Restoring a bricked router via TFTP

Certain routers can be flashed firmware via TFTP as an emergency restoration option while being otherwise bricked. For my bricked TP-Link Archer C7v5, this was the option that saved me. Overall it’s quite simple (operating from a Windows 10 machine, although I’m equally as easy from a Linux box):

  1. Download and install tftp64. This will serve as the TFTP server that the router will communicate with.
  2. Navigate to control panel -> network and internet -> network connections. Disable all devices that are not the main ethernet port. Under the main ethernet port’s properties, change the static IP to 192.168.0.66 (or something else depending on the router) with a mask of 255.255.255.0.
  3. Make sure the router is turned off, as well as your computer’s firewall.
  4. Start up the TFTP server, select the .bin file you wish to restore. In my case, this was a file that needed to be specifically named ArcherC7v5_tp_recovery.bin. Then select the ethernet device at the IP set earlier. The TFTP server is good to go.
  5. Now, go to the router and 1) begin holding the reset button, 2) power on the router, while still holding the reset button, 3) continue holding the reset button for another ~15 seconds. During this time you should be able to see a TFTP response on your computer’s server, and it is during this period that the firmware is flashed to the router. Wait another 30 seconds or so, and the firmware should be loaded.

Adding alternate DNS server

After getting some confusing advice around online forums, I’ve just added a single IP to the DNS forwardings section (Network > DHCP and DNS > General settings). In the case where I wanted to direct all traffic to my Pi-hole, this did the trick. You can also broadcast the DNS server to clients under Interaces > LAN > DHCP Server > Advanced settings > DHCP Options, and follow the instructions (e.g. putting a “6, ”).

Sources