| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| toh:xiaomi:ax9000 [2023/02/22 14:12] – formatting changes redalert | toh:xiaomi:ax9000 [2023/08/27 10:50] – [Official firmware] seemebreakthis |
|---|
| /*****/ | /*****/ |
| |
| {{ :media:xiaomi:pms_1617024738.06472917.jpg?400|}} | {{media:xiaomi:ax9000.jpg?400|}} |
| |
| The Xiaomi Mi Router AX9000 is an 802.11ax OFDMA and MU-MIMO Tri-Band WiFi router, which has the following WiFi Interfaces.: | The Xiaomi Mi Router AX9000 is an 802.11ax OFDMA and MU-MIMO Tri-Band WiFi router, which has the following WiFi Interfaces.: |
| ===== Hardware Highlights ===== | ===== Hardware Highlights ===== |
| ---- datatable ---- | ---- datatable ---- |
| cols : Model, Versions, CPU, CPU MHz, CPU Cores_numcores, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4GHz, WLAN 5.0GHz, Ethernet 100M ports_, Ethernet Gbit ports_, Modem, USB ports_ | cols : Model, Versions, CPU, CPU MHz, CPU Cores_numcores, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4GHz, WLAN 5.0GHz, Ethernet 100M ports_, Ethernet 1Gbit ports_, Ethernet 2.5Gbit ports_, Modem, USB ports_ |
| header : Model, Version,SoC,CPU MHz,CPU Cores,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,100M ports,Gbit ports,Modem,USB | header : Model, Version,SoC,CPU MHz,CPU Cores,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,100M ports,1Gbit ports,2.5Gbit ports,Modem,USB |
| align : c,c,c,c,c,c,c,c,c,c,c,c,c | align : c,c,c,c,c,c,c,c,c,c,c,c,c |
| filter : Brand=Xiaomi | filter : Brand=Xiaomi |
| * Luci ''attended sysupgrade'' [[https://forum.openwrt.org/t/ipq807x-openwrt-sysupgrade-server/144301|custom server]] for IPX807x. | * Luci ''attended sysupgrade'' [[https://forum.openwrt.org/t/ipq807x-openwrt-sysupgrade-server/144301|custom server]] for IPX807x. |
| |
| ===== Experimental firmware ===== | ===== Latest working firmware (including experimental firmware) ===== |
| |
| | ==== Official firmware ==== |
| | |
| | As of Aug 27, 2023, the 23.05.0-rc3 firmware provides good support for this device. Some features are not supported including but not limited to the following: |
| | |
| | QCN9024 low 5 GHz band radio (a workaround is proposed below) |
| | PWM LED effects |
| | Fan controller (Lacking driver) |
| | QCA9887 2.4 GHz band radio (5 GHz works however) |
| | |
| | Follow the same procedure as the one in [[:toh:xiaomi:ax9000#install_the_experimental_firmware]] to install the firmware. |
| ==== State-of-the-art ==== | ==== State-of-the-art ==== |
| |
| At this time, there is only an **experimental** fork with **good** partial support for this device, by Robimarko, as [[https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax9000/98908|07/11/2022]]: | At this time, there is also an **experimental** fork with **good** partial support for this device, by Robimarko, as [[https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax9000/98908|07/11/2022]]: |
| |
| - Working: | - Working: |
| PWM LED effects | PWM LED effects |
| Fan controller (Lacking driver) | Fan controller (Lacking driver) |
| | Due to a new single system partition, the International Model has lost the support to be flashed without UART and TFTPBoot method: https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax9000/98908/1123 |
| |
| ==== Robimarko's fork ==== | ==== Robimarko's fork ==== |
| |
| <code> | <code> |
| sed -i 's / channel =. * / channel = \ "debug \" / g' /etc/init.d/dropbear | sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear |
| /etc/init.d/dropbear start | /etc/init.d/dropbear start |
| </code> | </code> |
| - Installation is done by the ''ubiformat'' method, through SSH: | - Installation is done by the ''ubiformat'' method, through SSH: |
| * Open an SSH shell to the router | * Open an SSH shell to the router |
| * Copy the file ''openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-factory.ubi'' to the ''/tmp'' directory | * Copy the file ''openwrt-ipq807x-generic-xiaomi_ax9000-initramfs-factory.ubi'' to the ''/tmp'' directory |
| * Check which ''rootfs'' partition is your router booted in (''0'' = ''rootfs'' | ''1'' = ''rootfs_1''): | * Check which ''rootfs'' partition is your router booted in (''0'' = ''rootfs'' | ''1'' = ''rootfs_1''): |
| <code>nvram get flag_boot_rootfs</code> | <code>nvram get flag_boot_rootfs</code> |
| * Use the command ''ubiformat'' to flash the opposite mtd with UBI image: <color red>**Proceed accordingly by the previous command.**</color> | * Use the command ''ubiformat'' to flash the opposite mtd with UBI image: <color red>**Proceed accordingly by the previous command.**</color> |
| * If ''nvram get flag_boot_rootfs'' returned ''0'': | * If ''nvram get flag_boot_rootfs'' returned ''0'': |
| <code>ubiformat /dev/mtd22 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-factory.ubi && nvram set flag_boot_rootfs=1 && nvram set flag_last_success=1 && nvram commit</code> | <code>ubiformat /dev/mtd22 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-initramfs-factory.ubi && nvram set flag_boot_rootfs=1 && nvram set flag_last_success=1 && nvram commit</code> |
| * otherwise: | * otherwise: |
| <code>ubiformat /dev/mtd21 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-factory.ubi && nvram set flag_boot_rootfs=0 && nvram set flag_last_success=0 && nvram commit</code> | <code>ubiformat /dev/mtd21 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-initramfs-factory.ubi && nvram set flag_boot_rootfs=0 && nvram set flag_last_success=0 && nvram commit</code> |
| * This creates a dual boot router, with OpenWrt on one mtd partition and OEM firmware on the other. Reboot the router, by typing the ''reboot'' command. | * This creates a dual boot router, with OpenWrt on one mtd partition and OEM firmware on the other. Reboot the router, by typing the ''reboot'' command. |
| * Follow the next steps only if you wish to proceed into with a dual boot OpenWrt **exclusive** router, booted and on the OpenWrt CLI. | * Follow the next steps only if you wish to proceed into with a dual boot OpenWrt **exclusive** router, booted and on the OpenWrt CLI. |
| * <color red>**Please confirm if ''mtd20'' and ''mtd21'' are the correct indexes from above**</color> | * <color red>**Please confirm if ''mtd20'' and ''mtd21'' are the correct indexes from above**</color> |
| * If ''fw_printenv flag_boot_rootfs'' returns ''0'': | * If ''fw_printenv flag_boot_rootfs'' returns ''0'': |
| <code>ubiformat /dev/mtd21 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-factory.ubi && fw_setenv flag_boot_rootfs 1 && fw_setenv flag_last_success 1</code> | <code>ubiformat /dev/mtd21 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-initramfs-factory.ubi && fw_setenv flag_boot_rootfs 1 && fw_setenv flag_last_success 1</code> |
| * Otherwise: | * Otherwise: |
| <code>ubiformat /dev/mtd20 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-factory.ubi && fw_setenv flag_boot_rootfs 0 && fw_setenv flag_last_success 0</code> | <code>ubiformat /dev/mtd20 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-initramfs-factory.ubi && fw_setenv flag_boot_rootfs 0 && fw_setenv flag_last_success 0</code> |
| |
| - After all that, the regular ''sysupgrade'' command could be used through the CLI or even on LuCI. Although, see [[ax9000#potential_issueslimitations]]. | - After all that, the regular ''sysupgrade'' command could be used through the CLI or even on LuCI. Although, see [[ax9000#potential_issueslimitations]]. |
| |
| ==== For the International OEM firmware model only ==== | ==== For the International OEM firmware model only ==== |
| | |
| | Due to a change into a single system partition, the International version now has no support for ubiformat flashing. This is caused by its different address set by Xiaomi to boot the kernel. |
| | |
| | [[https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax9000/98908/1231|For now]], just the advanced [[https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax9000/98908/1123 |
| | |UART flashing method]] is available. |
| | |
| <hidden> | <hidden> |
| - Installation is done by the ''ubiformat'' method, through SSH: | <del>- Installation is done by the ''ubiformat'' method, through SSH: |
| * Open an SSH shell to the router, and set the ARM Trust Platform to be enabled: | * Open an SSH shell to the router, and set the ARM Trust Platform to be enabled: |
| <code>nvram set atf="1" && nvram commit && reboot</code> | <code>nvram set atf="1" && nvram commit && reboot</code> |
| <code>ubiformat /dev/mtd20 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-factory.ubi && fw_setenv flag_boot_rootfs 0 && fw_setenv flag_last_success 0</code> | <code>ubiformat /dev/mtd20 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-factory.ubi && fw_setenv flag_boot_rootfs 0 && fw_setenv flag_last_success 0</code> |
| |
| - After all that, the regular ''sysupgrade'' command could be used through the CLI or even on LuCI. Although, see [[ax9000#potential_issueslimitations]]. | - After all that, the regular ''sysupgrade'' command could be used through the CLI or even on LuCI. Although, see [[ax9000#potential_issueslimitations]].</del> |
| </hidden> | </hidden> |
| |