I'm unbricking an Archer C5 v4 via TFTP on Linux Mint. Setup: > * Host IP: 192.168.0.66/24
Server: atftpd on port 69
Firewall: Disabled
Issue: > tcpdump shows the router sending: ARP, Request who-has 192.168.0.66 tell 0.0.0.0. My Linux machine is NOT sending an ARP Reply, so the TFTP handshake never starts. I've tried disabling Wi-Fi and switching between LAN/WAN ports.
Any sysctl tweaks or specific reasons why the OS would ignore these ARP requests from a device in bootloader mode?
I assigned the IP using ip addr add 192.168.0.66/24 dev enp1s0f1 and forced the link up. I also tried stopping the NetworkManager service (systemctl stop NetworkManager) to prevent it from resetting the interface when the router reboots.
However, tcpdump still shows the router sending ARP Request who-has 192.168.0.66 tell 0.0.0.0 but my machine is not sending an ARP Reply. The interface often stays in NO-CARRIER state for too long during the router's boot-up. Any tips on how to force the ARP reply or keep the carrier active?
I've spent the last 24 hours testing every possible scenario on both Linux Mint and Windows 10 (two different laptops, one with Realtek and another with Intel NIC).
The Context: This device is originally a TP-Link EC220-G5 (ISP version). Two days ago, I successfully used the TFTP method to flash a modified "Archer C5 v4" firmware to bypass provider locks. It worked, and the Web UI now shows "Archer C5 v4".
The Problem: Now that it’s running the Archer C5 v4 firmware, I want to move to OpenWrt. However:
Web UI: Gives Error 4503 (The uploaded file was not accepted) for any OpenWrt .bin (factory or sysupgrade).
TFTP: This is where it gets weird. I can't get the TFTP handshake to happen again.
What I've done so far:
Hardware: I’m using an unmanaged switch (ZTE router) between the PC and the Archer C5 to keep the carrier/link active (LOWER_UP).
On Linux (Mint): > - Set static IP 192.168.0.66/24.
My OS never sends the ARP Reply, even with net.ipv4.conf.all.arp_accept=1.
On Windows:
Used Tftpd64 as Admin, Firewall/Antivirus disabled.
Tried forcing the NIC to 10Mbps Half Duplex.
The Log Viewer remains completely empty. No hits, no "Rcvd Msg", nothing.
My Theory: Since it worked once when it was an EC220-G5, but stopped responding now that it identifies as an Archer C5 v4, did the bootloader change its expectations?
Is it possible the new firmware changed the recovery IP (maybe 192.168.1.66?) or the required filename (from tp_recovery.bin to something specific like ArcherC5v4_tp_recovery.bin)?
Why would my Linux kernel ignore an ARP request from 0.0.0.0 even when the link is forced up by a switch? Any low-level command to force this reply?