The following procedure works only on the V1 model. Please, don't try this on any other revision. You can check which version your C2 is by looking at the bottom of it or, in the router's web interface, Status page, Hardware Version information, if you are using stock firmware.
OpenWrt can be flashed via TFTP using an unofficial recovery image provided by the OpenWrt's forum member yoq (more information is provided here). Download the recovery image c2_recovery.ziphere.
To flash the recovery image, start a TFTP server from IP address 192.168.0.66 and serve the recovery image named ArcherC2V1_tp_recovery.bin that you have extracted. Connect your device to the LAN port, then press the WPS/Reset button and power it up. Keep pressing the WPS/Reset button for 10 seconds. It will try to download the recovery image and flash it. You must set your machine's IP to static 192.168.0.66, Subnet Mask to 255.255.255.0 and Default Gateway to 192.168.0.1.
It can take up to 20-25 minutes to finish. When it reaches 100%, the router will reboot itself.
OpenWrt can be accessed at 192.168.1.1.
A few users reported that flashing via TFTP server was only possible when the option “Use anticipation window of” with 1000 bytes was enabled in TFTPD32 for Windows. So, if your flashing process hang at some point, restart the process with this option enabled.
Also, you might have to lower your ethernet link to 10 Mbps Half Duplex in order to finish the process.
After successfully flash OpenWrt firmware with the method above, you will be able to directly upgrade it via web interface to the latest release we have from, also forum member, abnoeh. You can download LEDE.for.ArcherC2V1.complied.tar.xzhere. Extract the .zip and flash the .bin file.
If you didn't preserved setting when you upgrade it, you will need to enter http://192.168.1.1/cgi-bin/luci/admin/network/network/lan, and press save and apply at the bottom of page without change anything to make 5G Wi-Fi work.
creating TFTP recovery image
The C2v1 TFTP recovery overwrites the uboot partition, hence it must be included in a recovery.bin
An official stock TPLink firmware file has a 512 byte header, which needs to be stripped for TFTP:
dd if=c2v1_stock_firmware.bin of=ArcherC2V1_tp_recovery.bin bs=1 skip=512
To create a recovery for openwrt, simply stick the stock uboot in front of the squashfs:
dd if=c2v1_stock_firmware.bin of=c2v1_uboot.bin bs=1 skip=512 count=131072
cat c2v1_uboot.bin openwrt-squashfs-sysupgrade.bin > ArcherC2V1_tp_recovery.bin