TP-Link TFTP recovery mode and firmware (TP-Link Archer C7 V2)


#1

I own an Archer C7 V2 currently running LEDE and I'm a little bit puzzled about TFTP recovery after reading the documentation on OpenWrt's Wiki.

Here are my actual understandings on TFTP recovery:

  • The TFTP recovery service is provided by U-Boot, thus is third party firmware independent (only TP-Link officially modifies U-Boot);
  • To flash a version of LEDE using TFTP, you simply use the *factory.bin image
  • To flash an original TP-Link firmware using TFTP, you need to strip the U-Boot section from it first, if it is included in the binary image

I've seen a tutorial that uses TFTP to flash a firmware that does include the U-Boot partition. Through the serial connection we can see that the firmware downloaded via TFTP is 16384512 bytes, which correspond to the size of the unmodified recovery firmware he was using, the Archer C7 V2 v151014; so it does include U-Boot after all.

Is the TFTP recovery procedure able to detect that the downloaded firmware includes or not the U-Boot partition and deals with it accordingly since TP-Link includes it but not LEDE ? Is the documentation wrong about TFTP recovery ?

Edit (2017-02-11): Video was deleted on Youtube so I replaced by another copy of the same video.


[Solved] Archer C7 v2 - firmware version 3.15.1 - cannot install! - Help
#2

People have made a stripped version of the firmware you can find here for TFTP. There's are instructions in the archive.

http://www.friedzombie.com/tplink-stripped-firmware/

(I have a feeling you just want to know how to revert to factory)


#3

Thank you @komawoyo for your valuable information. I'm not looking to go back to stock TP-Link firmware. I'm just trying to understand how it works and maybe help in the documentation.

What I'm pointing out is that the documentation tells us to use a stripped firmware (when U-Boot partition is present in it) when I found evidence that you can flash an unmodified stock firmware anyway.

Has the U-Boot TFTP recovery procedure been updated by TP-Link to have the ability to differentiate between firmwares containing U-Boot or not ? If that's the case, IMHO:

  • This should be fixed in the documentation
  • There should be a mention about the version of U-Boot that it's available from
  • There should be a step that requires to update to a stock TP-Link firmware version before starting the LEDE flash, just to ensure that the U-Boot is updated to include the updated TFTP recovery service (With TP-Link soft-region lock, that could pose more problems actually if there is no region-coded LEDE firmware)

This is all theoretically speaking, of course. I'm not confident enough to test scenarios myself on my Archer C7, I do not have a serial connection to it and it's still under warranty (well, sort of...).


#5

I've started to look into the U-Boot source code to find out answers. The code supplied with the original GPL sources, dated from 2014, doesn't seem to include code to detect U-Boot partition in the bin file received from TFTP.

I asked TP-Link for an updated source, but they declined telling me that there is no more recent GPL source code. So unfortunately I cannot help to confirm my initial assumptions.


Archer C7 V1.0 crashes on boot