OpenWrt support for Xiaomi AX3000T

Hello,

I have the RD23 with firmware version 1.0.42 (INT I guess)

Since RD23 and RD03 have exactly the same hardware, I was wondering if I can flash my RD23 with the official repair tool (MIWIFIRepairTool.x86) with the 1.0.47 (CN) firmware. And then use
the remittor easy method to install openwrt.

This is the repair tool in action: https://www.youtube.com/watch?v=WvVIT3gXZak&t=147s

What do you think?

That you probably need to be more precise in providing the stock firmware number. Really 1.0.42?

It will not be successful. Repair tool will detect your rd23 and a mismatch in the target firmware... until you somehow convince the repair tool that you have rd03. From Wiki:

and the only difference is the version of the stock firmware (which is region-locked).

upgrade/downgrade your rd23's fw to the exploitable 1.0.49 INT version if you can't get ssh with you current stock fw.

How to make sure that recovery image is bootable?

What happens if I switch off the router, then hold reset button and plug power cable? Should recovery start? And then if I reboot the router, the usual openwrt firmware would be loaded again?

Nothing happens in the bootloader (other than for the first boot). Pressing any button during boot will be handled by OpenWrt AFTER the kernel boots (way after the bootloader), which will then trigger the failsafe mode, basically booting the system by mounting /rom only.

I guess instead of changing the default boot entry to recovery, you can do this instead:

fw_setenv flag_recover 1
reboot

This will trigger a special set of commands on boot_default: run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
So, if recovery fails to boot, you can host a proper recovery image via TFTP on address 192.168.1.254. u-boot will download it and write the recovery volume with it.

After you are done checking your recovery image, you can switch back to production:

fw_setenv flag_recover
reboot

NOTE: If the image in recovery is invalid and you use TFTP to upload a proper one, u-boot will destroy your rootfs_data volume. MAKE SURE TO DO A BACKUP BEFORE YOU DO THIS, JUST TO AVOID SOME HEADACHES LATER.

If you do the optional step when changing to uboot mod

  1. (Optional -10Mb free space) Add recovery boot feature.

Can you keep reset pressed whilst powering on to boot into initramfs mode (which I assume includes Luci/ssh)? Is there a way to switch between initramfs/tftp recovery mode whilst powering on?

There isn't much info about this on the wiki page.

Thank you

I have already explained that in the above post. With the default OpenWrt u-boot environment, the only time the bootloader cares about buttons is during the first boot.

boot_first=if button reset ; then led $bootled_rec on ; run boot_tftp_recovery ; setenv flag_recover 1 ; run boot_default ; fi ; bootmenu

Ah so how do you get into initramfs? Or into recovery? Is it only if the ubi image doesn't boot?

fw_printenv has

boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever

bootcmd is

bootcmd=if pstore check ; then run boot_recovery ; else run boot_ubi ; fi

What does pstore check do? The uboot docs mentions kernel crash logging.

I'm just trying to understand how the extra 10mb partition helps/differs from without. Hope this makes sense.

1 Like

Hello
How to downgrade 1.0.91 to 1.0.49? Anybody can help?
RD23 - ESMT F50L1G41LB NAND - MediaTek MT7531AE

Download stock firmware ver. 1.0.49.
Proceed with downgrading process described in Wiki: https://openwrt.org/inbox/toh/xiaomi/ax3000t#downgrading_stock_firmware.

Alternatively, try upload 1.0.49 using either the TFTP recovery method or the Xiaomi MiWiFi Repair Tool (instructions here)

Trying to downgrade 1.0.49 with miwifirepair tool. orange led is blinking but flash process not starting. why?


edit: did it. thank you.

1 Like

Hello,

I have read several posts and unfortunately I have not found a solution to my problem.

I have installed the RD03 version and with the xmir-patcher OpenWrt and made a backup. I then presumably installed the wrong sysupgrade file. After that nothing worked anymore. So I used the MIWIFIRepairTool.x86 and copied the international version instead of the Chinese firmware. Since it didn't work, I have now copied all Chinese versions to the device several times. Unfortunately, the device does not start. The LED lights up orange all the time.

How can I save the device? Does only the UART method help? How can I restore the backup to the device?

The proper recovery image to transfer via TFTP from pc to AX3000T is the following file?

openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb

Can you give me more details on how to do this backup?

Thank you for the support! :slight_smile:

There are always ways and there are several of them. You should have made copies of partitions before flashing. Copies of partitions with stock firmware. You can also do this from Luci. You can do it from the terminal... You can do it through UART and you can probably do it somehow and even exotically... But you somehow got carried away with this.

I made copies of partitions before flashing openwrt from stock firmware but it is not clear to me how to do the backup now, that I am already on openwrt with uboot, as per istructions of @Cthulhu88 here

Do not flash the wrong recovery image))). And in general, these routers are so durable that if you replace the NAND with a new (empty) one, you can restore it to the factory state with the help of UART.

After I updated the AX3000T router, the error codes in the picture started to appear. After reinstalling with the SYSUPGRADE file, I made the updates and the error appeared.
What is the solution?
Device Model: RD-23 - ESMT

Reset the router firmware to default and clear the cache in the browser, or go into "incognito" mode.

Today I reflashed 5 routers RD03 Chinese version with AN8855 and NAND Foresee.
3 routers did not "have bad blocks", 2 routers showed their presence when executing - "ubidetach -p /dev/mtd8; ubiformat /dev/mtd8 -y; ubiattach -p /dev/mtd8"
After which they were successfully flashed to the stable official version 24.10.0, but the bootloader was not used from the OpenWrt branch, but from https://github.com/dimfishr/openwrt/releases/tag/filogic-2025-02-17
Some custom edits were made to it to fix OpenWrt bugs with this NAND. While one of the routers is being tested and works normally! Please note that if you have the same configuration and when executing "ubidetach -p /dev/mtd8; ubiformat /dev/mtd8 -y; ubiattach -p /dev/mtd8" there are indications of the presence of bad blocks!!!

3 Likes

If your router's USB port is needed just for external disk storage, then there is a great alternative on OpenWrt:

With this setup, you can mount your Microsoft OneDrive (or Google Drive) as a disk on the AX3000T router and share it over your local network like a NAS.

A practical example: shared network folder for scanned documents, or just storage for documents, etc.

In many cases, this can be an even better (cheaper) solution than using a regular USB flash drive.

2 Likes