OpenWrt support for Xiaomi AX3000T

I do not your router's history, what you did on it.

Another option is flash the router to ubootmod version. Be careful.

1 Like
 2. Startup firmware0 ----------------->>> attach mtd9
 3. Startup firmware1------------------>>> Attach mtd8

i follow this

how to change it

what the option uboot mood ?!

Summary

refer to the install instruction.

Your router is now in factory bootloader.
The ubootmod is a new bootloader from openwrt, the partitions not same.

1 Like

tanx sooo for time
my brain are explode
give me a time for rest
try whit fresh brain .
u gave me a hope .
one last question if this router were ok . can copy dump flash to enother spi memory for dead router?

Yes, you could use a downloaded full chip code also.

One thing is important, your router is RD23, what is different with RD03, you should care it first.

1 Like

aha ok dude
pray for me if anything was is your mind that help me plz write it

can find memory dump for this version from net?

I hope, I donot know.

how to use Uboot mod
its last Hope

how can run this command now

Summary

nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=1
nvram set flag_last_success=1
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit

seems like fixed boot problem but now get error

The problem is solved. Downloaded. stable 23.05
run tftp
rename openwrt-23.05.4-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb >> openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-squashfs-sysupgrade.itb

U-boot choose method

  1. Load production system via TFTP then write to NAND.

open 192.168.1.1 and load from Luci file openwrt-23.05.4-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-squashfs-sysupgrade.itb

I'm about to attempt this on an RD23. I have a few questions as I like to know the game I'm playing...

  1. Does anyone have a diagram of the flash layout of the device (before and after OpenWRT flashing).
  2. Why is this line needed? What is broken compared to other devices that requires this? fw_setenv flag_try_sys1_failed 0

rd23 has dual boot after 6 boot failed switch to enother mtd anf wend back to correct mtd clear data and restore default. this line means no error on this mtd then u boot always boot from this mtd

But why are the boots getting marked as failed? Because it is trying to boot from the non-existent 2nd image?

Has anyone tried to flash a dual boot Openwrt layout on the device?

Hi, now i have that, and here is no "flag_try_sys1_failed", it's a problem for me?

root@OpenWrt:/# fw_printenv
boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
boot_first=if button reset ; then led $bootled_rec on ; run boot_tftp_recovery ; setenv flag_recover 1 ; run boot_default ; fi ; bootmenu
boot_production=led $bootled_pwr on ; run ubi_read_production && bootm $loadaddr#$bootconf ; led $bootled_pwr off
boot_recovery=led $bootled_rec on ; run ubi_read_recovery && bootm $loadaddr#$bootconf ; led $bootled_rec off
boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
boot_tftp_forever=led $bootled_rec on ; while true ; do run boot_tftp_recovery ; sleep 1 ; done
boot_tftp_production=tftpboot $loadaddr $bootfile_upg && env exists replacevol && iminfo $loadaddr && run ubi_write_production ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
boot_tftp_recovery=tftpboot $loadaddr $bootfile && env exists replacevol && iminfo $loadaddr && run ubi_write_recovery ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run mtd_write_bl2
boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run mtd_write_fip && run reset_factory
boot_ubi=run boot_production ; run boot_recovery ; run boot_tftp_forever
bootargs=console=ttyS0,115200n8 console_msg_format=syslog
bootcmd=if pstore check ; then run boot_recovery ; else run boot_ubi ; fi
bootconf=config-1
bootdelay=3
bootfile=openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-initramfs-recovery.itb
bootfile_bl2=openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-preloader.bin
bootfile_fip=openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-bl31-uboot.fip
bootfile_upg=openwrt-mediatek-filogic-xiaomi_mi-router-ax3000t-ubootmod-squashfs-sysupgrade.itb
bootled_pwr=yellow:status
bootled_rec=blue:status
bootmenu_0=Run default boot command.=run boot_default
bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
bootmenu_2=Boot production system from NAND.=run boot_production ; run bootmenu_confirm_return
bootmenu_3=Boot recovery system from NAND.=run boot_recovery ; run bootmenu_confirm_return
bootmenu_4=Load production system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_production ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
bootmenu_5=Load recovery system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_recovery ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
bootmenu_6=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return
bootmenu_7=Load BL2 preloader via TFTP then write to NAND.=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
bootmenu_8=Reboot.=reset
bootmenu_9=Reset all settings to factory defaults.=run reset_factory ; reset
bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
bootmenu_default=0
bootmenu_delay=3
bootmenu_title=      ( ( ( OpenWrt ) ) )       U-Boot 2024.07-OpenWrt-r27179-2ae5bea856 (Aug 20 2024 - 16:01:33 +0000)
console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0
ethaddr=7a:47:f7:54:3b:0d
ipaddr=192.168.1.1
loadaddr=0x46000000
mtd_write_bl2=mtd erase bl2 && mtd write bl2 $loadaddr
mtd_write_fip=mtd erase fip && mtd write fip $loadaddr
reset_factory=ubi part ubi ; mw $loadaddr 0x0 0x800 ; ubi write $loadaddr ubootenv 0x800 ; ubi write $loadaddr ubootenv2 0x800
serverip=192.168.1.254
ubi_create_env=ubi check ubootenv || ubi create ubootenv 0x100000 dynamic || run ubi_format ; ubi check ubootenv2 || ubi create ubootenv2 0x100000 dynamic || run ubi_format
ubi_format=ubi detach ; mtd erase ubi && ubi part ubi ; reset
ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
ubi_read_production=ubi read $loadaddr fit && iminfo $loadaddr && run ubi_prepare_rootfs
ubi_read_recovery=ubi check recovery && ubi read $loadaddr recovery
ubi_remove_rootfs=ubi check rootfs_data && ubi remove rootfs_data
ubi_write_production=ubi check fit && ubi remove fit ; run ubi_remove_rootfs ; ubi create fit $filesize dynamic && ubi write $loadaddr fit $filesize
ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic && ubi write $loadaddr recovery $filesize
ver=U-Boot 2024.07-OpenWrt-r27179-2ae5bea856 (Aug 20 2024 - 16:01:33 +0000)

can write iniram on both mtd but in my router dosnt work

Possibly overlapping and corrupting, that's why I wanted a layout. I'll experiment as time permits.