I own a TP-Link Archer C20 v4 router since 2018 and it was working perfectly.
Today, I wanted to install OpenWRT on it, in order to learn new things.
Here's what I tried, on my Linux machine :
I installed the tftpd-hpa and tftp packages
I checked that the tftpd-hpa service was running
I downloaded the openwrt-19.07.2-ramips-mt76x8-tplink_c20-v4-squashfs-tftp-recovery.bin file
I verified its SHA-256 checksum
I copied it in /srv/tftp as tp_recovery.bin
I tested the TFTP client, which returned Permission denied
I changed the file permissions to 777
I tested the TFTP client again, which returned no error anymore
I changed my IP address to 192.168.0.66
I unplugged all ethernet cables except the one connected to my Linux machine
I powered off the router
I began pressing the reset button
I powered on the router
The wireless LED began blinking fastly
I checked that my Linux machine detected an ethernet connection
I stopped pressing the reset button
The wireless LED continued to blink
The wireless LED stopped to blink after a few seconds
All LEDs began to blink simultaneously (at the end of a blink cycle, the www LED turns red and the power LED turns off a half-second after the others, before they all turn on again, etc.)
If I turn off then on the router, all LEDs start blinking again.
It doesn't respond to ping.
If I try again, it will do exactly the same thing.
Connect the computer to one of the router's Ethernet ports while the router is off. Press and keep pressed the router's reset button and power it up. After about 7-10 seconds release the reset button. The power LED will flicker rapidly for ~3 seconds, indicating download of the firmware file.
Is it downloading the file? Watch the server log to see that the file downloaded. After the file downloads it can take several minutes to flash. Do not cut the power to the router during that time.
Make sure to configure tftpd-hpa to be a little more verbose, e.g. on Debian this would mean setting TFTP_OPTIONS="--secure -vvvv" in /etc/default/tftpd-hpa and restarting the service, its messages go to syslog.
Okay, here's what I've got when testing using the TFTP client : RRQ from ::1 filename tp_recovery.bin
And, unfortunately, I got nothing when I retry with the router, wether I wait 45 seconds until all LEDs starts blinking simultaneously, or I wait a bit less while the wireless LED is still alone blinking.