OpenWrt support for Xiaomi AX3000T

looks like stable release 23.05.5 bricks my AX3000T. I had to recover using the mi tftp tool. I am using the xiaomi factory boot loader not openwrt.
Im back using snapshot r27243-dd1bfbe971.

does release 23.05.5 contain all the changes from previous snapshots?

ok so it seems someone need to add the patch to the official openwrt 23 version code base: https://github.com/openwrt/openwrt/pull/16088

ill continue to use snapshots than.

You have the revision 2 of the RD03 router! This revision is not supported yet!

1 Like

hey guys, got ax3000t rd23 so I tried to install openwrt through UART along with this instruction:

Everything went fine, got up to step 14, rebooted router and got bootloop and kernel missing info.

I tried debricking, but got this:


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 024F [010F]
Jump to BL

NOTICE:  BL2: v2.6(release):9548a30134d-dirty
NOTICE:  BL2: Built : 02:27:18, Jan 24 2024
NOTICE:  WDT: disabled
NOTICE:  EMI: Using DDR3 settings

dump toprgu registers data:
1001c000 | 00000000 0000ffe0 00000000 00000000
1001c010 | 00000fff 00000000 00f00000 00000000
1001c020 | 00000000 00000000 00000000 00000000
1001c030 | 003c0003 003c0003 00000000 00000000
1001c040 | 00000000 00000000 00000000 00000000
1001c050 | 00000000 00000000 00000000 00000000
1001c060 | 00000000 00000000 00000000 00000000
1001c070 | 00000000 00000000 00000000 00000000
1001c080 | 00000000 00000000 00000000 00000000

dump drm registers data:
1001d000 | 00000000 00000000 00000000 00000000
1001d010 | 00000000 00000000 00000000 00000000
1001d020 | 00000000 00000000 00000000 00000000
1001d030 | 00a083f1 000003ff 00100000 00000000
1001d040 | 00000000 00000000 00020303 000000ff
1001d050 | 00000000 00000000 00000000 00000000
1001d060 | 00000002 00000000 00000000 00000000
drm: 500 = 0x8
[DDR Reserve] ddr reserve mode not be enabled yet
DDR RESERVE Success 0
[EMI] ComboMCP not ready, using default setting
BYTE_swap:0
BYTE_swap:0
Window Sum 600, worse bit 5, min window 72
Window Sum 564, worse bit 9, min window 68
Window Sum 428, worse bit 1, min window 52
Window Sum 366, worse bit 15, min window 42
Window Sum 444, worse bit 0, min window 54
Window Sum 368, worse bit 9, min window 44
Window Sum 454, worse bit 0, min window 56
Window Sum 382, worse bit 8, min window 46
Window Sum 394, worse bit 13, min window 46
Window Sum 398, worse bit 9, min window 48
NOTICE:  EMI: Detected DRAM size: 256MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  CPU: MT7981 (1300MHz)
NOTICE:  SPI_NAND parses attributes from parameter page.
NOTICE:  SPI_NAND Detected ID 0xc8
NOTICE:  Page size 2048, Block size 131072, size 134217728
NOTICE:  Initializing NMBM ...
NOTICE:  Signature found at block 1023 [0x07fe0000]
NOTICE:  First info table with writecount 0 found in block 960
NOTICE:  Second info table with writecount 0 found in block 963
NOTICE:  NMBM has been successfully attached in read-only mode
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.6(release):9548a30134d-dirty
NOTICE:  BL31: Built : 02:27:18, Jan 24 2024
NOTICE:  Hello BL31!!!
In:    serial@11002000
Out:   serial@11002000
Err:   serial@11002000
Net:   eth0: ethernet@15100000

  *** U-Boot Boot Menu ***

     1. Startup system (Default)
     2. Startup firmware0
     3. Startup firmware1
     4. Upgrade firmware
     5. Upgrade ATF BL2
     6. Upgrade ATF FIP
     7. Upgrade single image
     8. Load image
     0. U-Boot console


  Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit

*** Loading image ***

Input load address: 0x48000000

Available load methods:
    0 - TFTP client (Default)
    1 - Xmodem
    2 - Ymodem
    3 - Kermit
    4 - S-Record
    5 - RAM

Select (enter for default):

Input U-Boot's IP address: 192.168.10.1
Input TFTP server's IP address: 192.168.10.254
Input IP netmask: 255.255.255.0
Input file name: openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-initramfs-ker                                                                                                                                                             nel.bin

Using ethernet@15100000 device
TFTP from server 192.168.10.254; our IP address is 192.168.10.1
Filename 'openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-initramfs-kernel.bin                                                                                                                                                             '.
Load address: 0x48000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ################################################
         7.5 MiB/s
done
Bytes transferred = 8323828 (7f02f4 hex)
Saving Environment to MTD... Erasing on MTD device 'nmbm0'... OK
Writing to MTD device 'nmbm0'... OK
OK

*** Loaded 8323828 (0x7f02f4) bytes at 0x48000000 ***

Run loaded data now? (Y/n): Y

## Loading kernel from FIT Image at 48000000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.6.50
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x480000e8
     Data Size:    4326793 Bytes = 4.1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x48000000
     Entry Point:  0x48000000
     Hash algo:    crc32
     Hash value:   f492b938
     Hash algo:    sha1
     Hash value:   baf82a2bc58865cff3b16951a5dd380195b60dc8
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading ramdisk from FIT Image at 48000000 ...
   Using 'config-1' configuration
   Trying 'initrd-1' ramdisk subimage
     Description:  ARM64 OpenWrt xiaomi_mi-router-ax3000t initrd
     Type:         RAMDisk Image
     Compression:  Unknown Compression
     Data Start:   0x484207b8
     Data Size:    3971676 Bytes = 3.8 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    crc32
     Hash value:   263b887e
     Hash algo:    sha1
     Hash value:   0583af0a1646e4452e307660c338a59bbf940fee
   Verifying Hash Integrity ... crc32+ sha1+ OK
WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its f                                                                                                                                                             ile!
## Loading fdt from FIT Image at 48000000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt xiaomi_mi-router-ax3000t device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x487ea328
     Data Size:    23177 Bytes = 22.6 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   8aa95659
     Hash algo:    sha1
     Hash value:   56ea137f3010294f81f717095dec59dd1453935a
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x487ea328
   Uncompressing Kernel Image
lzma compressed: uncompress error 1
Must RESET board to recover
resetting ...

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 024F [010F]
Jump to BL

NOTICE:  BL2: v2.6(release):9548a30134d-dirty
NOTICE:  BL2: Built : 02:27:18, Jan 24 2024
NOTICE:  WDT: disabled
NOTICE:  EMI: Using DDR3 settings

dump toprgu registers data:
1001c000 | 00000000 0000ffe0 00000000 00000000
1001c010 | 00000fff 00000000 00f00000 00000000
1001c020 | 00000000 00000000 00000000 00000000
1001c030 | 003c0003 003c0003 00000000 00000000
1001c040 | 00000000 00000000 00000000 00000000
1001c050 | 00000000 00000000 00000000 00000000
1001c060 | 00000000 00000000 00000000 00000000
1001c070 | 00000000 00000000 00000000 00000000
1001c080 | 00000000 00000000 00000000 00000000

dump drm registers data:
1001d000 | 00000000 00000000 00000000 00000000
1001d010 | 00000000 00000000 00000000 00000000
1001d020 | 00000000 00000000 00000000 00000000
1001d030 | 00a003f1 000000ff 00100000 00000000
1001d040 | 00027e71 000200a0 00020303 000000ff
1001d050 | 00000000 00000000 00000000 00000000
1001d060 | 00000002 00000000 00000000 00000000
drm: 500 = 0xc
[DDR Reserve] ddr reserve mode not be enabled yet
DDR RESERVE Success 0
[EMI] ComboMCP not ready, using default setting
BYTE_swap:0
BYTE_swap:0
Window Sum 616, worse bit 1, min window 76
Window Sum 576, worse bit 11, min window 68
Window Sum 432, worse bit 1, min window 52
Window Sum 352, worse bit 9, min window 40
Window Sum 436, worse bit 1, min window 52
Window Sum 366, worse bit 9, min window 42
Window Sum 444, worse bit 0, min window 54
Window Sum 382, worse bit 9, min window 46
Window Sum 450, worse bit 1, min window 54
Window Sum 396, worse bit 9, min window 48
Window Sum 398, worse bit 9, min window 48
NOTICE:  EMI: Detected DRAM size: 256MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  CPU: MT7981 (1300MHz)
NOTICE:  SPI_NAND parses attributes from parameter page.
NOTICE:  SPI_NAND Detected ID 0xc8
NOTICE:  Page size 2048, Block size 131072, size 134217728
NOTICE:  Initializing NMBM ...
NOTICE:  Signature found at block 1023 [0x07fe0000]
NOTICE:  First info table with writecount 0 found in block 960
NOTICE:  Second info table with writecount 0 found in block 963
NOTICE:  NMBM has been successfully attached in read-only mode
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.6(release):9548a30134d-dirty
NOTICE:  BL31: Built : 02:27:18, Jan 24 2024
NOTICE:  Hello BL31!!!
In:    serial@11002000
Out:   serial@11002000
Err:   serial@11002000
Net:   eth0: ethernet@15100000

  *** U-Boot Boot Menu ***

     1. Startup system (Default)
     2. Startup firmware0
     3. Startup firmware1
     4. Upgrade firmware
     5. Upgrade ATF BL2
     6. Upgrade ATF FIP
     7. Upgrade single image
     8. Load image
     0. U-Boot console


  Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit

Looks like uncompressing kernel in the router went wrong? Any idea how to proceed?

Any feedback appreciated, thanks in advance.

return your rd23 back to stock Xiaomi firmware and install OpenWrt again:

Also, someday the new RD23 might receive a Winbond chip (like rd03), so maybe it's better to use Snapshot images for the first OpenWrt installation (just to be on the safe side).

Hello!
I have OpenWRT SNAPSHOT r27229-ebe7c5f1a3 / LuCI Master 24.212.79282~65b8002 (kernel 6.6.47) and I want to upgrade to 23.05.5
Can I just download sysupgrade 23.05.5 and install? Is it true?
And how can I find out my NAND chip? I saw that it was possible to solve the problems

My rd03 snapshot was great

look chip name here.
Or, after reboot, run this command to check the NAND chip name from the command console:

dmesg | grep nand
the output will show the NAND chip name.

Winbond:

[ 0.858640] spi-nand spi0.0: Winbond SPI NAND was found.

or Foresee:

[ 0.720263] spi-nand spi0.0: Foresee SPI NAND was found.

or ESMT:

[ 0.768108] spi-nand spi0.0: ESMT SPI NAND was found.
  • Note: Occasionally, the ESMT NAND chip can be identified as GigaDevice SPI NAND, but visual inspection confirms it to be an ESMT chip:
[ 0.074432] spi-nand spi0.0: GigaDevice SPI NAND was found.

  • ESMT NAND == supported by Stable 23.05.5 and Snapshot;
  • Winbond NAND == supported by Snapshot only;
  • Foresee NAND == not supported by neither 23.05.5 nor Snapshot (at least for now);
    • note: supported only by custom build.
  • AN8855 switch == not supported by neither 23.05.5 nor Snapshot (at least for now).
    • note: supported only by custom build.

:exclamation: To detect unsupported AN8855 switch in a router equipped with a Winbond NAND or Foresee NAND chip, execute the following command:

dmesg | grep AN8855

If no results returned, your router doesn't have unsupported AN8855 hardware.

output example

No results returned example:

root@OpenWrt:~# dmesg | grep AN8855
root@OpenWrt:~# 
1 Like

Snapshots are more stable then people think they are + they contain the latest updates and fixes. Especially to the mt76 driver.
If it works, considering the state of the router in the stable release, I personally would use a snapshot.

Currently running r27494 on my AX3000T with zero issues.

Is there any further progress on 1.0.84 CHN version? Thank you!

1 Like

I have flashed RD03 a few weeks ago with r27346-c7ba5574f5.
How can i upgrade the firmware?

sysupgrade -v openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-squashfs-sysupgrade.bin
Wed Sep 25 14:24:29 CEST 2024 upgrade: The device is supported, but the config is incompatible to the new image (1.1->1.0). Please upgrade without keeping config (sysupgrade -n).
verifying sysupgrade tar file integrity
Image check failed.

You need to run sysupgrade - n which will reset your settings. Says it there. Are trying to go to a stable build?

I know, but what what has changed in the past days that i can't upgrade with snapshot-firmware (first flash is also snapshot)?

The firmware selector site is acting up right now. You should hold up on upgrading.

Seems like it requires an updated bootloader otherwise.

@rwalli Are you running the stock Xiaomi bootloader? I use hanwckf's U-Boot.

I used this image (and not the firmware selector): https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-squashfs-sysupgrade.bin

I don't use uboot and will wait until it's clear what happend.

Thank you...

1 Like

found option compat_version '1.1' in /etc/config/system.
Don't know where it came from.

Is it save to remove it?

Edit: I removed compat_version '1.1' and flashing worked normally

This is which NAND?

root@OpenWrt:~# dmesg | grep NAND
[    0.036066] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.857880] spi-nand spi0.0: ESMT SPI NAND was found.

ESMT NAND chip

Yes.. I really don't care about being stable or not.. The question is, I'm still having problems with losing my internet connection in all the versions I've been using. That's why I want to try the stable because I saw some posts saying they got the same problems solved.

And in the other hand, I really want to remove the U-boot..

Any helps?