Adding OpenWrt support for Xiaomi AX3600 (Part 1)

I couldn't upgrade from robimarko's 2023-01-02 build to the official one. sysupgrade / fw_setenv didn't work, both of them changed nothing and writing initramfs to mtd13 was possible, but never booted despite updating the flag_boot_rootfs to 1. My solution to upgrade was:

  • TFTPD64 Recovery to MI Stock Firmware
  • Enable SSH (see TOH AX3600 page, javascript F12 method)
  • Followed the wiki guide on to flash initramfs, boot it, and sysupgrade to the official snapshot release.

Everything works fine now :slight_smile:

1 Like

seems you have an network problem. Did you enter the gateway? What happens if you ping from router?

from the lan Zone and the wifi belonging to lan I have connection to the internet. but it seems that the update via ssh needs to have connection to the internet via wan. But then wan interface would have same IP net than Lan. Can I configure the router, that it tries to go to interent via lan interface ?

Strangely enough trying to do a sysupgrade from latest pr-final to official snapshot using Attended Sys Upgrade (ASU) also resulted in me having to tftp recover.

Only thing is that I already use OpenSSL, but noticed the cpucrypto and removed it, as part of the ASU.

I can’t take another stab over the next couple of days but I flashed back to my last working pr-final build as I didn’t have the right setup to get latest official loaded.

Strange. Might try doing an official build without removing the cpucrypto next time to make sure that removal didn’t cause issues.

Again, all other items in my builds are -openssl variants.

1 Like

I'm actually getting the same error on both of my AX3600s after updating to a build from the latest official repo.
One is connected to the internet via the WAN port, the other is a mesh node connected over the 5GHz radio. Devices connected to each are accessible through their respective cloud services so the devices have internet connectivity.
Unfortunately, I just performed this update and did not try a opkg update before on the old version so I'm not sure if this problem is new to this build, but I can say that it has worked in the past.

Update: It's working now with no action taken on my part.

can you show your /etc/config/network config?
What happens when you do a ‚ping‘ on the ax3600?

Did you follow for configuration?

Thanks for the hint!

Moving away from mesh-wolfssl on AX3600 helped: the instability, the packetloss went away even if I switched to wpad-mesh-openssl or the new wpad-mesh-mbedtls. :ok_hand:

The mt76/ac node uses the openssl variant, the mt76/ax node is with wolfssl. All good!

1 Like


What about resetting the compat_version?

Am I right in assuming that the migration path for the ax3600 is the same as for the ax6 (using the ax3600 files instead of ax6 files)?

Yes you're right you can cleanup compat_version for future updates:

uci set system.@system[0].compat_version=
uci commit
1 Like

Exactly just replace with your device name

I also had issues upgrading from a about a week ago pr build. Was already migrated to new interface names and single partition. Changed config version to 1.0 and took backup. Then attempted sysupgrade to official snapshot, which bricked the device. Had to tfpt to chinese v1.017, ssh, then write intramfs and sysupgrade latest official snapshot, then restored backup. Now build is functional, but not sure why it did not work in the first place...

There were some bricks (I had one) and robi modified the code to be sure it starts with the correct partition. Since then it seems there are not more bricks. So if you are now at the official one, the problem, in theory, is fixed. Search the thread about and you will see the changes made.

1 Like

I also have problems upgrading my both AX6.

Yesterday I bricked both as I tried to install the official openwrt (has @dimfish release).
Than I reverted both back to firmware 1.0.16, get ssh access and do everything as explained in Tutorial , but after reboot under point 6 the devices is bricked, too.

Are there any differences, has anybody the same problems?

These instructions seem outdated. Look at the official commit in OpenWrt

Can you move that issue to openwrt/openwrt its not a packages feed issue

Please read my post above how-to upgrade from my builds:

1 Like

See if you have the DNS server in router LAN interface, if not put it instead of the IP I have in the screenshot:

I can't move it. I don't see the option to do that. Maybe @Ansuel is able to move it.
I can create it new at openwrt/openwrt, but your message will get lost.

You are gonna need to create a new issue, then I can just copy my reply there as well

I softbricked an AX3600 too, moving from a self-built day-1 openwrt/master to an official pre-built openwrt/master snapshot.

For me, network interface name and single partition changes happened many iterations ago - that is not the issue here. The updated would have been in place already too. The only relevant difference I can think of is build configuration? The previous update cycle from final self-built robimarko-pr to self-built openwrt/master (both using that same custom config) worked OK.

I'm honestly not sure what happened. I don't have UART access. Good news is that a from-scratch tftp recovery using only the official snapshot initramfs and sysupgrade images worked OK. I was able to opkg install everything that used to be in my custom build, restore the config and all is well.

Edit: tftp recovery is of course with Xiaomi firmware first, then ubiformat with openwrt initramfs.