Archer C7 v5 - Can't tftp firmware, tftp doesn't work at all

Hello, I am trying to install OpenWrt over my existing dd-wrt firmware. I have the factory firmware file and am trying to tftp flash it to the router, since I have read many places that using the GUI will likely brick my router (correct me if I'm wrong, please). I am using the instructions found on the router page for my router (tplink Archer C7v5) and it just is not working.

  1. Firmware is named ArcherC7v5_tp_recovery.bin
  2. tftp server is pointed to the directory the .bin file is in
  3. PC eth interface set to 192.168.0.66/24 (does not work with 192.168.1.66 for sure, see below)
  4. tftp server is set with no security, set to listen on both all interfaces, or eth interface (separate occasions). I have used tftpd64 and Solarwinds tftp server to see if it was the program itself causing the issue
  5. Router is turned off. Reset button on back held down, router turned back on while reset button is still being held. After 5 seconds and when I see WPS light come on, I let go of reset button
  6. Nothing happens in my tftp server program (either one). No log entries appear, no requests, absolutely nothing. I run wireshark to sniff on eth interface, I do see the tftp requests coming from 192.168.0.86. So the request is coming into the interface, but the tftp server is not actioning it. Using netstat, I confirm the comp is listening on port 69
  7. The router is reset but still running dd-wrt (my configurations are all reset).

Am I doing something obviously wrong, and if not, what could be the issue with tftp? I have googled around and haven't found anything with this exact issue, so I'm trying here.

Is there a firewall on the client hosting the tftp-server?
Putting an unmanaged switch between router and your client can often help, by reducing the time needed link-training and totally avoiding the ifdown event on the client.

Ah, I forgot to mention that, I allowed the programs through the firewall. That didn't work so I did disable the firewall (I am using Windows on the tftp server machine, so Windows firewall), that didn't seem to work either.

at first go back to stock firmware and then flash openwrt.

I still have to flash using tftp though so that won't solve the issue unfortunately

you can flash stripped stock firmware through dd-wrt. I use this method to back in stock firmware from dd-wrt in tl-wr-841n v11.
Another possible way to make tftp work, you can use a switch between pc and router (already mentioned by @slh ) .

On windows you my have multiple instances of a firewall if it has decided that your connection is in a separate network. ie Domain, Private, Public for win10, home, office, internet (I think) for win7. I've been caught before with TFTP server on a windows machine appearing to not accept connections. Temporarily disable the firewall on all networks (brute force) or make sure you identify the correct network to disable the relevant firewall, try the tftp then reenable the firewalls when finished.
Yes, Utopia would suggest configuring the correct ports on the correct firewall but windoze has a nasty habit of creating new interface when it thinks something has changed and then putting that interface into a different network.

This means the PC has a firewall blocking it. Wireshark lirstens before the firewall.

Test the TFTP server by running a TFTP client and try to TFTP to yourself. Windows 10 has a native CLI TFTP client which can be enabled with Add/Remove Windows Features. This does not test the firewall though. To do that you would need another PC to make a request from outside.

Yea, it did end up being the firewall after all. I was disabling the "Private" firewall since that's what was being used by my home connection. For some stupid reason, it would switch to "Public" when I changed the IP to 192.168.0.66. I had to disable the Public firewall as well. Windows is dumb sometimes.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.