Asus TUF AX4200 support

Hardware

SOC: MediaTek MT7986
RAM: 512MB DDR3
FLASH: 256MB SPI-NAND (Winbond W25N02KV)
WIFI: Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz
ETH: MediaTek MT7531 Switch
MaxLinear GPY211C 2.5 N-Base-T PHY
USB: 3.2 Gen
UART: 3V3 115200 8N1 (Pinout silkscreened / Do not ocnnect VCC)

Installation

  1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
    reachable at 192.168.1.66/24. Rename the image to tufax4200.bin.

  2. Connect the TFTP server to the AX4200. Conect to the serial console,
    interrupt the autoboot process by pressing '4' when prompted.

  3. Download & Boot the OpenWrt initramfs image.

    $ setenv ipaddr 192.168.1.1
    $ setenv serverip 192.168.1.66
    $ tftpboot 0x46000000 tufax4200.bin
    $ bootm 0x46000000

  4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
    using scp and install using sysupgrade.

    $ sysupgrade -n <path-to-sysupgrade.bin>

Missing features

  • The LAN port LEDs are driven by the switch but OpenWrt does not
    correctly configure the output.

OEM bootlog:

F0: 102B 0000
FA: 1040 0000
FA: 1040 0000 [0200]
F9: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 2400 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [1000]
T0: 0000 0209 [010F]
Jump to BL

NOTICE:  BL2: v2.6(release):
NOTICE:  BL2: Built : 14:46:08, Jul 22 2022
NOTICE:  WDT: disabled
NOTICE:  CPU: MT7986 (2000MHz)
NOTICE:  EMI: Using DDR3 settings
NOTICE:  EMI: Detected DRAM size: 512MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  SPI_NAND parses attributes from parameter page.
NOTICE:  SPI_NAND Detected ID 0xef
NOTICE:  Page size 2048, Block size 131072, size 268435456
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.6(release):
NOTICE:  BL31: Built : 14:46:14, Jul 22 2022


U-Boot 2022.04-rc1 (Aug 17 2022 - 13:47:14 +0800)
TUF-AX4200 bootloader version: 1.0.0.1

CPU:   MediaTek MT7986
Model: mt7986-rfb
DRAM:  512 MiB
Core:  43 devices, 15 uclasses, devicetree: embed
MMC:   mmc@11230000: 0
Loading Environment from MTD...
SPINAND raw ID: 00 EF AA 22
spi-nand: spi_nand spi_nand@1: Winbond SPI NAND was found.
spi-nand: spi_nand spi_nand@1: 256 MiB, block size: 128 KiB, page size: 2048, OO                                                           B size: 64
*** Warning - bad CRC, using default environment

In:    serial@11002000
Out:   serial@11002000
Err:   serial@11002000
ASUS TUF-AX4200 gpio/led init
Net:
Warning: ethernet1@15100000 (eth0) using random MAC address - 76:1e:bf:4a:e2:46
eth0: ethernet1@15100000
Warning: ethernet0@15100000 (eth1) using random MAC address - ea:e5:6a:96:cf:cd
, eth1: ethernet0@15100000
ubi0: attaching mtd4
ubi0: scanning is finished
ubi0: attached mtd4 (name "UBI_DEV", size 252 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 2016, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 6, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 4/2, WL threshold: 4096, image sequence number: 20                                                           37501690
ubi0: available PEBs: 0, total reserved PEBs: 2016, PEBs reserved for bad PEB ha                                                           ndling: 40
UBI:   vol_id  reserved_pebs  alignment  data_pad  vol_type  usable_leb_size  us                                                           ed_ebs  used_bytes  last_eb_bytes  corrupted  upd_marker  name_len  name
UBI:        0              1          1         0   dynamic            1f000                                                                    1       1f000         1f000          0           0         5  nvram
UBI:        1              8          1         0   dynamic            1f000                                                                    8       f8000         1f000          0           0         7  Factory
UBI:        2              8          1         0   dynamic            1f000                                                                    8       f8000         1f000          0           0         8  Factory2
UBI:        3            242          1         0   dynamic            1f000                                                                  242     45fe000         1f000          0           0         5  linux
UBI:        4            242          1         0   dynamic            1f000                                                                  242     45fe000         1f000          0           0         6  linux2
UBI:        5            31f          1         0   dynamic            1f000                                                                  31f     60c1000         1f000          0           0         5  jffs2
UBI: 7fffefff              2          1         0   dynamic            1f000                                                                    2       3e000             2          0           0         d  layout volume
Read 1015808 bytes from volume Factory to 000000005f707ac0
EEPROM set 0: OK (version 65)
Read 1015808 bytes from volume Factory2 to 000000005f707ac0
EEPROM set 1: OK (version 65)
Read 1015808 bytes from volume Factory to 000000005fb45590
Select EEPROM set 0 at offset 0x0.

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).

TUF-AX4200 bootloader version: 1.0.0.1
MAC Address: C8:7F:54:20:A0:80
HwID A
Read 40 bytes from volume linux to 0000000046000000
   FIT/FDT format image found at 0x46000000,size 0x231c324
Read 36815692 bytes from volume linux to 0000000046000000
## Loading kernel from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-3.0
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e4
     Data Size:    3288448 Bytes = 3.1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x48080000
     Entry Point:  0x48080000
     Hash algo:    crc32
     Hash value:   53e7a520
     Hash algo:    sha1
     Hash value:   99d3477db727e344294de16bcc01c53592f968b0
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading ramdisk from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'rootfs-1' ramdisk subimage
     Description:  Root File System
     Type:         RAMDisk Image
     Compression:  Unknown Compression
     Data Start:   0x463285ec
     Data Size:    33503297 Bytes = 32 MiB
     Architecture: Unknown Architecture
     OS:           Unknown OS
     Load Address: 0x00000000
     Entry Point:  0x00000000
     Hash algo:    crc32
     Hash value:   2618282e
     Hash algo:    sha1
     Hash value:   4f69fdecd302f235d48b95bede632683cec7997a
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   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:   0x46322fa8
     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 0x46322fa8
Read 40 bytes from volume linux2 to 000000005f7ffb90
   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 Thu Mar 2 16:58:02 CST 2023
Machine model: TUF-AX4200/TUF-AX4200Q
earlycon: uart8250 at MMIO32 0x0000000011002000 (options '')
printk: bootconsole [uart8250] enabled
On node 0 totalpages: 130062
  DMA32 zone: 2048 pages used for memmap
  DMA32 zone: 0 pages reserved
  DMA32 zone: 130062 pages, LIFO batch:31
psci: probing for conduit method from DT.
psci: PSCIv1.1 detected in firmware.
psci: Using standard PSCI v0.2 function IDs
psci: MIGRATE_INFO_TYPE not supported.
psci: SMC Calling Convention v1.0
percpu: Embedded 23 pages/cpu s55320 r8192 d30696 u94208
pcpu-alloc: s55320 r8192 d30696 u94208 alloc=23*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
Detected VIPT I-cache on CPU0
CPU features: detected: GIC system register CPU interface
CPU features: kernel page table isolation disabled by kernel configuration
Built 1 zonelists, mobility grouping on.  Total pages: 128014
Kernel command line: root_rfs=0x3285ec rootfstype=squashfs ubi.mtd=UBI_DEV console=ttyS0,115200n1 loglevel=8                            earlycon=uart8250,mmio32,0x11002000 root=/dev/mtdblock6
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 491980K/520248K available (6590K kernel code, 520K rwdata, 1676K rodata, 448K init, 289K bss, 28268K reserved, 0K cma-reserved)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Invalid signature of oopsbuf: FF-FF-FF-FF-FF-FF-FF-FF (len -1)
rcu: Hierarchical RCU implementation.
rcu:    CONFIG_RCU_FANOUT set to non-default value of 32.
rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
GICv3: GIC: Using split EOI/Deactivate mode
GICv3: 640 SPIs implemented
GICv3: 0 Extended SPIs implemented
GICv3: Distributor has no Range Selector support
GICv3: 16 PPIs implemented
GICv3: no VLPI support, no direct LPI support
GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
random: get_random_bytes called from start_kernel+0x2d4/0x418 with crng_init=0
arch_timer: cp15 timer(s) running at 13.00MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=52000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
ASID allocator initialised with 65536 entries
rcu: Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
Detected VIPT I-cache on CPU1
GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
Detected VIPT I-cache on CPU2
GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
Detected VIPT I-cache on CPU3
GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
smp: Brought up 1 node, 4 CPUs
SMP: Total of 4 processors activated.
CPU features: detected: 32-bit EL0 Support
CPU features: detected: CRC32 instructions
CPU: All CPU(s) started at EL2
alternatives: patching kernel code
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic allocations
cryptd: max_cpu_qlen set to 1000
SCSI subsystem initialized
libata version 3.00 loaded.
rbus 18000000.wbsys: PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [mem 0x18000000-0x18ffffff]
pci_bus 0000:00: root bus resource [bus 00-ff]
pci_bus 0000:00: scanning bus
pci 0000:00:00.0: [14c3:7986] type 00 class 0x000280
pci 0000:00:00.0: reg 0x10: [mem 0x18000000-0x1800000f 64bit]
pci 0000:00:00.0: reg 0x18: [mem 0x00000000-0x0000000f]
pci 0000:00:00.0: reg 0x1c: [mem 0x00000000-0x0000000f]
pci 0000:00:00.0: reg 0x20: [mem 0x00000000-0x0000000f]
pci 0000:00:00.0: reg 0x24: [mem 0x00000000-0x0000000f]
pci_bus 0000:00: fixups for bus
pci_bus 0000:00: bus scan returning with max=00
clocksource: Switched to clocksource arch_sys_counter
thermal_sys: Registered thermal governor 'fair_share'
thermal_sys: Registered thermal governor 'bang_bang'
thermal_sys: Registered thermal governor 'step_wise'
thermal_sys: Registered thermal governor 'user_space'
thermal_sys: Registered thermal governor 'power_allocator'
NET: Registered protocol family 2
IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
NET: Registered protocol family 1
PCI: CLS 0 bytes, default 64
workingset: timestamp_bits=62 max_order=17 bucket_order=0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
mtk-pcie 11280000.pcie: host bridge /pcie@11280000 ranges:
mtk-pcie 11280000.pcie: Parsing ranges property...
mtk-pcie 11280000.pcie:   MEM 0x20000000..0x2fffffff -> 0x20000000
phy phy-pcie-phy@11c00000.0: try to get sw efuse
phy phy-pcie-phy@11c00000.0: try to get sw efuse+
phy phy-pcie-phy@11c00000.0: u3 auto load valid efuse: ENABLE with value: 1
phy phy-pcie-phy@11c00000.0: u3 efuse - intr 29, rx_imp f, tx_imp e
phy phy-pcie-phy@11c00000.0: pcie auto load valid efuse: ENABLE with value: 1
phy phy-pcie-phy@11c00000.0: u3 lane1 efuse - intr 29, rx_imp f, tx_imp e
mtk-pcie 11280000.pcie: PCIe link down, ltssm reg val: 0x0
mtk-pcie: probe of 11280000.pcie failed with error -110
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
printk: console [ttyS0] disabled
11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 12, base_baud = 2500000) is a ST16650V2
printk: console [ttyS0] enabled
printk: console [ttyS0] enabled
printk: bootconsole [uart8250] disabled
printk: bootconsole [uart8250] disabled
11003000.serial: ttyS1 at MMIO 0x11003000 (irq = 13, base_baud = 1625000) is a ST16650V2
11004000.serial: ttyS2 at MMIO 0x11004000 (irq = 14, base_baud = 1625000) is a ST16650V2
mtk_rng 1020f000.trng: registered RNG driver
random: fast init done
cacheinfo: Unable to detect cache hierarchy for CPU 0
crng init done
loop: module loaded
mt7986-pinctrl 1001f000.pinctrl: pin_config_set op failed for pin 36
mtk-spi 1100a000.spi: Error applying setting, reverse things back
spi-nor spi0.0: unrecognized JEDEC id bytes: ff ef aa 22 00 00
spi-nor: probe of spi0.0 failed with error -2
spi-nand spi0.1: Winbond SPI NAND was found.
spi-nand spi0.1: 256 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
2 fixed-partitions partitions found on MTD device spi0.1
Creating 2 MTD partitions on "spi0.1":
0x000000000000-0x000000400000 : "Bootloader"
0x000000400000-0x000010000000 : "UBI_DEV"
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
IMQ driver loaded successfully. (numdevs = 8, numqueues = 1, imq_dev_accurate_stats = 1)
        Hooking IMQ after NAT on PREROUTING.
        Hooking IMQ before NAT on POSTROUTING.
[mtk_hw_init] reset_lock:0, force:0
[mtk_hw_init] execute fe cold reset
mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc010b00000, irq 124
mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc010b00000, irq 124
(unnamed net_device) (dummy): netif_napi_add() called with weight 256
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP Deflate Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPTP driver version 0.8.5
i2c /dev entries driver
mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
crypto-safexcel 10320000.crypto: EIP97:230(0,1,4,4)-HIA:270(0,5,5),PE:150/433,alg:7fcdfc00
u32 classifier
    Performance counters on
    input device check on
xt_time: kernel timezone is -0000
gre: GRE over IPv4 demultiplexor driver
IPv4 over IPsec tunneling driver
NET: Registered protocol family 10
Segment Routing with IPv6
NET: Registered protocol family 17
NET: Registered protocol family 15
Bridge firewalling registered
l2tp_core: L2TP core driver, V2.0
l2tp_ppp: PPPoL2TP kernel driver, V2.0
l2tp_netlink: L2TP netlink interface
8021q: 802.1Q VLAN Support v1.8
mt7530 mdio-bus:1f lan1 (uninitialized): PHY [dsa-0.0:01] driver [Generic PHY]
mt7530 mdio-bus:1f lan2 (uninitialized): PHY [dsa-0.0:02] driver [Generic PHY]
mt7530 mdio-bus:1f lan3 (uninitialized): PHY [dsa-0.0:03] driver [Generic PHY]
mt7530 mdio-bus:1f lan4 (uninitialized): PHY [dsa-0.0:04] driver [Generic PHY]
mt7530 mdio-bus:1f: configuring for fixed/2500base-x link mode
DSA: tree 0 setup
mt7530 mdio-bus:1f: Link is Up - 2.5Gbps/Full - flow control rx/tx
ubi0: attaching mtd1
ubi0: scanning is finished
ubi0: attached mtd1 (name "UBI_DEV", size 252 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 2016, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 6, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 4/2, WL threshold: 4096, image sequence number: 2037501690
ubi0: available PEBs: 0, total reserved PEBs: 2016, PEBs reserved for bad PEB handling: 40
ubi0: background thread "ubi_bgt0d" started, PID 893
gluebi_create: Hook read/write method of Factory.
gluebi_create: Hook read/write method of Factory2.
[Factory-0]: OK (ver: 65)
[Factory2-0]: OK (ver: 65)
Select [Factory-0]
volume linux rfs_offset 3285ec mtd->size 45fe000
Creating 1 MTD partitions on "linux":
0x0000003285ec-0x0000045fe000 : "rootfs"
mtd: device 6 (rootfs) set to be root filesystem
volume linux2 rfs_offset 3285ec mtd->size 45fe000
Creating 1 MTD partitions on "linux2":
0x0000003285ec-0x0000045fe000 : "rootfs2"
gluebi_create: skip jffs2 volume
VFS: Mounted root (squashfs filesystem) readonly on device 31:6.
devtmpfs: mounted
Freeing unused kernel memory: 448K
Run /sbin/init as init process
init_main start.
/dev/nvram: No such file or directory
/dev/nvram: No such file or directory
offset 0x4000 elapse 16ms
_nvram_free: 939(modprobe) nvram_idx(1 / 2)
found private data block and skip it
1: set_action 0


Hit ENTER for console...

firmware version: 3.0.0.4.388_31340-g22de206, dev:(NBIG5S603093EFW/C8:7F:54:20:A0:80)
mtd productid: 1▒P
bootloader version: 1▒P-01-00-00-01
firmware version: 0.0init (1): drop_caches: 1
.0.116
odmpid: TUF-AX4200
current FW productid: TUF-AX4200
current FW firmver: 3.0.0.4
NBIG5S603093EFW
clean_mode(1) clean_time(2) threshold(0)
free_caches: Start syncing...
free_caches: Start cleaning...
free_caches: waiting 2 second...
free_caches: Finbled: GPIO#1: netdev ra0 nr_users 1.
ish.
[1 init:inbled: GPIO#2: netdev rax0 nr_users 1.
it_nvram +10] init_nvram for model(149)
set_basic_ifname_vars: WAN eth1 LAN lan1 lan2 lan3 lan4 [lan1 lan2 lan3 lan4 ra0 rax0] WIRED [lan1 lan2 lan3 lan4] ETH_IFNAMES [] 2G ra0 5G rax0 60G N/A USB usb AP_LAN N/A DW_WAN eth1 DW_LAN lan1 lan2 lan3 lan4 force_dwlan 0, sw_mode 1
wan_ifnames: eth1
init_amas_subunit: Set default value.
init_amas_subunit(9495): update wl0_vifnames [wl0.1 wl0.2 wl0.3 wl0.4]
1: check_action 0: 1(init)
1: set_action 7
nvram_commit(): pid 1 comm [init]
_nvram_free: 1(init) nvram_idx(0 / 2)
found private data block and skip it
1: set_action 0
[AUTO_FW_UPGRADE] default tmp_time_str= 03:49

config_switch(0x0216): link down all ports
config_mt7986_mt7531_LANWANPartition: LAN/P.WAN/S.WAN portmask 0000001f/00000020/00000000 Upstream eth1 (unit 0)
config_switch(0x0266): ISP Profile/STB: none/0
config_switch(0x0546): link up wan port(s)
1+0 records in
1+0 records out
mediatek_soc_hnat 15100000.hnat: wan = eth1
mediatek_soc_hnat 15100000.hnat: lan = lan
mediatek_soc_hnat 15100000.hnat: ppd = eth0
mediatek_soc_hnat 15100000.hnat: gmac num = 2
mediatek_soc_hnat 15100000.hnat: ppe num = 1
mediatek_soc_hnat 15100000.hnat: PPE0 entry number = 8192
mediatek_soc_hnat 15100000.hnat: PPE0 hwnat start
hnat roaming work enable
conninfra@(mtk_conninfra_drv_init:644) Before platform_driver_register
Get Index(0-TOP_MISC_BASE) phy_addr(0x11d10000) vir_addr=(0xffffffc010070000) size=(0x1000)
Get Index(1-TOPRGU_BASE) phy_addr(0x1001c000) vir_addr=(0xffffffc010072000) size=(0x1000)
Get Index(2-GPIO_BASE) phy_addr(0x1001f000) vir_addr=(0xffffffc0109fe000) size=(0x1000)
Get Index(3-IOCFG_TR_BASE) phy_addr(0x11f00000) vir_addr=(0xffffffc010a5d000) size=(0x1000)
Get Index(4-IOCFG_TL_BASE) phy_addr(0x11f10000) vir_addr=(0xffffffc010ba9000) size=(0x1000)
Get Index(5-INFRACFG_AO_BASE) phy_addr(0x10003000) vir_addr=(0xffffffc010bab000) size=(0x1000)
Get Index(6-CONN_INFRA_CFG_BASE) phy_addr(0x18001000) vir_addr=(0xffffffc010bad000) size=(0x1000)
Get Index(7-CONN_INFRA_SYSRAM_BASE) phy_addr(0x18050000) vir_addr=(0xffffffc010bf2000) size=(0x1000)
Get Index(8-CONN_INFRA_CLKGEN_ON_TOP_BASE) phy_addr(0x18009000) vir_addr=(0xffffffc010bf4000) size=(0x1000)
Get Index(9-CONN_HOST_CSR_TOP_BASE) phy_addr(0x18060000) vir_addr=(0xffffffc010bf6000) size=(0x1000)
Get Index(10-CONN_INFRA_BUS_CR_BASE) phy_addr(0x1800e000) vir_addr=(0xffffffc010bf8000) size=(0x1000)
Get Index(11-CONN_INFRA_RGU_BASE) phy_addr(0x18000000) vir_addr=(0xffffffc010bfa000) size=(0x1000)
Get Index(12-CONN_WT_SLP_CTL_REG_BASE) phy_addr(0x18005000) vir_addr=(0xffffffc010bfc000) size=(0x1000)
Get Index(13-INST2_CONN_WT_SLP_CTL_REG_BASE) phy_addr(0x18085000) vir_addr=(0xffffffc010bfe000) size=(0x1000)
Get Index(14-CONN_RF_SPI_MST_REG_BASE) phy_addr(0x18004000) vir_addr=(0xffffffc010eaf000) size=(0x1000)
Get Index(15-INST2_CONN_RF_SPI_MST_REG_BASE) phy_addr(0x18084000) vir_addr=(0xffffffc010eb1000) size=(0x1000)
Get Index(16-CONN_SEMAPHORE_BASE) phy_addr(0x18070000) vir_addr=(0xffffffc010f70000) size=(0x10000)
Get Index(17-CONN_AFE_CTL_BASE) phy_addr(0x18003000) vir_addr=(0xffffffc010eb3000) size=(0x1000)
Get Index(18-CONN_AFE_CTL_2ND_BASE) phy_addr(0x18083000) vir_addr=(0xffffffc010eb5000) size=(0x1000)
Get Index(19-WF_TOP_SLPPROT_ON_BASE) phy_addr(0x184c0000) vir_addr=(0xffffffc010fe0000) size=(0x10000)
Get Index(20-WF_TOP_CFG_BASE) phy_addr(0x184b0000) vir_addr=(0xffffffc010eb7000) size=(0x1000)
Get Index(21-WF_MCU_CONFIG_LS_BASE) phy_addr(0x184f0000) vir_addr=(0xffffffc010eb9000) size=(0x1000)
Get Index(22-WF_MCU_BUS_CR_BASE) phy_addr(0x18400000) vir_addr=(0xffffffc010ebb000) size=(0x1000)
Get Index(23-WF_MCUSYS_INFRA_BUS_FULL_U_DEBUG_CTRL_AO_BASE) phy_addr(0x18500000) vir_addr=(0xffffffc010ebd000) size=(0x1000)
Get Index(24-WF_TOP_CFG_ON_BASE) phy_addr(0x184c0000) vir_addr=(0xffffffc011150000) size=(0x10000)
eeFlashId: 0x7986, EEPROM_content_valid = 1
conninfra@(consys_plt_hw_init:221) tx_stream = 0x2, rx_stream = 0x2, band0_pa_type = 0x3, band1_pa_type = 0x3
conninfra@(consys_plt_hw_init:230) adie_cfg_type = 1, one_adie_dbdc = 1
[emi_mng_init] gConEmiPhyBase = [0x4fc00000] size = [0x100000] fw size = [0x100000] ops=[000000004b94c95a]
conninfra@(mtk_conninfra_drv_init:650) After platform_driver_register
ConnInfra Dev: init (0)
conninfra@(_consys_polling_chipid_int:459) Read CONNSYS HW IP version successfully! (0x02070000)
conninfra@(consys_bus_clock_ctrl:485) drv=[4] conninfra_bus_clock_wpll=[0]->[16] enable
conninfra@(connsys_d_die_cfg:530) D-die efuse: 0x00000000
conninfra@(_connsys_a_die_chip_id_confirm:1911) adie_idx[0]: A-die CHIP ID = 0x7976, HW Version = 0x8a20
conninfra@(consys_spi_write_nolock:670) addr = 0x0a00, val = 0xffffffff
conninfra@(consys_spi_write_nolock:670) addr = 0x04ac, val = 0x0000001c
conninfra@(consys_spi_write_nolock:670) addr = 0x0144, val = 0x00000002
conninfra@(consys_spi_write_nolock:670) addr = 0x0148, val = 0x00000000
conninfra@(consys_spi_write_nolock:670) addr = 0x0148, val = 0x43a60000
conninfra@(connsys_a_die_efuse_read_nolock:906) efuse = [0x00000001, 0x00c40000, 0x008600bb, 0x00000000]
conninfra@(consys_spi_write_nolock:670) addr = 0x0144, val = 0x00000002
conninfra@(consys_spi_write_nolock:670) addr = 0x0148, val = 0x23a6003a
conninfra@(consys_spi_write_nolock:670) addr = 0x0148, val = 0x63a7003a
conninfra@(connsys_a_die_efuse_read_nolock:906) efuse = [0x00000001, 0x00c40000, 0x008600bb, 0x00000000]
conninfra@(consys_spi_write_nolock:670) addr = 0x0144, val = 0x00000002
conninfra@(consys_spi_write_nolock:670) addr = 0x0148, val = 0x23a7003a
conninfra@(consys_spi_write_nolock:670) addr = 0x0148, val = 0x63ac003a
conninfra@(connsys_a_die_efuse_read_nolock:906) efuse = [0x00000001, 0x00c40000, 0x008600bb, 0x00000000]
conninfra@(consys_spi_write_nolock:670) addr = 0x0038, val = 0x4a563b00
conninfra@(consys_spi_write_nolock:670) addr = 0x065c, val = 0x1959f80f
conninfra@(consys_spi_write_nolock:670) addr = 0x0664, val = 0x34d00fe0
conninfra@(consys_spi_write_nolock:670) addr = 0x0070, val = 0x88888005
conninfra@(consys_spi_write_nolock:670) addr = 0x0070, val = 0x00000005
conninfra@(consys_spi_write_nolock:670) addr = 0x0070, val = 0x88888005
conninfra@(consys_spi_write_nolock:670) addr = 0x0070, val = 0x00000005
conninfra@(_consys_polling_chipid_int:459) Read CONNSYS HW IP version successfully! (0x02070000)
conninfra@(_consys_hw_conninfra_wakeup:470) conninfra_wakeup refcnt=[0]->[1] wakeup!!
conninfra@(_consys_hw_conninfra_sleep:490) conninfra_sleep refcnt=[1]->[0] sleep!!
conninfra@(opfunc_power_on_internal:241) [Conninfra Pwr On] BT=[0] FM=[0] GPS=[0] WF=[0] CONNINFRA=[1]
mt_wifi: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
conninfra@(conninfra_pwr_on:120) [conninfra_pwr_on] drv=[3]
conninfra@(_consys_polling_chipid_int:459) Read CONNSYS HW IP version successfully! (0x02070000)
Adie Type: 0x7976
SKU Type: One_Adie_DBDC
conninfra@(opfunc_power_on_internal:241) [Conninfra Pwr On] BT=[0] FM=[0] GPS=[0] WF=[1] CONNINFRA=[1]
WiFi@C12L1,get_dbg_setting_by_profile() 4249: debug level setting=INDEX0_debug_level not found!!
WiFi@C12L1,get_dbg_setting_by_profile() 4272: debug option setting=INDEX0_debug_option not found!!
mt_rbus 0000:00:00.0: runtime IRQ mapping not provided by arch
mt7986_init()-->
 sku:0x7, ADIE=MT7976
<--mt7986_init()
RtmpRaDevCtrlInit(): MCS_LUT not used becasue MacTb size(544) > 128!
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX1
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX2
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX3
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX4
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX5
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX6
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX7
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX8
WiFi@C12L1,match_index_by_chipname() 507: not find chip name INDEX9
WiFi@C12L2,match_index_by_chipname() 512: Not find slot id, back to old rule.
msta_ifname not found
hotplug net INTERFACE=ra0 ACTION=add SEQNUM=741
warp_module_init(): module init and register callback for warp
create warp_ctrl ok!!!
wed_get_slot_map(): assign slot_id:0 for entry: 0!
wed_get_slot_map(): assign slot_id:1 for entry: 1!
mtk_warp_proxy: module uses symbols from proprietary module mt_wifi, inheriting taint.
1: check_action 0: 1(init)
*** ubifs: jffs2 0, 5, 101453824
console fd is 0
1: check_action 0: 1(init)
1: set_action 7
_nvram_free: 1(init) nvram_idx(1 / 2)
1: set_action 0
[adjust_vpnc_config, 184]
Insert USB modules early.
xhci-mtk 11200000.xhci: 11200000.xhci supply vbus not found, using dummy regulator
xhci-mtk 11200000.xhci: 11200000.xhci supply vusb33 not found, using dummy regulator
phy phy-usb-phy@11e10000.1: try to get sw efuse
phy phy-usb-phy@11e10000.1: try to get sw efuse+
phy phy-usb-phy@11e10000.2: try to get sw efuse
phy phy-usb-phy@11e10000.2: try to get sw efuse+
phy phy-usb-phy@11e10000.3: try to get sw efuse
phy phy-usb-phy@11e10000.3: try to get sw efuse+
usb hotplug INTERFACE=9/0/0 ACTION=add USBPORT=(null) HOST=(null) DEVICE=(null)
1096: check_action 0: 1(init)
checking for user scripts: '.usbhotplug'
usb hotplug INTERFACE=(null) ACTION=add USBPORT=(null) HOST=(null) DEVICE=(null)
usb hotplug INTERFACE=(null) ACTION=bind USBPORT=(null) HOST=(null) DEVICE=(null)
usb hotplug INTERFACE=9/0/0 ACTION=bind USBPORT=(null) HOST=(null) DEVICE=(null)
1100: check_action 0: 1(init)
checking for user scripts: '.usbhotplug'
usb hotplug INTERFACE=(null) ACTION=bind USBPORT=(null) HOST=(null) DEVICE=(null)
usb hotplug INTERFACE=(null) ACTION=add USBPORT=(null) HOST=(null) DEVICE=(null)
usb hotplug INTERFACE=9/0/0 ACTION=add USBPORT=(null) HOST=(null) DEVICE=(null)
1105: check_action 0: 1(init)
checking for user scripts: '.usbhotplug'
usb hotplug INTERFACE=9/0/0 ACTION=bind USBPORT=(null) HOST=(null) DEVICE=(null)
1108: check_action 0: 1(init)
checking for user scripts: '.usbhotplug'
update_lan_state(lan_, 0, 0)
1+0 records in
1+0 records out
_ifconfig: name=lan1 flags=1243 IFUP addr= netmask=
hotplug net INTERFACE=br0 ACTION=add SEQNUM=789
hotplug net INTERFACE=br0 ACTION=add SEQNUM=789
_ifconfig: name=lan2 flags=1243 IFUP addr= netmask=
_ifconfig: name=lan3 flags=1243 IFUP addr= netmask=
_ifconfig: name=lan4 flags=1243 IFUP addr= netmask=
gen ralink config
gen ralink iNIC config
_ifconfig: name=WiFi@C01L2,RTMP_COM_IoctlHandle() 1511: -> CMD_RTPRIV_IOCTL_VIRTUAL_INF_INIT
ra0 flags=1243 Imsta_ifname not found
FUP addr= netmask=
warp_dev0: probe of 15010000.wed2 failed with error -1
WiFi@C02L1,HwCtrlInit() 551: ser_init() return NDIS_STATUS_FAILURE
WiFi@C12L1,RTMPWirelessModeCfg() 599: Init: BSS0 PhyMode=78
WiFi@C12L1,RTMPWirelessModeCfg() 599: Init: BSS1 PhyMode=177
WiFi@C03L1,AndesSendCmdMsg() 754: Could not send in band command due to diablefRTMP_ADAPTER_MCU_SEND_IN_BAND_CMD
WiFi@C03L2,AndesSendCmdMsg() 765: Command type = ed, Extension command type = 48
WiFi@C03L1,AndesSendCmdMsg() 754: Could not send in band command due to diablefRTMP_ADAPTER_MCU_SEND_IN_BAND_CMD
WiFi@C03L2,AndesSendCmdMsg() 765: Command type = ed, Extension command type = 48
 sku:0x7, ADIE=MT7976
using E1 ROM patch
using E1 RAM
current sync CR = 0x1
        Built date: 20221125171548a
        Platform: ALPS
        HW/SW version: 0x8a108a10
        Patch version: 0xffffffff
current sync CR = 0x1
        Chip ID: 0x0f
        Eco version: 0x00
        Region number: 0x0b
        Format version: 0x02
        Format flag: 0x01
        Ram version: ____000000
        Built date: 20221125171609
        Common crc: 0xfabec89b
        Release info: header tag = 0, total length = 108
        tag 1, padding length = 3, tag length = 101
        payload: t-neptune-main-2111-7986-imp_v7640_wk2219-MT7986_E1_ASIC_ROM_RAM_REBB_IMP_V7640_WK2219-20221125171501
        Chip ID: 0x00
        Eco version: 0x00
        Region number: 0x03
        Format version: 0x02
        Format flag: 0x01
        Ram version: DEV_000000
        Built date: 20221125171806
        Common crc: 0xefcb8833
        Release info: header tag = 0, total length = 0
2 Likes

@blocktrron

Got my unit flashed and working. I noticed MAC addresses are incorrect for each interface.

WAN: CA:7F:54:20:A0:80
LAN: CA:7F:54:20:A0:80
2.4G radio: CA:7F:54:20:A0:81
5G radio: CA:7F:54:20:A0:80

The sticker on the bottom has CA:7F:54:20:A0:80

Please elaborate on this claim. Also see the notice regarding the 2.4G MAC in the source code.

I just imagined that each physical interface should have a different MAC address as I am used to seeing on my other devices.

It seems Asus use the same MAC for all and just increment a wireless interface by one.

By sticker I was just referring to the one on the bottom of the router.

WAN --> LAN:

Connecting to host 192.168.2.2, port 5201
[  5] local 192.168.1.105 port 33798 connected to 192.168.2.2 port 5201
[ ID] Interval            Transfer       Bitrate       Retr  Cwnd
[  5]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    0    252 KBytes       
[  5]  10.00-20.00  sec  1.10 GBytes   942 Mbits/sec    0    349 KBytes       
[  5]  20.00-30.00  sec  1.10 GBytes   941 Mbits/sec    0    349 KBytes       
[  5]  30.00-40.00  sec  1.10 GBytes   941 Mbits/sec    0    349 KBytes       
[  5]  40.00-50.00  sec  1.10 GBytes   941 Mbits/sec    0    499 KBytes       
[  5]  50.00-60.00  sec  1.10 GBytes   942 Mbits/sec    0    499 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer          Bitrate     Retr
[  5]   0.00-60.00  sec  6.58 GBytes   942 Mbits/sec    0     sender
[  5]   0.00-60.04  sec  6.58 GBytes   941 Mbits/sec          receiver

LAN --> WAN:

Connecting to host 192.168.2.2, port 5201
Reverse mode, remote host 192.168.2.2 is sending
[  5] local 192.168.1.105 port 32824 connected to 192.168.2.2 port 5201
[ ID] Interval            Transfer        Bitrate
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  
[  5]  10.00-20.00  sec  1.10 GBytes   941 Mbits/sec                  
[  5]  20.00-30.00  sec  1.10 GBytes   941 Mbits/sec                  
[  5]  30.00-40.00  sec  1.10 GBytes   942 Mbits/sec                  
[  5]  40.00-50.00  sec  1.10 GBytes   941 Mbits/sec                  
[  5]  50.00-60.00  sec  1.10 GBytes   942 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval         Transfer           Bitrate     Retr
[  5]   0.00-60.04  sec  6.58 GBytes   941 Mbits/sec  204    sender
[  5]   0.00-60.00  sec  6.58 GBytes   941 Mbits/sec         receiver

Does it seem like this router can get official OpenWRT support one day?

The MAC addresses are distributed (apart from the 5GHz Wireless MAC ad outlined in the source-code). Thus, the assignment is formally correct.

It was given official support recently. There should be snapshot builds available.

1 Like

Nice! But I cannot find the device page on the OpenWrt website.

I just added a tech page, but is this correct ?

Same chip for SoC and wifi ?

1 Like

Will there be a chance to install OpenWrt from AsusWrt, as it’s possible for other Asus routers?

I wouldn't count on it.

:frowning:

This is now the most powerful OpenWrt-supported router. Unfortunately, I don’t have the skills to connect to a serial console to install OpenWrt.

1 Like

then you won't be able to run openwrt on it, sorry.

get the 2nd next powerful one instead, the wrx36.

1 Like

I guess the next powerful one is Xiaomi Redmi AX6000, but Asus routers seem much better to me.

Sorry for annoying you. Just to clarify, are there almost no chances of installing OpenWrt on an Asus TUF AX4200 the way similar to installation on another Asus router:

From AsusWrt: mtd-write -i openwrt-22.03.3-ramips-mt7621-asus_rt-ax53u-squashfs-factory.bin -d Kernel

Depends what we put into the word "powerful", I guess.

The Xiaomi is 2x-3x more expensive than the WRX36 (probably depends on where you live), and it looks like the installation procedure's even more complicated than of the WRX36's.

And it's Xiaomi ... :wink:

I wouldn't get my hopes up, but we won't know until someone tried.

1 Like

Thank you for your replies!

this is better in terms of radio

AFAIK you shouldn't use the mtd command on ubi devices (NAND flash) and instead use the ubi comand.

I did test the Asus restoration tool, some have been able to install Openwrt from factory on other Asus devices, but it wouldn't boot.

Here you have more info

thanks