Yes, for RD23, it was necessary in my case.
After I performed the last step of the OpenWrt installation with ubiformat for ..ax3000t-initramfs-factory.ubi
, I did a basic router configuration and rebooted the router a few times. After one of the reboots, the router didn't load quickly, but instead the orange light blinked for a long time, and after that it loaded with the default OpenWrt configuration. It was unexpected for me.
I investigated fw_printenv
and found that I had:
flag_try_sys1_failed=1
flag_try_sys2_failed=6
After several trial and errors I detected that:
- reset to default occurs if I changing
flag_try_sys2_failed
to any value. - reset to default occurs if I changing
flag_try_sys1_failed
to ≥ 5 (and for 8 too!).
I have the following explanation based on this bootloader code for AX3000T shared by @remittor (please feel free to correct me if I'm wrong):
- In Xiaomi routers (new versions) if boot occurs from non-official firmware, after each reboot router adds +1 to counter for
flag_try_sys1_failed
. If router reachesflag_try_sys1_failed=6
, it switch loading from firmware=0 to firmware=1, and tries to boot from another partition (firmware=1). But because after OpenWrt installation I have only mtd8 (and no mtd9), router 6 times tried to load from firmware=1 (it can explain theflag_try_sys2_failed=6
and pretty long boot), and again switching back to load from firmware=0 with default OpenWrt settings. That's why it's important to setfw_setenv flag_try_sys1_failed 0
into/etc/rc.local
for RD23.
I do not think so. Otherwise it would also be mentioned in the wiki for the AX3000T RD03.