I successfully installed OpenWrt on a TP-Link CPE210 hardware version 2.8 and wanted to share what worked for me.
The stock TP-Link Pharos firmware refused to accept the OpenWrt factory firmware through the normal web upload page.
Firmware I tried to upload from the stock web UI:
openwrt-25.12.0-ath79-generic-tplink_cpe210-v2-squashfs-factory.bin
Downloaded from:
https://downloads.openwrt.org/releases/25.12.0/targets/ath79/generic/
I assume the stock firmware rejected it because of TP-Link firmware signature/checking, so I switched to TFTP recovery.
TFTP recovery file
Per TP-Link guidance, I renamed the OpenWrt factory firmware to: recovery.bin
TFTP servers I tried
I first tried serving recovery.bin from MacOS and Ubuntu Linux. In both cases, I could see the device making TFTP requests, but I kept getting timeout behavior. What finally worked was:
- Windows 11
- Tftpd64 v4.74
Windows 11 Tftpd64 setup
Tftpd64 settings:
- Current Directory: folder containing
recovery.bin(for me:C:\tftp) - Server Interfaces: the wired ethernet interface with IP 192.168.0.100
- I also set Settings → TFTP Security = None but I'm not sure whether that setting mattered
Windows IPv4 settings during TFTP recovery
In Windows:
Network Connections- right-click Ethernet adapter
PropertiesInternet Protocol Version 4 (TCP/IPv4)Properties
Set manual IPv4 values to:
- IP address: 192.168.0.100
- Subnet mask: 255.255.255.0
- Default gateway: blank
Physical setup and reset sequence
The CPE210 device is powered only through the PoE injector, so there is no normal power switch. I used this sequence:
- All Ethernet cables connected
- PoE injector power not plugged in to wall socket yet
- Press and hold the reset button on the CPE210
- Apply power by plugging in the PoE injector
- Keep holding reset until Tftpd64 briefly shows the transfer starting
- I released reset after about 8 seconds. Some documentation online says to hold reset for 30 seconds, but on my unit that was not necessary.
What success looked like
In Tftpd64 I saw a request for recovery.bin and the transfer progress quickly went to 100%.
- Annoyingly, the Tftpd64 software clears the result pretty quickly, so don't look away.
After that, the device rebooted into OpenWrt.
- I left it a good 5 minutes before touching it to be sure that the firmware reboot took hold.
Accessing LuCI after recovery
After the OpenWrt recovery flash, I changed the Windows Ethernet adapter to a static address on the OpenWrt LAN subnet:
- IP address: 192.168.1.10
- Subnet mask: 255.255.255.0
- Default gateway: blank
Then I could reach LuCI at:
http://192.168.1.1
Next step I took
After confirming LuCI worked, I uploaded a custom sysupgrade image that I built for 802.11s mesh networking with batman-adv:
openwrt-25.12.1-0a61a3edf83b-ath79-generic-tplink_cpe210-v2-squashfs-sysupgrade.bin
That sysupgrade image installed successfully as well. I did the customer firmware build because the memory on this device was too constrained to download the mesh packages from the UI.
I hope this helps someone else with the same hardware revision.