Hi there,
I have a Archer C7 (US) V4 AC1750 that I bricked after attempting to enable JFFS2 in DD-WRT firmware settings. Currently, I am able to boot an OpenWRT firmware in failsafe mode; however, I couldn't figure out where to go from the point I am. Please, may I have some assistance with bringing the router to life, if possible?
Thanks.
How have I bricked the router
The router was purchased used from a marketplace website some days ago. It was running a stock TP-Link firmware and, apparently, was working fine. However, I wanted to install an alternative firmware to enable features that the stock firmware doesn't provide. Specifically, I wanted to configure ethernet firewalling (ebtables / nftables) and configure a guest WiFi network behind my main wired network that would be only capable to forward packets to a known MAC address belonging to my gateway. Unfortunately, I didn't take note of the version of the stock firmware that was running.
Then, I followed documented installation steps to install the 06-09-2025-r61711
revision of tplink-archer-c7-v4
DD-WRT firmware. The flashing process completed successfully and I managed to setup an administrative password and browse to DD-WRT configuration pages.
I reached an article telling me that I should enable JFFS in order to store a custom initialization script of mine to configure ebtables, so I tried to use DD-WRT configuration pages and ticked a Enable JFFS2 checkbox that I found. My router bricked after I rebooted it from the web interface.
How is the router now
After bricking the router, I started to browse pages describing recovery procedures, both on DD-WRT and OpenWRT websites. At the end, I purchased a Duinotech Arduino Compatible USB to Serial Adaptor and connected my laptop computer to the serial console of the router (note: similarly to TP-Link Archer C7 V5, the RX pin had to be manually connected to the connector).
By following the TP-Link Archer C6 v2 - Recover via serial and tftp (working uboot) article, I have managed to flash my router with OpenWRT 24.10.0 and boot into failsafe mode; however, I could not progress to a full OpenWRT boot.
setenv serverip 192.168.0.66
tftpboot 0x80060000 openwrt-24.10.0-ath79-generic-tplink_archer-c7-v4-initramfs-kernel.bin
erase 0x9f040000 +644a5c
cp.b 0x80060000 0x9f040000 0x644a5c
bootm 0x9f040000
If I simply turn on my router, the http://192.168.0.1/
address presents a website with these error messages:
System error. The router cannot start up normally.
Please upgrade your router. You can download the firmware file from www.tp-link.com.
Also, the router's serial console presents the below boot messages:
U-Boot 1.1.4 (Aug 10 2017 - 18:22:29)
ap152 - Dragonfly 1.0
DRAM: 128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 395k for U-Boot at: 87f9c000
Reserving 16448k for malloc() at: 86f8c000
Reserving 44 Bytes for Board Info at: 86f8bfd4
Reserving 36 Bytes for Global Data at: 86f8bfb0
Reserving 128k for boot params() at: 86f6bfb0
Stack Pointer at: 86f6bf98
Now running in RAM - U-Boot at: 87f9c000
Flash Manuf Id 0xc8, DeviceId0 0x40, DeviceId1 0x18
flash size 16MB, sector count = 256
Flash: 16 MB
Using default environment
In: serial
Out: serial
Err: serial
Net: ath_gmac_enet_initialize...
No valid address in Flash. Using fixed address
ath_gmac_enet_initialize: reset mask:c02200
athr_mgmt_init ::done
Dragonfly ----> S17 PHY *
athrs17_reg_init: complete
SGMII in forced mode
athr_gmac_sgmii_setup SGMII done
: cfg1 0x80000000 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
eth0 up
eth0
Setting 0x181162c0 to 0x4b962100
[NM_Error](nm_lib_parsePtnIndexFile) 00589: invalid partition-index-file para id.
[NM_Error](nm_lib_readPtnTable) 00703: Parsing Partition Table ... FAILED
[NM_Error](nm_api_checkInteger) 00345: factory boot check integer partition init fail.
Hit any key to stop autoboot: 1 0
Trying eth0
eth0 link down
FAIL
Trying eth0
dup 1 speed 1000
HTTP server is starting at IP: 192.168.0.1
HTTP server is ready!
Request for: /
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
Request for: /favicon.ico
## Error: request file name not suport!
The firmware recovery webpage doesn't work, though. The recovery process started from the website aborts when the upload reaches 40% or so.
Firmware recovery via TFTP also aborts when the upload reaches 40% or so:
U-Boot 1.1.4 (Aug 10 2017 - 18:22:29)
ap152 - Dragonfly 1.0
DRAM: 128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 395k for U-Boot at: 87f9c000
Reserving 16448k for malloc() at: 86f8c000
Reserving 44 Bytes for Board Info at: 86f8bfd4
Reserving 36 Bytes for Global Data at: 86f8bfb0
Reserving 128k for boot params() at: 86f6bfb0
Stack Pointer at: 86f6bf98
Now running in RAM - U-Boot at: 87f9c000
Flash Manuf Id 0xc8, DeviceId0 0x40, DeviceId1 0x18
flash size 16MB, sector count = 256
Flash: 16 MB
Using default environment
In: serial
Out: serial
Err: serial
Net: ath_gmac_enet_initialize...
No valid address in Flash. Using fixed address
ath_gmac_enet_initialize: reset mask:c02200
athr_mgmt_init ::done
Dragonfly ----> S17 PHY *
athrs17_reg_init: complete
SGMII in forced mode
athr_gmac_sgmii_setup SGMII done
: cfg1 0x80000000 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
eth0 up
eth0
Setting 0x181162c0 to 0x4b962100
run command setenv serverip 192.168.0.66;setenv ipaddr 192.168.0.86
run command tftp 0x80060000 ArcherC7v4_tp_recovery.bin
Trying eth0
dup 1 speed 1000
Using eth0 device
TFTP from server 192.168.0.66; our IP address is 192.168.0.86
Filename 'ArcherC7v4_tp_recovery.bin'.
Load address: 0x80060000
Loading: *#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
##########################################Tftp server tranfer fail!
tftpboot firmware failed, now start normally.
[NM_Error](nm_lib_parsePtnIndexFile) 00589: invalid partition-index-file para id.
[NM_Error](nm_lib_readPtnTable) 00703: Parsing Partition Table ... FAILED
[NM_Error](nm_api_checkInteger) 00345: factory boot check integer partition init fail.
Hit any key to stop autoboot: 1 0
Trying eth0
HTTP server is starting at IP: 192.168.0.1
HTTP server is ready!
Web failsafe mode aborted!
ath> tftpboot 0x8006 setenv serverip 192.168.0.66
ath> tftpboot 0x80060000 ArcherC7v4_tp_recovery.bin
Trying eth0
Using eth0 device
TFTP from server 192.168.0.66; our IP address is 192.168.0.1
Filename 'ArcherC7v4_tp_recovery.bin'.
Load address: 0x80060000
Loading: *#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#############################################Tftp server tranfer fail!
ath>
If I interrupt the normal boot process of the router and manually boot the firmware written at address 0x9f040000
, I am able to boot OpenWrt 18.06.1, r7258-5eb055306f
in safe mode, as well as OpenWrt 24.10.0, r28427-6df0e3d02a
in safe mode. However, OpenWRT booted in normal mode produces kernel panics and automatic reboots. In safe mode, the sysupgrade
command seems to flash the router properly; however, the flashed firmware doesn't boot fully.