Unbricking an Asus RT-AC57U v3

What I mean is a page like this: https://openwrt.org/toh/asus/rt-ac57u
The v2 and v3 is different to it.
Different hardware and so new pictures, other parameters ...

You get this output on the UART / RS232 while the recovery:

## Enter Rescue Mode ##
eth0 link down
Force to _1000BASET and duplex
dup 1 speed 1000
switch prereq:0
tftpd start
Using eth0 device

Our IP address is:(192.168.1.1)
Wait for TFTP request...
tftpd open
D Got ARP REQUEST, return our IP
D D D D D D D D D D D D D D D D D D D D D D D Got ARP REQUEST, return our IP
D D D D D D D D D D D D D D D D D D D D D D D D Got ARP REQUEST, return our IP
D D D D D D D D D D D D D D D D D D D D D D D D Got ARP REQUEST, return our IP
D D D D D D D D D D D D D D D D D D Got it
#
 First block received
################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
########################################################
done
RAMtoFLASH
Chk trx magic
Download of 0x6f0004 bytes completed
Check TRX and write it to FLASH
Solve TRX, ptr=0x81000000
## Checking image at 81000000 ...
   Image Name:   MIPS OpenWrt Linux-6.6.110
   Created:      2025-10-19  16:37:45 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2618161 Bytes =  2.5 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum ... OK

 Erase kernel block !!
 From 9f060000 To 9f750004 (7274500/h:6f0004)
Erasing flash...
First 0x6 last 0x75 sector size 0x10000                                                                              117
Erased 112 sectors
write addr: 9f060000
done. 7274500 bytes written

SYSTEM RESET!!

Afterwards OpenWrt is booting:

U-Boot 1.1.4-gf5a7e7fc-dirty (Dec 12 2019 - 16:21:11)

RT-AC59U bootloader version: 1.0.0.5
apjet01 - JET 1.0DRAM:
sri
ath_ddr_initial_config(277): (ddr2 init)
ath_sys_frequency: cpu 775 ddr 650 ahb 258
Tap values = (0x12, 0x12, 0x12, 0x12)
128 MB
ASUS RT-AC59U gpio init : wps / reset pin
Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x19
flash size 32MB, sector count = 512
Flash: 32 MB
Maximum malloc length: 128 KBytes
mem_malloc_start/brk/end: 0x85ff4000/85ff4000/86024000
*** Warning - bad CRC, using default environment

Power up PLL with outdiv = 0 then switch to 3
plat_dev_init: read 16384 bytes from offset 9fff1000 of WLANCAL fail! (r = -1)
In:    serial
Out:   serial
Err:   serial
Net:   ath_gmac_enet_initialize...
Fetching MAC Address from 0x8604a71c
ath_gmac_enet_initialize: reset mask:c02200
athr_mgmt_init ::done
JET  ----> S17 PHY *
athrs17_reg_init: complete
SGMII in forced mode
athr_gmac_sgmii_setup SGMII done
: cfg1 0x80000000 cfg2 0x7114
eth0: f0:f2:74:e3:e8:20
eth0 up
eth0
ath_set_tuning_caps: read WLANCAL fail!!! (r = -1)

Please choose the operation:
   1: Load System code to SDRAM via TFTP.
   2: Load System code then write to Flash via TFTP.
   3: Boot System code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.                                                             0
   3: Boot System code via Flash (default).

RT-AC59U bootloader version: 1.0.0.5
MAC Address: F0:2F:74:E3:E8:20
## Checking 1st firmware at 9f060000 ...
   Image Name:   MIPS OpenWrt Linux-6.6.110
   Created:      2025-10-19  16:37:45 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2618161 Bytes =  2.5 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Giving linux ramsize: 134217728 (128 MB)

Starting kernel ...

[    0.000000] Linux version 6.6.110 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r28959-29397011cc) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 Sun Oct 19 16:37:45 2025
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is ASUS RT-AC59U v2
[    0.000000] SoC: Qualcomm Atheros QCA550X 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] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 119972K/131072K available (6833K kernel code, 606K rwdata, 900K rodata, 1188K init, 233K bss, 11100K 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_idle_ns: 4932285024 ns
[    0.000001] sched_clock: 32 bits at 388MHz, resolution 2ns, wraps every 5541893118ns
[    0.008324] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.074844] pid_max: default: 32768 minimum: 301
[    0.089225] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.096985] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.113531] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.
[    0.127860] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.138302] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.147986] pinctrl core: initialized pinctrl subsystem
[    0.156270] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.163117] thermal_sys: Registered thermal governor 'step_wise'
[    0.164914] /ahb/apb: Fixed dependency cycle(s) with /ahb/apb/interrupt-controller@18060010
[    0.192201] clocksource: Switched to clocksource MIPS
[    0.207843] NET: Registered PF_INET protocol family
[    0.213257] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.222326] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.231282] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.239498] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.247615] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.255103] TCP: Hash tables configured (established 1024 bind 1024)
[    0.262552] MPTCP token hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.270444] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.277403] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.285669] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.291706] PCI: CLS 0 bytes, default 32
[    0.300728] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.309218] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.315437] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.333082] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.344194] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.351541] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.363489] printk: console [ttyS0] disabled
[    0.368433] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a 16550A
[    0.377724] printk: console [ttyS0] enabled
[    0.377724] printk: console [ttyS0] enabled
[    0.386820] printk: bootconsole [early0] disabled
[    0.386820] printk: bootconsole [early0] disabled
[    0.429730] spi-nor spi0.0: w25q256 (32768 Kbytes)
[    0.434865] 4 fixed-partitions partitions found on MTD device spi0.0
[    0.441479] OF: Bad cell count for /ahb/spi@1f000000/flash@0/partitions
[    0.448382] OF: Bad cell count for /ahb/spi@1f000000/flash@0/partitions
[    0.455492] Creating 4 MTD partitions on "spi0.0":
[    0.460468] 0x000000000000-0x000000040000 : "Bootloader"
[    0.469134] 0x000000040000-0x000000050000 : "nvram"
[    0.476256] 0x000000050000-0x000000060000 : "Factory"
[    0.483544] OF: Bad cell count for /ahb/spi@1f000000/flash@0/partitions
[    0.490733] 0x000000060000-0x000002000000 : "firmware"
[    0.498563] 2 uimage-fw partitions found on MTD device firmware
[    0.504757] Creating 2 MTD partitions on "firmware":
[    0.509904] 0x000000000000-0x000000280000 : "kernel"
[    0.516961] 0x000000280000-0x000001fa0000 : "rootfs"
[    0.524011] mtd: setting mtd5 (rootfs) as root device
[    0.529333] 1 squashfs-split partitions found on MTD device rootfs
[    0.535787] 0x0000006f0000-0x000001fa0000 : "rootfs_data"
[    1.236687] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0
[    1.893934] ag71xx-legacy 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316]
[    1.905955] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: sgmii
[    1.912984] i2c_dev: i2c /dev entries driver
[    1.920549] NET: Registered PF_INET6 protocol family
[    1.937451] Segment Routing with IPv6
[    1.941340] In-situ OAM (IOAM) with IPv6
[    1.945609] NET: Registered PF_PACKET protocol family
[    1.950920] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.964645] 8021q: 802.1Q VLAN Support v1.8
[    1.987894] PCI host bridge to bus 0000:00
[    1.992162] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    1.999376] pci_bus 0000:00: root bus resource [io  0x0000]
[    2.005168] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    2.013436] pci 0000:00:00.0: [168c:0056] type 00 class 0x028000
[    2.019695] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    2.026861] pci 0000:00:00.0: PME# supported from D0 D3hot
[    2.033548] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    2.040431] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[    2.065344] clk: Disabling unused clocks
[    2.078677] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[    2.092108] Freeing unused kernel image (initmem) memory: 1188K
[    2.098289] This architecture does not have kernel memory protection.
[    2.104977] Run /sbin/init as init process
[    2.843764] init: Console is alive
[    2.847660] init: - watchdog -
[    4.412503] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.500357] usbcore: registered new interface driver usbfs
[    4.506193] usbcore: registered new interface driver hub
[    4.511780] usbcore: registered new device driver usb
[    4.526551] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    4.550324] ehci-platform 1b000000.usb: EHCI Host Controller
[    4.556272] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[    4.564541] ehci-platform 1b000000.usb: irq 13, io mem 0x1b000000
[    4.592221] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[    4.599903] hub 1-0:1.0: USB hub found
[    4.604453] hub 1-0:1.0: 1 port detected
[    4.613817] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.631873] init: - preinit -
[    8.562224] random: crng init done
Cannot parse config file '/etc/fw_env.config': No such file or directory
Failed to find NVMEM device
[   10.672396] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 2 is up
[   10.680642] eth0: link up (1000Mbps/Full duplex)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   14.964343] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[   14.975475] urandom-seed: Seed file not found (/etc/urandom.seed)
[   15.042385] eth0: link down
[   15.067605] procd: - early -
[   15.070908] procd: - watchdog -
[   15.842421] procd: - watchdog -
[   15.846560] procd: - ubus -
[   16.014713] procd: - init -
Please press Enter to activate this console.
[   17.945087] kmodloader: loading kernel modules from /etc/modules.d/*
[   19.254641] Loading modules backported from Linux version v6.12.52-0-g2b2cbdcede38
[   19.262540] Backport generated by backports.git v6.1.110-1-35-g410656ef
[   19.667235] urngd: v1.0.2 started.
[   19.965064] PPP generic driver version 2.4.2
[   19.984218] NET: Registered PF_PPPOX protocol family
[   20.085354] ath10k 6.10 driver, optimized for CT firmware, probing pci device: 0x56.
[   20.153210] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002)
[   20.160015] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[   23.693484] ath10k_pci 0000:00:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
[   23.703114] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   23.717641] ath10k_pci 0000:00:00.0: firmware ver 10.4b-ct-9888-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 59e741e7
[   24.069520] ath10k_pci 0000:00:00.0: board_file api 2 bmi_id 0:16 crc32 5968d47d
[   25.852768] ath10k_pci 0000:00:00.0: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   25.860547] ath10k_pci 0000:00:00.0: msdu-desc: 2500  skid: 32
[   25.911789] ath10k_pci 0000:00:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   25.923163] ath10k_pci 0000:00:00.0: wmi print 'free: 114572 iram: 12644 sram: 29508'
[   26.167199] ath10k_pci 0000:00:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-nvmem max-sta 32 raw 0 hwcrypto 1
[   26.374408] kmodloader: done loading kernel modules from /etc/modules.d/*
[   72.175389] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   72.202380] jffs2_build_filesystem(): unlocking the mtd device...
[   72.202404] done.
[   72.210785] jffs2_build_filesystem(): erasing all blocks after the end marker...
[   73.166071] eth0: link up (1000Mbps/Full duplex)
[   73.186522] br-lan: port 1(eth0.1) entered blocking state
[   73.192145] br-lan: port 1(eth0.1) entered disabled state
[   73.197831] eth0.1: entered allmulticast mode
[   73.202374] ag71xx-legacy 19000000.eth eth0: entered allmulticast mode
[   73.209380] eth0.1: entered promiscuous mode
[   73.213861] ag71xx-legacy 19000000.eth eth0: entered promiscuous mode
[   74.270837] br-lan: port 1(eth0.1) entered blocking state
[   74.276497] br-lan: port 1(eth0.1) entered forwarding state
[  153.593954] done.
[  153.595987] jffs2: notice: (2309) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[  153.764857] overlayfs: upper fs does not support tmpfile.

Working Firmware of the v2 on the v3:

The Flash Memory is shown correct with 32 MB.

Bootloader says RT-AC59U. Worth adding model alias via trivial pull request.

The point is to show up the hardware differences with the alternative recovery requirements.
It is really hard to notice such crucial differences, when there is no page pointing it out!

Deriving from manufacture date it is still under commercial warranty and you have to start there.

Hä?
We are talking here about alternative firmware and bricking the device with it.

This is an exchange of informations how such an device can be used with alternative firmware!

Step 1: get clean OEM firmware
Step 2: perform clean OpenWrt install
Kind of path of minimal resistance for "generic user" not in possession of soldering iron.

In this case the soldering iron was needed to get the "secrets" of this version of router.

You can get "original" device name in config backup file name

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