Xiaomi AX3200 Brick problem

I use Xiaomi AX3200, actively using OpenWRT
I'm using 23.05.3 but once a week, even if I don't make any changes, when I reboot, it bricks by itself, is anyone else having this problem like me? I can't do anything to solve the problem because I can't access the device again and review the logs.
Note Do you have any suggestion to make an image backup of the device and reinstall it? I'm tired of doing plugins and tweaks when it bricks.

ubus call system board

What problem are you trying to solve by rebooting?

You can back up configuration from web UI, and then sysupgrade to same or newer release resetting configuration.

I may have to reboot due to a power outage or some other reason and it will brick itself.

Is it on the first reboot it bricks itself?
I have 2 devices (now running snapshots) and do not recognise the bricking on each reboot.
Did/do you follow all the installation steps (see https://openwrt.org/toh/xiaomi/ax3200 )
Especially step 5, regarding the flag_try_sys1/2_failed flag.

1 Like

no, no problem with the first reboot, like I said, if you want to reboot at any time (variable) it becomes a brick. I know it sounds strange but it really is the case. I have been doing the steps you mentioned during the installation.

How do your boot_xxxxx and flag_xxxxx uboot variables look like?

Mines are:

root@AX3200-B24 ~ # fw_printenv | grep -e ^flag -e ^boot
boot_auto=bootxq
boot_fw0=run boot_rd_img;bootm
boot_fw1=run boot_rd_img2;bootm
boot_rd_img=nand read ${loadaddr} 0x2C0000 2000;image_blks 2048;nand read ${loadaddr} 0x2C0000 ${img_align_size}
boot_rd_img2=nand read ${loadaddr} 0x20C0000 2000;image_blks 2048;nand read ${loadaddr} 0x20C0000 ${img_align_size}
boot_wait=on
bootargs=console=ttyS0,115200n1 loglevel=8 swiotlb=512 rootfstype=squashfs firmware=0 uart_en=1
bootcmd=bootxq
bootdelay=5
bootmenu_0=1. Load firmware 0 and bootup.=run boot_fw0
bootmenu_1=2. Load firmware 1 and bootup.=run boot_fw1
bootmenu_2=3. Load firmware selected by Xiaoqiang and bootup.=run boot_auto
bootmenu_delay=30
flag_boot_rootfs=0
flag_boot_success=1
flag_boot_type=2
flag_flash_permission=1
flag_last_success=1
flag_ota_reboot=0
flag_show_upgrade_info=1
flag_try_sys1_failed=31
flag_try_sys2_failed=6
flag_upgrade_push=0

OpenWrt 23.05.4 - Service Release - #96 by timur.davletshin - I happened to have same problem on 23.05.4.

Yeah!
Just redo the steps what about I talked with @rtoussaint

1 Like

Can someone update wiki?

Is that a permanent solution? because i have the same router and i'm planning to flash openwrt on it and use it as a vpn router(wireguard)

Worked fine for me. I just set both partitions to the same address:

boot_fw0=run boot_rd_img;bootm
boot_fw1=run boot_rd_img;bootm
boot_rd_img=nand read ${loadaddr} 0x2C0000 2000;image_blks 2048;nand read ${loadaddr} 0x2C0000 ${img_align_size}
boot_rd_img2=nand read ${loadaddr} 0x2C0000 2000;image_blks 2048;nand read ${loadaddr} 0x2C0000 ${img_align_size}

... and set counters past 6:


flag_try_sys1_failed=8
flag_try_sys2_failed=8

... and deleted sensitive information like Wi-Fi passwords.

P.S. Has anyone tried removing unnecessary boot entries?

1 Like

Yes, it's permanent. I would like to know WHY the failure count is increasing, but if it works ...

Your router boots from slot A unless the failure count reaches a certain threshold, then it boots from slot B. In my case, slot B contained non-bootable info, (soft) bricking my device. By resetting it to zero at every boot, it will never boot from slot B and should it boot from slot B for any other reason, it's the same as bootting from slot A.

Wireguard works fine on this device by the way, I use it all the time.

1 Like