| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| toh:xiaomi:ax3200 [2023/12/25 16:54] – [Failsafe mode] knarrff | toh:xiaomi:ax3200 [2024/10/01 09:02] – [Installation] lessload |
|---|
| |
| {{page>meta:infobox:construction&noheader&nofooter&noeditbtn}} | {{page>meta:infobox:construction&noheader&nofooter&noeditbtn}} |
| |
| Xiaomi Router AX3200 allows you to easily enjoy nearly twice the speed of a typical AC1200 router. The Wi-Fi 6 router significantly reduces latency and unresponsiveness in end devices, even when multiple users are using multiple devices at the same time. | |
| |
| Xiaomi AX3200 (model RB01, international version) and Redmi AX6S (model RB03, Chinese version) are exactly the same hardware. The only difference is the version of the stock firmware (which is region locked). | Xiaomi AX3200 (model RB01, international version) and Redmi AX6S (model RB03, Chinese version) are exactly the same hardware. The only difference is the version of the stock firmware (which is region locked). |
| ===== Supported Versions ===== | ===== Supported Versions ===== |
| |
| ---- datatable ---- | <!-- ToH: { |
| cols : Brand, Model, Versions, Supported Current Rel, OEM device homepage URL_url, Forum Search_search-forums, Device Techdata_pageid | "source": "json", |
| headers : Brand, Model, Version, Current Release, OEM Info, Forum Search, Technical Data | "dom": "t", |
| align : c,c,c,c,c,c,c | "paging": false, |
| filter : Brand=Xiaomi | "rotate": true, |
| filter : Model=AX3200 | "shownColumns": ["brand", "model", "version", "supportedcurrentrel", "oemdevicehomepageurl", "forumsearch", "deviceid"], |
| ---- | "filterColumns": {"brand": "^Xiaomi$", "model": "^AX3200$"} |
| | } --> |
| |
| |
| ===== Hardware Highlights ===== | ===== Hardware Highlights ===== |
| ---- datatable ---- | <!-- ToH: { |
| 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_ | "source": "json", |
| header : Model, Version,SoC,CPU MHz,CPU Cores,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,100M ports,Gbit ports,Modem,USB | "dom": "t", |
| align : c,c,c,c,c,c,c,c,c,c,c,c,c | "paging": false, |
| filter : Brand=Xiaomi | "rotate": true, |
| filter : Model=AX3200 | "shownColumns": ["model", "version", "cpu", "cpumhz", "cpucores", "flashmb", "rammb", "wlanhardware", "wlan24ghz", "wlan50ghz", "ethernet100mports", "ethernet1gports", "modem", "usbports"], |
| ---- | "filterColumns": {"brand": "^Xiaomi$", "model": "^AX3200$"} |
| | } --> |
| |
| ===== Installation ===== | ===== Installation ===== |
| /* stable release table - used instead of previous snapshot table */ | /* stable release table - used instead of previous snapshot table */ |
| ---- datatable ---- | <!-- ToH: { |
| cols : Model, Versions, Supported Current Rel, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url | "source": "json", |
| headers : Model, Version, Current Release, Firmware OpenWrt Install, Firmware OpenWrt Upgrade, Firmware OEM Stock | "dom": "t", |
| align : c,c,c | "paging": false, |
| filter : Brand=Xiaomi | "rotate": true, |
| filter : Model=AX3200 | "shownColumns": ["model", "version", "supportedcurrentrel", "firmwareopenwrtinstallurl", "firmwareopenwrtupgradeurl", "firmwareoemstockurl"], |
| ---- | "filterColumns": {"brand": "^Xiaomi$", "model": "^AX3200$"} |
| | } --> |
| |
| | <color #ed1c24>Note:</color> There are two versions of this device: Xiaomi AX3200 (model RB01, international version) and Redmi AX6S (model RB03, Chinese version). Both versions are exactly the same hardware, and the only difference is the version of the stock firmware (which is region locked). |
| |
| <color #ed1c24>Important:</color> There are two versions of this device: Xiaomi AX3200 (model RB01, international version) and Redmi AX6S (model RB03, Chinese version). Both versions are exactly the same hardware, and the only difference is the version of the stock firmware (which is region locked). | <color #ed1c24>Warning:</color> Xiaomi AX3200 Production Date after 12/2023 with telnet disabled, will brick after flash Sysupgrade image (23.05.3 still fail), factory image can fail sometime , custom build in firmware-selector fail all except some snapshop build. it request mod uboot layout (wait for test and instruction or check [[:toh:xiaomi:ax3200#upgrading_openwrt]] ) |
| |
| The initial installation of OpenWrt on these devices requires telnet access. Some early production units were shipped with telnet enabled from factory, but later devices started shipping with telnet disabled, thus making it harder to install OpenWrt. | The initial installation of OpenWrt on these devices requires telnet access. Some early production units were shipped with telnet enabled from factory, but later devices started shipping with telnet disabled, thus making it harder to install OpenWrt. |
| - Download [[https://github.com/YangWang92/AX6S-unlock/raw/master/unlock_pwd.py|this Python program]] and save to your local disk with the name ''unlock_pwd.py''. Then execute this program by running the command ''python3 unlock_pwd.py <S/N>'' by replacing ''<S/N>'' with the actual serial number from your device (you need to have [[https://www.python.org/|Python]] pre-installed on your computer). You can locate the serial number in the label beneath your router. | - Download [[https://github.com/YangWang92/AX6S-unlock/raw/master/unlock_pwd.py|this Python program]] and save to your local disk with the name ''unlock_pwd.py''. Then execute this program by running the command ''python3 unlock_pwd.py <S/N>'' by replacing ''<S/N>'' with the actual serial number from your device (you need to have [[https://www.python.org/|Python]] pre-installed on your computer). You can locate the serial number in the label beneath your router. |
| - Open a telnet session to your device (using a telnet client such as [[https://www.putty.org/|Putty]]) and login with username "root" and the password from the previous step. The default IP address of the stock firmware is 192.168.31.1. | - Open a telnet session to your device (using a telnet client such as [[https://www.putty.org/|Putty]]) and login with username "root" and the password from the previous step. The default IP address of the stock firmware is 192.168.31.1. |
| - Execute the following commands to prepare device for OpenWrt flashing:<code> | - Execute the following commands to prepare device for OpenWrt flashing: **IMPORTANT**: the commands below are valid for the original Xiaomi bootloader (2021). Newer devices have a different bootloader (2022) that may require different commands. Please refer to [[https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-redmi-router-ax6s-xiaomi-router-ax3200/111085/1688|this post]] in the forum for more details.<code> |
| nvram set ssh_en=1 | nvram set ssh_en=1 |
| nvram set uart_en=1 | nvram set uart_en=1 |
| **Known Issue #1**: It is reported that some newer AX3200/AX6S can only flash factory image and is impossible to use a sysupgrade image. Personal investigation shows that the mtd partitions are offset with -0x20000. So kernel/root partition and ubi volume and written into the wrong position, thus bricks the device. | **Known Issue #1**: It is reported that some newer AX3200/AX6S can only flash factory image and is impossible to use a sysupgrade image. Personal investigation shows that the mtd partitions are offset with -0x20000. So kernel/root partition and ubi volume and written into the wrong position, thus bricks the device. |
| |
| <WRAP important 100%>**Warning!** There is a [[https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-redmi-router-ax6s-xiaomi-router-ax3200/111085/1388?u=alexq|simple way]] to check if router has mtd partitions offset issue: | **Check Issue #1** There is a [[https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-redmi-router-ax6s-xiaomi-router-ax3200/111085/1388?u=alexq|simple way]] to check if router has mtd partitions offset issue: |
| run ''hexdump /dev/mtd8 | head'' on your device. If console output returns a value that starts with ''0000000 0dd0 edfe'', it should be safe to sysupgrade. Otherwise, it will be needed to use UART flash method to recover vendor firmware and then flash OpenWrt factory image from it. </WRAP> | * run ''hexdump /dev/mtd8 | head'' output returns a value that starts with ''0000000 0dd0 edfe'' |
| | * run ''fw_printenv | grep -e ^flag_try -e ^boot_fw'' output returns like <code>boot_fw0=run boot_rd_img;bootm |
| | boot_fw1=run boot_rd_img;bootm |
| | flag_try_sys1_failed=0 |
| | flag_try_sys2_failed=0</code> |
| | If match both it should be safe to sysupgrade.\\ |
| | If ''boot_fw1=run boot_rd_img2;bootm'' you can temporary fix by add ''fw_setenv boot_fw1 'run boot_rd_img;bootm' '' at startup\\ |
| | Otherwise, it will be needed to use UART flash method to recover vendor firmware and then flash OpenWrt factory image from it. |
| | |
| |
| Reported cases: | Reported cases: |
| |
| </WRAP> | </WRAP> |
| | |
| | ==== Stock firmware ==== |
| | * [[http://cdn.awsde0-fusion.fds.api.mi-img.com/xiaoqiang/rom/rb01/miwifi_rb01_firmware_bbc77_1.0.71_INT.bin|Xiaomi AX3200]] (RB01 - the international version) |
| | * [[http://www1.miwifi.com/miwifi_download.html|Redmi AX6S]] official repository, might not have early versions (RB03 - the Chinese version), [[https://github.com/AoThen/AX6S-unlock/raw/master/miwifi_rb03_firmware_stable_1.2.7.bin| favorable 1.2.7 stable]] |
| | |
| |
| ===== Debricking ===== | ===== Debricking ===== |
| The following assumes that the u-boot partition is not damaged. | The following assumes that the u-boot partition is not damaged. |
| |
| | * Create working directory |
| | * Download stock firmware |
| * Power on with the reset button held. About 10s later, the orange led will blink quickly for some seconds then back to always on | * Power on with the reset button held. About 10s later, the orange led will blink quickly for some seconds then back to always on |
| * Release the reset button | * Release the reset button |
| * Connect any LAN port to another computer with DHCP+TFTP enabled | * Connect any LAN port (remember that first port is WAN) to another computer with DHCP+TFTP enabled (in this state the router expects to get an IP address and open FTP to automatically transfer and flash stock firmware) |
| * The AX6S will download from {XX}{XX}{XX}{XX}.img (XX is the uppercase hex-encoded of its assigned IP address), like C0A81F02.img for 192.168.31.2 | * The AX6S will download from {XX}{XX}{XX}{XX}.img (XX is the uppercase hex-encoded of the router IP address), like C0A81F02.img for 192.168.31.2. Again, the expected IMG file is the stock firmware, not OpenWrt. Attention to to the stock firmware to be the correct region (CN/INTL) and favorable version (telnet enabled, etc) |
| * When device LED turns blue and blinks quickly, reboot the device | * After a few seconds the device LED turns BLUE and blinks quickly, reboot the device. If the blink is PURPLE, it indicates the firmware is in the wrong format, or not the expected one, and it´s not flashed. Reboot the device and restart the steps |
| |
| ==== Stock firmware ==== | Above steps executed in the shell: |
| * [[http://cdn.awsde0-fusion.fds.api.mi-img.com/xiaoqiang/rom/rb01/miwifi_rb01_firmware_bbc77_1.0.71_INT.bin|Xiaomi AX3200]] (RB01 - the international version) | <code> |
| * [[http://www1.miwifi.com/miwifi_download.html|Redmi AX6S]] (RB03 - the Chinese version) | # Configure your network interface to: |
| | # address: 192.168.31.2 |
| | # netmask: 255.255.255.0 |
| | # gateway: 192.168.31.1 |
| | |
| | NETWORK_INTERFACE=enp0s3 |
| | mkdir -p /tmp/debrick |
| | |
| | # copy firmware to workdir |
| | cp miwifi_rb01_firmware_bbc77_1.0.71_INT.bin /tmp/debrick/C0A81F04.img |
| | chmod 0766 /tmp/debrick/C0A81F04.img |
| | |
| | sudo dnsmasq -i $NETWORK_INTERFACE -p 0 -d -z --enable-tftp --tftp-root /tmp/debrick --tftp-unique-root --tftp-no-fail --dhcp-range 192.168.31.2,192.168.31.10,255.255.255.0,12h |
| | </code> |
| | |
| | If everything is fine, you will see: |
| | |
| | <code> |
| | dnsmasq: started, version 2.89 DNS disabled |
| | dnsmasq: compile time options: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset no-nftset auth cryptohash DNSSEC loop-detect inotify dumpfile |
| | dnsmasq-dhcp: DHCP, IP range 192.168.31.2 -- 192.168.31.10, lease time 12h |
| | dnsmasq-dhcp: DHCP, sockets bound exclusively to interface enp0s3 |
| | dnsmasq-tftp: TFTP root is /tmp/debrick |
| | dnsmasq-dhcp: DHCPDISCOVER(enp0s3) 5c:02:14:b0:00:00 |
| | dnsmasq-dhcp: DHCPOFFER(enp0s3) 192.168.31.4 5c:02:14:b0:00:00 |
| | dnsmasq-dhcp: DHCPREQUEST(enp0s3) 192.168.31.4 5c:02:14:b0:00:00 |
| | dnsmasq-dhcp: DHCPACK(enp0s3) 192.168.31.4 5c:02:14:b0:00:00 |
| | dnsmasq-tftp: sent /tmp/debrick/C0A81F04.img to 192.168.31.4 |
| | </code> |
| | |
| | After it, you can wait 10 minutes and unplug power supply and turn it back. Router should be available now. |
| |
| |
| ==== Info ==== | ==== Info ==== |
| |
| ---- datatemplatelist dttpllist ---- | <!-- ToH: { |
| template: meta:template_datatemplatelist | "source": "json", |
| cols : Brand, Model, Versions, Device Type, Availability, Supported Since Commit_git, Supported since Rel, Supported current Rel, Unsupported, Bootloader, CPU, Target, CPU MHz, Flash MBs, RAM MB, Switch, Ethernet 100M ports_, Ethernet Gbit ports_, Comments network ports_, Modem, VLAN, WLAN 2.4GHz, WLAN 5.0GHz, WLAN Hardwares, WLAN Comments_, Detachable Antennas_, USB ports_, SATA ports_, Comments USB SATA ports_, Serial, JTAG, LED count, Button count, Power supply, Device Techdata_pageid, Forum topic URL_url, wikidevi URL_url, OEM Device Homepage URL_url, Firmware OEM Stock URL_url, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Comments_ | "dom": "t", |
| filter : Brand=Xiaomi | "paging": false, |
| filter : Model=AX3200 | "rotate": true, |
| ---- | "shownColumns": ["brand", "model", "version", "devicetype", "availability", "supportedsincecommit", "supportedsincerel", "supportedcurrentrel", "unsupported_functions", "bootloader", "cpu", "target", "cpumhz", "flashmb", "rammb", "switch", "ethernet100mports", "ethernet1gports", "commentsnetworkports", "modem", "vlan", "wlan24ghz", "wlan50ghz", "wlanhardware", "wlancomments", "detachableantennas", "usbports", "sataports", "commentsusbsataports", "serial", "jtag", "ledcount", "buttoncount", "powersupply", "deviceid", "owrt_forum_topic_url", "wikideviurl", "oemdevicehomepageurl", "firmwareoemstockurl", "firmwareopenwrtinstallurl", "firmwareopenwrtupgradeurl", "comments"], |
| | "filterColumns": {"brand": "^Xiaomi$", "model": "^AX3200$"} |
| | } --> |
| |
| ==== Photos ==== | ==== Photos ==== |
| * [[https://github.com/openwrt/openwrt/pull/4810|GitHub pull request]] | * [[https://github.com/openwrt/openwrt/pull/4810|GitHub pull request]] |
| * Guide & Firmware https://github.com/mikeeq/xiaomi_ax3200_openwrt for Stock | * Guide & Firmware https://github.com/mikeeq/xiaomi_ax3200_openwrt for Stock |
| | * DC power barrel plug dimensions 4.0mm x 1.7mm. |
| |
| ===== Tags ===== | ===== Tags ===== |
| |
| {{tag>armv8 mt7622 mt7915 2core 256ram 128nand 1nic 4port GigabitEthernet 2wnic 802.11bgn 802.11ax NonDetachableAntenna 6ant 0usb serial 2button 12v_powered}} | {{tag>armv8 mt7622 mt7915 2core 256ram 128nand 1nic 4port GigabitEthernet 2wnic 802.11bgn 802.11ax NonDetachableAntenna 6ant 0usb serial 2button 12v_powered}} |