Hello all, I'm trying to do the TFTP recovery of my Archer C7 v2 after messing up some configs on openwrt. I've had some problems but I appear to be close with one final hurdle to fixing this issue. I'm using Tftpd64 version 4.64 to flash the original firmware renamed as ArcherC7v2_tp_recovery.bin but the progress seems to halt at random percentages and if I keep holding the WPS/reset button, the transfer will start again after the previous transfer fails. Video of what happens If any more information is required please let me know. Any help is appreciated!
Any ideas? Thank you.
If you just messed up configurations or runtime installed packages (rather than having flashed a bad build), you don't need tftp recovery - https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset should be everything needed.
While I don't have this particular device, the tftp recovery for TP-Link devices should be rather robust - even more once the transfer actually started (so you're beyond the tftp window time frame/ link-training delays, etc.). At this point I can only imagine a couple of issues which might be problematic:
- a firewall interfering on your computer or the tftpd not quite working well enough
- broken cables (intermittent contact)
- hardware issues (broken flash, insufficient power/ PSU)
- flash failures (unrecoverable broken sectors)
- hw ID not matching the expectations of the OEM bootloader (this can only be checked by the bootloader after the full image has been uploaded to RAM, just before flashing) - this can happen if you've overwritten parts of the u-boot environment containing these values (trying to tftp flash a wrong image might cause this)
- region code not matching the expectations of the OEM bootloader.
Having serial console access would help you debugging these issues, but I'd start with using another ethernet cable/ different router port (disconnect all other connections), maybe add an unmanaged switch between router and your computer - test a different tftpd/ host OS.
I tried using my Raspberry Pi 3 to read the serial output but couldn't get it working, the 4 leftmost lights and 1 rightmost light stay lit but I haven't been able to see any serial output on the Pi. Would this device work? Thank you very much!
If you have a RPi, that should work as well (keep in mind GND needs to be connected, RX/ TX need to be crossed between both devices - Vcc must never be connected under any circumstances). Yes, the ch340 would work, although I'd suggest the cp2102 instead - but both are fine (the important bit is it being 3.3V compatible).
Edit: a USB-to-serial adapter is more convenient to use, but if you already happen to own a RPi, there's no need to buy one - if you need it more often, the really want a USB-to-serial adapter though.
I soldered the TX and RX pins 8 and 10 and GND on pin 14 but I'm not sure what to do on the software side to check if its working. 4 of the lights on the router stay which is different but I tried to use pyserial and use read(100) but I don't see anything. How should I check and then how would I upload the factory firmware? Thank you!
I can't help you with RPi specifics (never owned one so far), such aspinout or naming of the various serial ports, but in general https://openwrt.org/docs/techref/hardware/port.serial#terminal_software applies (
screen(1) usually works pretty well).
Happened to me as well. Flash in those is flaky. I suceeded after multiple attempts after I manually configured line rate to 10Mbit half-duplex and had switch in-between.