Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
toh:xiaomi:ax9000 [2023/02/21 11:30] – link cleanup tmomastoh:xiaomi:ax9000 [2023/08/27 10:50] – [Official firmware] seemebreakthis
Line 1: Line 1:
 ====== Xiaomi Mi Router AX9000 ====== ====== Xiaomi Mi Router AX9000 ======
-~~NOTOC~~ 
  
 /* This template is intended to be used via https://openwrt.org/meta/create_new_device_page . */ /* This template is intended to be used via https://openwrt.org/meta/create_new_device_page . */
- 
-/* {{page>meta:infobox:construction&noheader&nofooter&noeditbtn}} +/ 
- 
  
 /*****/ /*****/
Line 11: Line 7:
 /*****/ /*****/
  
-{{ :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.:
Line 31: Line 27:
 - another with International OEM firmware and **secure boot enabled**.  - another with International OEM firmware and **secure boot enabled**. 
  
-Both have now support on OpenWRT.+Both have now support on OpenWrt.
  
 ===== OpenWrt support ===== ===== OpenWrt support =====
Line 43: Line 39:
 ---- ----
  
-See bellow the experimental supported firmware available: [[#experimental_firmware]]+===== Hardware Highlights ===== 
 +---- 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 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,1Gbit ports,2.5Gbit ports,Modem,USB 
 +align   : c,c,c,c,c,c,c,c,c,c,c,c,
 +filter  : Brand=Xiaomi 
 +filter  : Model=AX9000 
 +---- 
 + 
 + 
 +===== Installation ===== 
 +/* stable release */ 
 +/* uncomment once stable release is available 
 +---- datatable ---- 
 +cols    Model, Versions, Supported Current Rel, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url 
 +headers : Model, Version, Current Release, Firmware OpenWrt Install, Firmware OpenWrt Upgrade, Firmware OEM Stock 
 +align   : c,c,c 
 +filter  : Brand=Xiaomi 
 +filter  : Model=AX9000 
 +---- 
 +*/ 
 + 
 + 
 +/* snapshot */ 
 +/* delete once stable release is available */ 
 +---- datatable ---- 
 +cols    : Model, Versions, Supported Current Rel, Firmware OpenWrt snapshot Install URL_url, Firmware OpenWrt snapshot Upgrade URL_url, Firmware OEM Stock URL_url 
 +headers : Model, Version, Current Release, Firmware OpenWrt snapshot Install, Firmware OpenWrt snapshot Upgrade, Firmware OEM Stock 
 +align   : c,c,c 
 +filter  : Brand=Xiaomi 
 +filter  : Model=AX9000 
 +---- 
 + 
 + 
 +-> [[docs:guide-user:installation:generic.flashing|Install OpenWrt (generic explanation)]] 
 + 
 +FIXME Please add the installation procedure here.
  
  
Line 53: Line 85:
   * 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:
Line 73: Line 115:
     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 ==== 
Line 90: Line 133:
   * The ''sysupgrade'' command may fail due to a [[https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-ax3600/55049/9156|random issue]] of ''wpad'' not being effectively stopped while upgrading Openwrt. A firmware patch was already release, [[https://github.com/robimarko/openwrt/pull/89|here]].   * The ''sysupgrade'' command may fail due to a [[https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-ax3600/55049/9156|random issue]] of ''wpad'' not being effectively stopped while upgrading Openwrt. A firmware patch was already release, [[https://github.com/robimarko/openwrt/pull/89|here]].
   * <del>Ath11k memory: With some (older) firmware versions, the ath11k driver needed for the main wireless radios uses a lot of memory when there are few stations connected and low bandwidth traffic flowing. Getting a recent version using the link immediately above will resolve this problem.</del>   * <del>Ath11k memory: With some (older) firmware versions, the ath11k driver needed for the main wireless radios uses a lot of memory when there are few stations connected and low bandwidth traffic flowing. Getting a recent version using the link immediately above will resolve this problem.</del>
-  * The IPQ807x target has not yet support for [[:docs:guide-user:network:dsa:dsa-mini-tutorial|DSA]], on OpenWRT: [[https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-ax3600/55049/9060|See this forum post]].+  * The IPQ807x target has not yet support for [[:docs:guide-user:network:dsa:dsa-mini-tutorial|DSA]], on OpenWrt: [[https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-ax3600/55049/9060|See this forum post]].
  
  
Line 156: Line 199:
  
  
 +===== Hardware =====
 +==== Info ====
  
 +^ Architecture      | ARMv8                                                    |
 +^ Vendor            | Qualcomm                                                 |
 +^ Bootloader        | U-Boot                                                   |
 +^ System-On-Chip    | Qualcomm IPQ8072A                                        |
 +^ CPU/Speed         | 2.2 GHz                                                  |
 +^ Flash-Chip        | Winbond W29N02GZ                                         |
 +^ Flash size        | 256 MiB                                                  |
 +^ RAM               | 1024 MiB                                                 |
 +^ Wireless 2.4GHz   | QCN5024 + QPF4288 802.11b/g/n/ax                         |
 +^ Wireless 5GHz     | QCN9024 + QCN5054 (Both use QPF4588) 802.11a/g/n/ac/ax   |
 +^ Ethernet          | 4x 10/1000 Mbit/s 1x 10/1000/2500 Mbit/                |
 +^ Switch            | Qualcomm QCA8075 and 8081                                |
 +^ USB               | 1x 3.0                                                   |
 +^ Serial            | [[ax9000#serial|Yes]]                                    |
  
 +==== Serial ====
  
-===== Hardware =====+Router side RX is disabled by default, to enable run the following commands via SSH on:
  
-=== Highlights === +=== OEM firmware === 
-^ CPU                        ^ Ram      ^ Flash   ^ Network     ^ WLAN2.4     ^ WLAN5.0   ^ USB      ^ Serial ^ +<code> 
-| Qualcomm IPQ8072A @ 2.2 GHz    1024 MiB  |  256 MiB  |  4x 10/100/1000 1x 10/100/1000/2500  |  b/g/n/ax    a/n/ac/ax  |  1x 3.0  |  [[ax9000#serial|Yes]]  |+nvram set uart_en=1 
 +nvram set boot_wait=on 
 +nvram commit 
 +</code>
  
-=== Info === +=== OpenWrt firmware === 
-<hidden+<code
-^ Architecture     | ARMv8                             | +fw_setenv uart_en 1 
-^ Vendor           | Qualcomm                           | +fw_setenv boot_wait on 
-^ Bootloader       | U-Boot                           | +</code> 
-^ System-On-Chip   | Qualcomm IPQ8072A   | + 
-^ CPU/Speed        | 2.2 GHz                          | +=== How to connect to the Serial Port (UART) === 
-^ Flash-Chip       | Winbond W29N02GZ                           | + 
-^ Flash size       | 256 MiB                            +{{:media:xiaomi:ax9000_uart.jpg?800|}} 
-^ RAM              | 1024 MiB                           | + 
-^ Wireless 2.4GHz  | QCN5024 + QPF4288 802.11b/g/n/ax        | +<color red>**Make sure that your UART adapter is 1.8V I/O level, 3.3V or 5V adapters will kill your SoC**</color> 
-^ Wireless 5GHz    | QCN9024 + QCN5054 (Both use QPF4588) 802.11a/g/n/ac/ax        | + 
-^ Ethernet         | 4x 10/1000 Mbit/s 1x 10/1000/2500 Mbit/    | +As depicted on the picture above: 
-^ Switch           Qualcomm QCA8075 and 8081         +<a2s> 
-^ USB              1x 3.0                           +    TX  GND  RX  VCC 
-^ Serial           | [[ax9000#serial|Yes]]                  | +   #----------------# 
-</hidden>+   |.-. .-. .-. .-. 
 +   |'-' '-' '-' '-' J2 
 +   #----------------
 +</a2s> 
 + 
 +^ Serial connection parameters\\ for Xiaomi AX9000 | 115200, 8N1, 1.8V |
  
-=== Flash Layout in OEM firmware ===+==== Flash Layout in OEM firmware ====
 <hidden> <hidden>
 <code> <code>
Line 220: Line 288:
 </hidden> </hidden>
  
-=== Flash layout on QSDK firmware ===+==== Flash layout on QSDK firmware ====
 <hidden> <hidden>
 <code> <code>
Line 252: Line 320:
 </hidden> </hidden>
  
-==== Obtain SSH Access ====+===== Obtain SSH Access =====
  
 Are known the following 2 different methods for rooting this model. Choose the one more convenient to you. Are known the following 2 different methods for rooting this model. Choose the one more convenient to you.
  
-=== Direct rooting device procedure ===+==== Direct rooting device procedure ====
  
 <hidden> <hidden>
Line 291: Line 359:
  
 <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>
Line 298: Line 366:
 </hidden> </hidden>
  
-=== Using a second mandatory OpenWRT router with Luci installed ===+==== Using a second mandatory OpenWrt router with Luci installed ====
 <hidden> <hidden>
   - **this step is only applicable for the Chinese OEM firmware:** Roll back to firmware to 1.0.108 || [[http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/ra70/miwifi_ra70_firmware_d96a4_1.0.108.bin]]   - **this step is only applicable for the Chinese OEM firmware:** Roll back to firmware to 1.0.108 || [[http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/ra70/miwifi_ra70_firmware_d96a4_1.0.108.bin]]
Line 402: Line 470:
 </hidden> </hidden>
  
-==== Install the Experimental Firmware ====+===== Install the Experimental Firmware =====
  
-=== For the Chinese OEM firmware model only ===+==== For the Chinese OEM firmware model only ====
 <hidden> <hidden>
 - 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>
Line 416: Line 484:
   * 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.
   * Find the ''rootfs'' and ''rootfs_1'' mtd indexes respectively again:   * Find the ''rootfs'' and ''rootfs_1'' mtd indexes respectively again:
      <code>cat /proc/mtd</code>      <code>cat /proc/mtd</code>
   * <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]].
 </hidden> </hidden>
  
-=== 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>
Line 449: Line 523:
   * 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-squashfs-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.
   * Find the ''rootfs'' and ''rootfs_1'' mtd indexes respectively again:   * Find the ''rootfs'' and ''rootfs_1'' mtd indexes respectively again:
      <code>cat /proc/mtd</code>      <code>cat /proc/mtd</code>
Line 459: Line 533:
      <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>
- 
-==== Serial ==== 
- 
-Router side RX is disabled by default, to enable run the following commands via SSH on: 
- 
-== OEM firmware == 
-<code> 
-nvram set uart_en=1 
-nvram set boot_wait=on 
-nvram commit 
-</code> 
- 
-== OpenWRT firmware == 
-<code> 
-fw_setenv uart_en 1 
-fw_setenv boot_wait on 
-</code> 
- 
-== How to connect to the Serial Port (UART) == 
- 
-{{:media:xiaomi:ax9000_uart.jpg?800|}} 
- 
-<color red>**Make sure that your UART adapter is 1.8V I/O level, 3.3V or 5V adapters will kill your SoC**</color> 
- 
-As depicted on the picture above: 
-<a2s> 
-    TX  GND  RX  VCC 
-   #----------------# 
-   |.-. .-. .-. .-. | 
-   |'-' '-' '-' '-' | J2 
-   #----------------# 
-</a2s> 
- 
-^ Serial connection parameters\\ for Xiaomi AX9000 | 115200, 8N1, 1.8V | 
- 
  
  
Line 1791: Line 1830:
 ===== Notes ===== ===== Notes =====
  
-=== Factory mode ===+==== Factory mode ====
  
 Write ''a5 5a 00 00'' into ''crash'' partition to enter into factory mode. <color red>Use with caution.</color> Write ''a5 5a 00 00'' into ''crash'' partition to enter into factory mode. <color red>Use with caution.</color>
  
-Source: https://www.5v13.com/mesh/26276.html+Source: [[https://www.5v13.com/mesh/26276.html]] 
 ===== Tags ===== ===== Tags =====
 [[meta:tags|How to add tags]] [[meta:tags|How to add tags]]
 {{tag>IPQ8072 IPQ8072A 256nand 1024ram MU-MIMO OFDMA 4K ipq807x 802.11ax u-boot QCN5054 4port GigabitEthernet 2.5GigabitEthernet 4core wifi6 4x4 Cortex-A53 TxBF serial VLAN QCA8075 QCA8081 TXPA dual_firmware 12v_powered}} {{tag>IPQ8072 IPQ8072A 256nand 1024ram MU-MIMO OFDMA 4K ipq807x 802.11ax u-boot QCN5054 4port GigabitEthernet 2.5GigabitEthernet 4core wifi6 4x4 Cortex-A53 TxBF serial VLAN QCA8075 QCA8081 TXPA dual_firmware 12v_powered}}
  • Last modified: 2024/11/07 07:27
  • by nsr-007