TP-Link CPE210 v2.8 successful OpenWrt install

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
  • Properties
  • Internet 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.

1 Like