Asus TUF AX4200 support

My router refused to restore the system through the official utility Rescue (v2.1.0.3). In the UART log there is an endless wait for requests from the TFTP client.

U-Boot 2022.04-rc1 (Nov 14 2022 - 15:04:49 +0800)
...
TUF-AX4200 bootloader version: 1.0.0.2
MAC Address: C8:7F:54:78:BB:3E
HwID A
reset button pressed!

## Enter Rescue Mode ##
switch prereq:0
tftpd start

Our IP address is:(192.168.1.1)
Wait for TFTP request...
tftpd open
D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D

The TFTPD64 utility was also unable to transfer blocks of data to the bootloader side.
I was very surprised by this.

Here is my method of restoring the system without using recovery mode (i.e. without the reset button):

  1. Run TFTPD64 utility (Base Directory = ".")
  2. Copy the stock trx-image to the directory in which the tftpd64.exe file is located.
  3. Rename trx-image file to "TUF-AX4200.trx"
  4. Reboot device and wait "choose the operation" in UART log.
  5. Press "2"
  6. Are you sure?(Y/N) : type "Y"
  7. Input device IP (192.168.1.1) ==: : press Enter
  8. Input server IP (192.168.1.70) ==: : type our computer IP-addr (or press Enter)
  9. Input Linux Kernel filename (TUF-AX4200.trx) ==: : press Enter
  10. Wait install firmware and load AsusWRT
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.

You choosed 2


   2: Load System code then write to Flash via TFTP.
 Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
 Please Input new ones /or Ctrl-C to discard
        Input device IP (192.168.1.1) ==:
        Input server IP (192.168.1.70) ==:
        Input Linux Kernel filename (TUF-AX4200.trx) ==:
switch prereq:0
Using ethernet0@15100000 device
TFTP from server 192.168.1.70; our IP address is 192.168.1.1
Filename 'TUF-AX4200.trx'.
Load address: 0x46000000
Loading: Got ARP REPLY, set eth addr (9c:6b:00:02:b5:42)
#################################################################
#################################################################
         5 MiB/s
done
Bytes transferred = 36755380 (230d7b4 hex)
0x230d774 bytes written to volume linux
0x230d774 bytes written to volume linux2
HwID A
## Loading kernel from FIT Image at 46000040 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-3.0
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x46000124
     Data Size:    3288768 Bytes = 3.1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x48080000
     Entry Point:  0x48080000
     Hash algo:    crc32
     Hash value:   0dc36517
     Hash algo:    sha1
     Hash value:   9b71605bb54f25f9cbb7795c18415a61380f6614
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading ramdisk from FIT Image at 46000040 ...
   Using 'config-1' configuration
   Trying 'rootfs-1' ramdisk subimage
     Description:  Root File System
     Type:         RAMDisk Image
     Compression:  Unknown Compression
     Data Start:   0x4632876c
     Data Size:    33442579 Bytes = 31.9 MiB
     Architecture: Unknown Architecture
     OS:           Unknown OS
     Load Address: 0x00000000
     Entry Point:  0x00000000
     Hash algo:    crc32
     Hash value:   1a15e2de
     Hash algo:    sha1
     Hash value:   58961af786578b5e255827d944adf8f0b4eb224b
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000040 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt mt7986a-tuf-ax4200 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x46323128
     Data Size:    21838 Bytes = 21.3 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   1e502b26
     Hash algo:    sha1
     Hash value:   64bcc295d1bef64fd2b4c74e3da4c2172e7432e1
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x46323128
   Uncompressing Kernel Image
   Loading Device Tree to 000000005f7f3000, end 000000005f7fb54d ... OK
volume linux seq: 4

Starting kernel ...

Booting Linux on physical CPU 0x0000000000 [0x410fd034]
Linux version 5.4.182 (root@asus) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16530-c6256a6533)) #1 SMP Mon Dec 19 15:29:27 CST 2022
Machine model: TUF-AX4200/TUF-AX4200Q
earlycon: uart8250 at MMIO32 0x0000000011002000 (options '')
printk: bootconsole [uart8250] enabled