OpenWrt support for Xiaomi AX3000T

Thank you. So, you and @t1000 both have firmware=0 in cat /proc/cmdline output (like me), and working option for you is fw_setenv flag_last_success 0....

.... Than I have run out of ideas on how to determine whether fw_setenv flag_last_success 0 or fw_setenv flag_last_success 1 is the working option for a particular RD23.
Remains a trial and error method only :slightly_smiling_face:

Please reboot the router and execute the fw_printenv command again. Does flag_try_sys1_failed=3 remains the same or change?
Also, could you please share what you see under Luci -> System -> Startup -> Local Startup?
It should be something like this:

Update:
@t1000 , "flag_try_sys1_failed=3" seems to be the root cause of your issue. According to step 13 from the guide, this value should always be set to 0 regardless how many times you reboot the router. Since you have a value of 3, it indicates that the correct value was not set after your router reboot.

1 Like

Used the command again "sed -i '/exit 0/i fw_setenv flag_try_sys1_failed 0' /etc/rc.local"

And the line about the error disappeared. It seems there have been several reboots and it works fine. I will test it

flag_boot_rootfs=0
flag_boot_success=1
flag_boot_type=2
flag_last_success=0
flag_ota_reboot=0
invaild_env=no

This command must be executed after every firmware update in RD23.

Just quick check Luci -> System -> Startup -> Local Startup, and if no fw_setenv flag_try_sys1_failed 0, it must be added there.

yes, i checked it. stable firmware with luci already has it written

-stock for stock partition layout.
Otherwise for ubootmod but I haven't built uboot for AN8855 switch. I've flashed it into my AX3000T with MT7531 switch and it works perfectly.
This build should support all hw variants.

RD23 here. Indeed, 160MHz breaks wifi. I'm running stable 23.05.4.

After flashing I can confirm that it works! Ethernet ports are alive!

1 Like

Are you using a code (driver) from the link below? Or mr. hanwckf have some private implementation for a driver?
https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/refs/heads/master/21.02/files/target/linux/mediatek/files-5.4/drivers/net/phy/airoha/an8855

Yes, that driver from mediatek link. I used hanwckf's git code because it's based on 21.02 openwrt and support ax3000t.

As I complete step 13, I do a reboot. loses the UBI. I've tried different versions of the sysupgrade file, the problem is always the same. Help please

Failed to attach UBI"

*** 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
detect button reset released!
Reading from 0x0 to 0x4f7fdd7c, size 0x4 ... OK
Reading from 0x0 to 0x4f7fdd7c, size 0x4 ... OK
Saving Environment to MTD... Erasing on MTD device 'nmbm0'... OK
Writing to MTD device 'nmbm0'... OK
OK
[Dual Image] Booting System 1, sys1_failed = 0, sys2_failed = 0
ubi0: attaching mtd10
ubi0: scanning is finished
ubi0 error: vtbl_check: too large reserved_pebs 565, good PEBs 272
ubi0 error: vtbl_check: volume table check failed: record 1, error 9
Volume table record 1 dump:
reserved_pebs 565
alignment 1
data_pad 0
vol_type 1
upd_marker 0
name_len 11
name rootfs_data
crc 0xbe14d8fb
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd10, error -22
UBI error: cannot attach mtd10
UBI error: cannot initialize UBI, error -22
*** Failed to attach UBI ***
*** Rebuilding UBI ***
Erasing from 0x0 to 0x21fffff, size 0x2200000 ... OK
*** UBI is read-only mode ***
resetting ...

Seems like the same issue with flag_last_success flag.

Please repeat the process from the beginning, but for step 12, instead of fw_setenv flag_last_success 1 use
fw_setenv flag_last_success 0

Can anyone explain how to install OpenWRT (if i understand right, theres actually no way until new version of openWRT is built) or ImmortalWRT on a AX3000T with firmware 1.0.84? Downgrade to 1.0.64 as described did not work.

Sorry, its my first openWRT Router.

BR

I haven't installed permanently immortalwrt, only temporarily, but:
I've used this method to step 6. Step 7 and above won't work because there is no u-boot existing that has new ethernet switch driver.
I've typed in Putty "loadb" command and used C-kermit software to send initramfs-kernel.bin via uart. After that you type "bootm" command in putty and you will boot to immortalwrt. Then I could sysupgrade but because I've fcked up my bootloader I can't boot to firmware.
Now I am waiting for u-boot with new drivers to un-fck my router.

I was eying this model for a while, it seemed the Chinese version was the easiest and cheapest method for me to finally get into OpenWRT. I was, in fact, ready to purchase it right now.

However, the news of a new 1.0.84+ revision is making me somewhat nervous. I've never used OpenWRT, so I'm still unfamiliar with how the hell support works with revisions and what not and I need some clarifications

Is it a guarantee that the 1.0.84 revision is going to be supported by OpenWRT in the near future, hopefully without requiring UART? Or is the revision so great that adding support to it to OpenWRT is going to be the same effort as adding support to an entire new device?

With new SSH exploit all versions RD03 and RD23 can be flashed without downgrade and UART, including simple installation of ImmortalWrt with new AN8855 drivers

2 Likes

Where is this version of the new exploit?

[GitHub - openwrt-xiaomi/xmir-patcher: Firmware patcher for Xiaomi routers](https://github.com/openwrt-xiaomi/xmir-patcher)

3 Likes

Please search on 4 p d a site forum pages. I just want that method can be alive as long as possible.

And the author still hasn't found time to fix the creation of a backup of the stock firmware?
You don't know?