TP-Link CPE220 v3: TFTP recovery succeeds (recovery.bin sent), but router still boots into OpenWrt

Hi everyone,

I am trying to revert my TP-Link CPE220 v3 from OpenWrt back to the factory/stock TP-Link firmware using the TFTP recovery method.

While the TFTP transfer completes successfully, the router refuses to flash the stock image and simply boots back into OpenWrt after restarting.but there is a catch the firmware i had downloaded from official tp link website was 6.17 MB (6,472,478 bytes) in size but as you clearly can in the tftp logs only 5669272 bytes were sent.

My Environment & Setup

  • Device: TP-Link CPE220 v3
  • Current OS: OpenWrt (using apk package manager)
  • Method: TFTP recovery via local server

The TFTP Log

The server successfully listens for the request, renames/matches the file to recovery.bin, and transmits the entire file in about 1 second:

Connection received from 192.168.0.254 on port 2145 [05/06 21:01:00.102]
Read request for file <recovery.bin>. Mode octet [05/06 21:01:00.102]
OACK: <timeout=2,> [05/06 21:01:00.102]
Using local port 62183 [05/06 21:01:00.102]
<recovery.bin>: sent 11073 blks, 5669272 bytes in 1 s. 0 blk resent [05/06 21:01:01.731]