Flashing from the latest TP-Link firmware (Build 151014) via the web interface seems to brick the device. Download and flash an older OEM firmware first (Build 140709) before you continue.
If the stock firmware is not too recent (see above), OpenWrt can be flashed via web interface by using the OpenWrt -factory.bin images (see above).
If you happen to brick your device, it can be recovered via TFTP using a recovery image (more information is provided here).
TFTP recovery images for Archer C20i differ from the normal firmware images as they do not have the 512-byte long header at the beginning of the file. In order to create a recovery image, download a stock firmware image like this one and strip the header from the file:
To flash the recovery, start a TFTP server from IP address 192.168.0.66 and serve the recovery image named ArcherC20iV1_tp_recovery.bin. Connect to your device to the LAN port, then press the WPS/Reset button and power it up. It will try to download the recovery image and flash it.
Recovery (via tftp)
The following procedure allows you to upload a firmware image in case of emergency:
1) Hold the WPS button during startup.
2) After 10 seconds the router will start trying to download a file ArcherC20iV1_tp_recovery.bin via tftp from a server with the IP 192.168.0.66 for 10 more seconds.
Serial console is available on the J2 connector, 3.3v signals.
The square pad (pin 1) is Vcc and hence unused, pin 2 is Gnd and the remaining two pins are Rx and Tx. The picture below shows the serial port brought out to an external connector.
If running factory software then the username on the serial console is admin and the password is 1234
Please note that the LAN port numbering does not follow the internal switch numbering order (3/4/1/2 → 1/2/3/4).
Some simple WiFi file transfers using 2.4GHz N and WPA2 indicates practical speeds of about 70-100Mbit/s between Archer C20i and a MacBook Air located quite close to the router.
Flash is identified as an SPI connected 64 Mbit (8MB) Macronix MX25L6405D but the bootlog says “found mx25l6405d, expected en25q64” suggesting that different chips may be present in different hardware batches.
The stock U-Boot identifies itself as:
version 1.1.3 (Jun 23 2014 - 15:14:15)
Ralink UBoot Version: 126.96.36.199
U-Boot is set up to autoboot without the normal delay prompt but t does accept some Mediatek / Ralink specific commands at that point. Reviewing the U-Boot source code suggests the following are supported but only option 4 has been tested (there are some other options but they appear to be wrapped in #if 0).
4 - Enter Boot Command Line Interface
7 - Load Boot Loader then write to Flash via Serial
0 - Load Linux then write to Flash via Serial
5 - Load Linux then write to Flash via USB Storage
The following forum threads have been used to discuss the C20i (and C2).
toh/tp-link/archer-c20i.txt · Last modified: 2020/01/22 21:39 by tmomas