TP-Link Archer A7 stuck in a boot loop

I had OpenWRT installed on my Archer A7 but suddenly it stopped working. So I tried to start fresh. Reseting the router using the reset button did nothing. Then I tried flashing a new firmware via TFTPD, but nothing happens after the file is uploaded from the TFTPD server.

Here's my log:

Connection received from 192.168.0.86 on port 3650 [01/01 02:03:36.769]
Read request for file <ArcherC7v5_tp_recovery.bin>. Mode octet [01/01 02:03:36.769]
OACK: <timeout=5,blksize=1468,> [01/01 02:03:36.769]
Using local port 56299 [01/01 02:03:36.769]
<ArcherC7v5_tp_recovery.bin>: sent 10606 blks, 15568476 bytes in 2 s. 0 blk resent [01/01 02:03:38.337]

Also, I tried pinging the device to see what was going on during the process:

> ping -t 192.168.0.66
Reply from 192.168.0.66: bytes=32 time<1ms TTL=128
.
.
. (it was pinging for about 30 minutes)
Reply from 192.168.0.66: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.0.66:
    Packets: Sent = 1795, Received = 1773, Lost = 22 (1% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
Control-C

But it just keeps rebooting and doing the same thing endlessly, as you can see here: https://drive.google.com/file/d/1naH5_7TNZZrouI4laNz3AKrEouxnL3z1/view?usp=sharing

So then I tried connecting via serial with my PL2303HX USB TTL cable, but PuTTY shows nothing, it just stays blank: https://i.ibb.co/frq0BcR/putty.png

My guess is something is wrong with my soldering? The cable seems to be working and has the proper drivers.

I'm out of ideas and I'd like to save the device.

What is the exact filename of the firmware image you are using (prior to renaming it with the recovery.bin filename)?

It is very dangerous to icmp ping 64k sized recovery loader.
Try arping instead

You need to shorten R24 which is missing by default.

image

image

I took the pictures a long time ago and can't remember why I put a wire between the shorted resistor and the RX. Check the conductive paths on the board because this may not be necessary.

Good luck.

1 Like

I'm using

a7v5_us-up-ver1-0-9-P1[20190403-rel72961].bin

--

I'm lost here. Any guide I could follow?

--

That's the top right only, right?

This looks like the TP-Link vendor firmware, is that right?

Is your A7 a v5 US model?

Did you try using the OpenWrt "factory" image from the firmware selector?

Yes, it is the vendor firmware. I tried with with OpenWRT factory and kernel with no luck.

You may need to ask TP-Link since you're using their firmware with their recovery system/bootloader.

1 Like

I got a new cable and was able to connect to the router. From what I read it seems OpenWRT is still there. It keeps boot looping, so the log is endless and always shows the same. Not sure how to proceed from here.

Tried pressing any key but nothing happens.

Here's the log:

U-Boot 1.1.4-g49c28331-dirty (Nov 17 2020 - 13:43:39)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 408k for U-Boot at: 87f98000
Reserving 16448k for malloc() at: 86f88000
Reserving 44 Bytes for Board Info at: 86f87fd4
Reserving 36 Bytes for Global Data at: 86f87fb0
Reserving 128k for boot params() at: 86f67fb0
Stack Pointer at: 86f67f98
Now running in RAM - U-Boot at: 87f98000
Flash Manuf Id 0xef, 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 0x40802100
factory boot check integer ok.

factory boot load fs uboot len 131072 to addr 0x80010000.
Hit any key to stop autoboot:  0
## Starting application at 0x80010000 ...


U-Boot 1.1.4-g49c28331-dirty (Nov 17 2020 - 13:43:27)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 125k for U-Boot at: 87fe0000
Reserving 16448k for malloc() at: 86fd0000
Reserving 44 Bytes for Board Info at: 86fcffd4
Reserving 36 Bytes for Global Data at: 86fcffb0
Reserving 128k for boot params() at: 86faffb0
Stack Pointer at: 86faff98
Now running in RAM - U-Boot at: 87fe0000
Flash Manuf Id 0xef, 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 0x40802100
Hit any key to stop autoboot:  0
## Booting image at 9f040000 ...
   Image Name:   MIPS OpenWrt Linux-5.15.167
   Created:      2024-09-23  12:34:46 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2338019 Bytes =  2.2 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum at 0x9f040040 ...OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 134217728

Starting kernel ...

[    0.000000] Linux version 5.15.167 (builder@buildhost) (mips-openwrt-linux-mu                                                                                                                                                                                                                                             sl-gcc (OpenWrt GCC 12.3.0 r24106-10cc5fcd00) 12.3.0, GNU ld (GNU Binutils) 2.40                                                                                                                                                                                                                                             .0) #0 Mon Sep 23 12:34:46 2024
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is TP-Link Archer A7 v5
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32                                                                                                                                                                                                                                              bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,j                                                                                                                                                                                                                                             ffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, li                                                                                                                                                                                                                                             near)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, line                                                                                                                                                                                                                                             ar)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 120816K/131072K available (6100K kernel code, 599K rwdata                                                                                                                                                                                                                                             , 784K rodata, 1212K init, 216K bss, 10256K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 775.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_i                                                                                                                                                                                                                                             dle_ns: 4932285024 ns
[    0.000001] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 55418                                                                                                                                                                                                                                             93118ns
[    0.008290] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.074815] pid_max: default: 32768 minimum: 301
[    0.080509] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linea                                                                                                                                                                                                                                             r)
[    0.088239] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes,                                                                                                                                                                                                                                              linear)
[    0.102472] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ma                                                                                                                                                                                                                                             x_idle_ns: 19112604462750000 ns
[    0.112888] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.120256] pinctrl core: initialized pinctrl subsystem
[    0.127382] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.134217] thermal_sys: Registered thermal governor 'step_wise'
[    0.146464] clocksource: Switched to clocksource MIPS
[    0.159439] NET: Registered PF_INET protocol family
[    0.164807] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear                                                                                                                                                                                                                                             )
[    0.173367] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096                                                                                                                                                                                                                                              bytes, linear)
[    0.182343] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes,                                                                                                                                                                                                                                              linear)
[    0.190532] TCP established hash table entries: 1024 (order: 0, 4096 bytes, l                                                                                                                                                                                                                                             inear)
[    0.198622] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.206066] TCP: Hash tables configured (established 1024 bind 1024)
[    0.212915] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.219900] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.227641] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.233655] PCI: CLS 0 bytes, default 32
[    0.241113] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.252589] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.258819] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORIT                                                                                                                                                                                                                                             Y) (c) 2001-2006 Red Hat, Inc.
[    0.270610] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 2                                                                                                                                                                                                                                             51)
[    0.282044] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.288770] gpio-export gpio-export: 1 gpio(s) exported
[    0.295257] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.304419] printk: console [ttyS0] disabled
[    0.309042] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 156                                                                                                                                                                                                                                             2500) is a 16550A
[    0.318164] printk: console [ttyS0] enabled
[    0.318164] printk: console [ttyS0] enabled
[    0.327235] printk: bootconsole [early0] disabled
[    0.327235] printk: bootconsole [early0] disabled
[    0.355741] spi-nor spi0.0: w25q128 (16384 Kbytes)
[    0.360810] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.367433] OF: Bad cell count for /ahb/spi@1f000000/flash@0/partitions
[    0.374298] OF: Bad cell count for /ahb/spi@1f000000/flash@0/partitions
[    0.381471] OF: Bad cell count for /ahb/spi@1f000000/flash@0/partitions
[    0.388379] OF: Bad cell count for /ahb/spi@1f000000/flash@0/partitions
[    0.395651] Creating 7 MTD partitions on "spi0.0":
[    0.400677] 0x000000000000-0x000000020000 : "factory-uboot"
[    0.411314] 0x000000020000-0x000000040000 : "u-boot"
[    0.417465] 0x000000040000-0x000000f00000 : "firmware"
[    0.425339] 2 uimage-fw partitions found on MTD device firmware
[    0.431530] Creating 2 MTD partitions on "firmware":
[    0.436679] 0x000000000000-0x00000023ad23 : "kernel"
[    0.441813] mtd: partition "kernel" doesn't end on an erase/write block -- fo                                                                                                                                                                                                                                             rce read-only
[    0.452085] 0x00000023ad23-0x000000ec0000 : "rootfs"
[    0.457280] mtd: partition "rootfs" doesn't start on an erase/write block bou                                                                                                                                                                                                                                             ndary -- force read-only
[    0.467758] mtd: setting mtd4 (rootfs) as root device
[    0.473841] 1 squashfs-split partitions found on MTD device rootfs
[    0.480295] 0x000000660000-0x000000ec0000 : "rootfs_data"
[    0.487004] 0x000000f40000-0x000000f60000 : "info"
[    0.494406] 0x000000f60000-0x000000fb0000 : "config"
[    0.500570] 0x000000fc0000-0x000000fd0000 : "partition-table"
[    0.509039] 0x000000ff0000-0x000001000000 : "art"
[    1.250561] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0
[    1.908104] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd036,                                                                                                                                                                                                                                              driver=Atheros AR8216/AR8236/AR8316]
[    1.919426] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: sgmii
[    1.926325] i2c_dev: i2c /dev entries driver
[    1.933995] NET: Registered PF_INET6 protocol family
[    1.951812] Segment Routing with IPv6
[    1.955679] In-situ OAM (IOAM) with IPv6
[    1.959929] NET: Registered PF_PACKET protocol family
[    1.965233] bridge: filtering via arp/ip/ip6tables is no longer available by                                                                                                                                                                                                                                              default. Update your scripts to load br_netfilter if you need this.
[    1.978945] 8021q: 802.1Q VLAN Support v1.8
[    1.984560] PCI host bridge to bus 0000:00
[    1.988853] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    1.995963] pci_bus 0000:00: root bus resource [io  0x0000]
[    2.001736] pci_bus 0000:00: No busn resource found for root bus, will use [b                                                                                                                                                                                                                                             us 00-ff]
[    2.009968] pci 0000:00:00.0: [168c:003c] type 00 class 0x028000
[    2.016205] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    2.023280] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    2.030290] pci 0000:00:00.0: supports D1 D2
[    2.035721] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    2.042628] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bi                                                                                                                                                                                                                                             t]
[    2.050226] pci 0000:00:00.0: BAR 6: assigned [mem 0x12200000-0x1220ffff pref                                                                                                                                                                                                                                             ]
[    2.060930] clk: Disabling unused clocks
[    2.074115] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[    2.088014] Freeing unused kernel image (initmem) memory: 1212K
[    2.094136] This architecture does not have kernel memory protection.
[    2.100818] Run /sbin/init as init process
[    2.129222] SQUASHFS error: xz decompression failed, data probably corrupt
[    2.136345] SQUASHFS error: Failed to read block 0x1f067c: -5
[    2.142303] SQUASHFS error: Unable to read fragment cache entry [1f067c]
[    2.149234] SQUASHFS error: Unable to read page, block 1f067c, size 2e2c
[    2.156163] SQUASHFS error: Unable to read fragment cache entry [1f067c]
[    2.163090] SQUASHFS error: Unable to read page, block 1f067c, size 2e2c
[    2.170034] SQUASHFS error: Unable to read fragment cache entry [1f067c]
[    2.176972] SQUASHFS error: Unable to read page, block 1f067c, size 2e2c
[    2.183903] SQUASHFS error: Unable to read fragment cache entry [1f067c]
[    2.190833] SQUASHFS error: Unable to read page, block 1f067c, size 2e2c
[    2.197779] SQUASHFS error: Unable to read fragment cache entry [1f067c]
[    2.204691] SQUASHFS error: Unable to read page, block 1f067c, size 2e2c
[    2.211746] Starting init: /sbin/init exists but couldn't execute it (error -                                                                                                                                                                                                                                             5)
[    2.219331] Run /etc/init as init process
[    2.234864] Run /bin/init as init process
[    2.243472] Run /bin/sh as init process
[    2.364307] SQUASHFS error: xz decompression failed, data probably corrupt
[    2.371479] SQUASHFS error: Failed to read block 0x60: -5
[    2.377065] SQUASHFS error: Unable to read data cache entry [60]
[    2.383265] SQUASHFS error: Unable to read page, block 60, size 26918
[    2.390001] SQUASHFS error: Unable to read data cache entry [60]
[    2.396203] SQUASHFS error: Unable to read page, block 60, size 26918
[    2.402914] SQUASHFS error: Unable to read data cache entry [60]
[    2.409124] SQUASHFS error: Unable to read page, block 60, size 26918
[    2.537101] SQUASHFS error: xz decompression failed, data probably corrupt
[    2.544241] SQUASHFS error: Failed to read block 0x60: -5
[    2.667579] SQUASHFS error: xz decompression failed, data probably corrupt
[    2.674726] SQUASHFS error: Failed to read block 0x60: -5
[    2.680425] Starting init: /bin/sh exists but couldn't execute it (error -5)
[    2.687730] Kernel panic - not syncing: No working init found.  Try passing i                                                                                                                                                                                                                                             nit= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance                                                                                                                                                                                                                                             .
[    2.702363] Rebooting in 1 seconds..


U-Boot 1.1.4-g49c28331-dirty (Nov 17 2020 - 13:43:39)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 408k for U-Boot at: 87f98000
Reserving 16448k for malloc() at: 86f88000
Reserving 44 Bytes for Board Info at: 86f87fd4
Reserving 36 Bytes for Global Data at: 86f87fb0
Reserving 128k for boot params() at: 86f67fb0
Stack Pointer at: 86f67f98
Now running in RAM - U-Boot at: 87f98000
Flash Manuf Id 0xef, 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 0x40802100
factory boot check integer ok.

factory boot load fs uboot len 131072 to addr 0x80010000.
Hit any key to stop autoboot:  0
## Starting application at 0x80010000 ...


U-Boot 1.1.4-g49c28331-dirty (Nov 17 2020 - 13:43:27)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 125k for U-Boot at: 87fe0000
Reserving 16448k for malloc() at: 86fd0000
Reserving 44 Bytes for Board Info at: 86fcffd4
Reserving 36 Bytes for Global Data at: 86fcffb0
Reserving 128k for boot params() at: 86faffb0
Stack Pointer at: 86faff98
Now running in RAM - U-Boot at: 87fe0000
Flash Manuf Id 0xef, 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 0x40802100
Hit any key to stop autoboot:  0
## Booting image at 9f040000 ...
   Image Name:   MIPS OpenWrt Linux-5.15.167
   Created:      2024-09-23  12:34:46 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2338019 Bytes =  2.2 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum at 0x9f040040 ...OK
   Uncompressing Kernel Image ...

Seems there's an issue with your flash chip...

Here's another log from PuTTY while trying to flash the factory firmware using TFTPD:

Using the kernel firmware also shows [NM_Error](nm_tpFirmwareCheck) 01402: The file's length is bad.

U-Boot 1.1.4-g49c28331-dirty (Nov 17 2020 - 13:43:39)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 408k for U-Boot at: 87f98000
Reserving 16448k for malloc() at: 86f88000
Reserving 44 Bytes for Board Info at: 86f87fd4
Reserving 36 Bytes for Global Data at: 86f87fb0
Reserving 128k for boot params() at: 86f67fb0
Stack Pointer at: 86f67f98
Now running in RAM - U-Boot at: 87f98000
Flash Manuf Id 0xef, 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 0x40802100
run command setenv serverip 192.168.0.66;setenv ipaddr 192.168.0.86
run command tftp 0x80060000 ArcherC7v5_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
Download Filename 'ArcherC7v5_tp_recovery.bin'.
Download to address: 0x80060000
Loading: ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         #
done
Bytes transferred = 5638478 (56094e hex)
Firmware downloaded... filesize = 0x56094e fileaddr = 0x80060000.
[NM_Error](nm_tpFirmwareCheck) 01402: The file's length is bad(buf:5638478 fileL                                                                                                                                                                                                                                             en654645590)

recovery failed.
now restart...

U-Boot 1.1.4-g49c28331-dirty (Nov 17 2020 - 13:43:39)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 408k for U-Boot at: 87f98000
Reserving 16448k for malloc() at: 86f88000
Reserving 44 Bytes for Board Info at: 86f87fd4
Reserving 36 Bytes for Global Data at: 86f87fb0
Reserving 128k for boot params() at: 86f67fb0
Stack Pointer at: 86f67f98
Now running in RAM - U-Boot at: 87f98000
Flash Manuf Id 0xef, 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 0x40802100
run command setenv serverip 192.168.0.66;setenv ipaddr 192.168.0.86
run command tftp 0x80060000 ArcherC7v5_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
Download Filename 'ArcherC7v5_tp_recovery.bin'.
Download to address: 0x80060000
Loading: ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         ################################
         #
done
Bytes transferred = 5638478 (56094e hex)
Firmware downloaded... filesize = 0x56094e fileaddr = 0x80060000.
[NM_Error](nm_tpFirmwareCheck) 01402: The file's length is bad(buf:5638478 fileL                                                                                                                                                                                                                                             en654645590)

recovery failed.
now restart...

U-Boot 1.1.4-g49c28331-dirty (Nov 17 2020 - 13:43:39)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 408k for U-Boot at: 87f98000
Reserving 16448k for malloc() at: 86f88000
Reserving 44 Bytes for Board Info at: 86f87fd4
Reserving 36 Bytes for Global Data at: 86f87fb0
Reserving 128k for boot params() at: 86f67fb0
Stack Pointer at: 86f67f98
Now running in RAM - U-Boot at: 87f98000
Flash Manuf Id 0xef, 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 0x40802100
factory boot check integer ok.

factory boot load fs uboot len 131072 to addr 0x80010000.
Hit any key to stop autoboot:  0
## Starting application at 0x80010000 ...


U-Boot 1.1.4-g49c28331-dirty (Nov 17 2020 - 13:43:27)

ap152 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 125k for U-Boot at: 87fe0000
Reserving 16448k for malloc() at: 86fd0000
Reserving 44 Bytes for Board Info at: 86fcffd4
Reserving 36 Bytes for Global Data at: 86fcffb0
Reserving 128k for boot params() at: 86faffb0
Stack Pointer at: 86faff98
Now running in RAM - U-Boot at: 87fe0000
Flash Manuf Id 0xef, 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 0x40802100
Hit any key to stop autoboot:  0
## Booting image at 9f040000 ...
   Image Name:   MIPS OpenWrt Linux-5.15.167
   Created:      2024-09-23  12:34:46 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2338019 Bytes =  2.2 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum at 0x9f040040 ...OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 134217728

Starting kernel ...

The TFTPD log shows nothing wrong:

Connection received from 192.168.0.86 on port 3876 [12/01 18:06:26.217]
Read request for file <ArcherC7v5_tp_recovery.bin>. Mode octet [12/01 18:06:26.217]
OACK: <timeout=5,blksize=1468,> [12/01 18:06:26.219]
Using local port 58509 [12/01 18:06:26.219]
<ArcherC7v5_tp_recovery.bin>: sent 3841 blks, 5638478 bytes in 0 s. 0 blk resent [12/01 18:06:26.772]
Connection received from 192.168.0.86 on port 3969 [12/01 18:06:36.287]
Read request for file <ArcherC7v5_tp_recovery.bin>. Mode octet [12/01 18:06:36.287]
OACK: <timeout=5,blksize=1468,> [12/01 18:06:36.287]
Using local port 63135 [12/01 18:06:36.287]
<ArcherC7v5_tp_recovery.bin>: sent 3841 blks, 5638478 bytes in 0 s. 0 blk resent [12/01 18:06:36.859]

Given the error [NM_Error](nm_tpFirmwareCheck) 01402: The file's length is bad I thought maybe other firmwares have the correct file length. I tried several OpenWrt; factory, kernel and sysupgrade, until I used openwrt-24.10.0-rc1-ath79-generic-tplink_archer-a7-v5-squashfs-factory.bin and that one was correctly flashed into the router.

Originally my router was on 23.05.5, so I'm not sure why that worked and the others didn't.

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