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
inbox:toh:xiaomi:xiaomi_redmi_ax6_ax3000 [2020/12/29 22:14] – [Info] dchardinbox:toh:xiaomi:xiaomi_redmi_ax6_ax3000 [2024/08/07 00:41] – [Potential issues / Limitations] jiejianshiwaxinge
Line 1: Line 1:
-====== Xiaomi Redmi AX6 AX3000 Wi-Fi 6 Mesh Router====== +====== Xiaomi Redmi AX6 Wi-Fi 6 Mesh Router======
-~~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}}+/* {{page>meta:infobox:construction&noheader&nofooter&noeditbtn}} +/
  
-//Write a short, relevant description of the device. Include a technical overview, but avoid marketing buzzwords/useless stuff. Two to four sentences is about right. A picture is good, too. Edit the page to see how to add pictures.// 
  
 /*****/ /*****/
Line 12: Line 9:
 /*****/ /*****/
  
-{{ media:xiaomi:redmi-ax6-ax3000.jpeg?200|Xiaomi Redmi AX6 AX3000}}+Xiaomi Redmi AX6 is a Wi-fi 6 (802.11ax) capable mesh router, with 4+2 core ARM CPU, 512MB RAM, 128MB flash and 1+3 gigabit capable ethernet ports.
  
  
-===== OpenWrt support ===== 
  
-<color red>**Not supported.**</color>+{{  media:xiaomi:xiaomi_ax6_ax3000_front.jpg?400|}}
  
 +The Xiaomi Redmi AX6 Router is an 802.11ax OFDMA and MU-MIMO Dual-Band WiFi router, which has the following WiFi Interfaces.:
  
 +  * one 2.4GHz (QCN5024 2x2/40MHz ax)
 +  * one 5GHz (QCN5054 4x4/80 or 2x2/160MHz ax)
  
-===== Supporting activities ===== +The radios support up to 4K QAM (through MCS0 - MCS15), for devices and paths that are compatible with those high-density modulations. Supports DFS channels, from channel 36 up to 165 (may vary on each region).
-//Describe if there are any ongoing activities that might lead to OpenWrt support.//+
  
-  * OpenWrt forum thread: [[https://forum.openwrt.org/t/add-support-for-redmi-ax6-ax3000-wi-fi-6-mesh-router/76071]]+This is a router based on a Qualcomm IPQ8071A QCA8074 V2 4-core SoC (up to 1.4GHz).
  
 +It has three 1G LAN ports, one 1G WAN port and 6 non-detachable external antennas. 
  
 + Xiaomi is shipping the router only in a variant with Chinese OEM firmware. The router has support for OpenWrt. 
  
-/*** if info available: uncomment and fill in 
-===== Experimental firmware ===== 
  
-//List experimental firmware download links here.//+===== OpenWrt support =====
  
-//None at this time.//+Supported since [[commit>8253cb2de59aff81e576ea2655b1d290e4098001]] 
 +<!-- ToH: { 
 +  "source": "json", 
 +  "dom": "t", 
 +  "paging": false, 
 +  "shownColumns": ["brand", "model", "supportedcurrentrel", "oemdevicehomepageurl", "forumsearch", "deviceid"], 
 +  "filterColumns": {"brand": "^Xiaomi$", "model": "^Redmi AX6$"
 +} --> 
 + 
 +==== Potential issues Limitations ====  
 +  * 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. **Stopping the wpad service with ''service wpad stop'' before doing the ''sysupgrade'' fixes the issue**. 
 +  * Ath11k memory: 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.After testing, this problem has been improved in version 23.05.4. 
 +  * NSS acceleration: the Qualcom NSS hardware acceleration is not available and maybe never will be. There is a community effort to enable it [[https://forum.openwrt.org/t/ipq807x-nss-build/148529|in the forum]] but this does not guarantee that it will be officially supported in the future. 
 +  * 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 regular DSA instructions on [[:docs:guide-user:network:dsa:dsa-mini-tutorial|the mini tutorial]] do demonstrably work however; wireless interfaces need to be set up in the Network->Wireless section and then be bridged in their Interface Configuration->General Setup->Network menu to connect them to wired interfaces, and the contributor making this statement only uses tagged VLANs on the wired ports. 
 + 
 +===== Supporting activities ===== 
 + 
 +  * OpenWrt forum thread: [[https://forum.openwrt.org/t/add-support-for-redmi-ax6-ax3000-wi-fi-6-mesh-router/76071]] 
 +  * China Openwrt installation [[https://www.acwifi.net/14253.html]] 
 +  * Experimental community OpenWrt with NSS acceleration support [[https://forum.openwrt.org/t/ipq807x-nss-build/148529]]
  
-  * External image (add link) 
-  * trunk image (add link) 
-  * ... 
-***/ 
  
  
 ===== Hardware highlights ===== ===== Hardware highlights =====
-^ CPU                                      ^ Ram      ^ Flash      ^ Network       ^ WLAN2.4     ^WLAN5.0   ^ USB    ^ Serial   ^ JTag   ^ +<!-- ToH: { 
-| Qualcomm IPQ8071A 4core A53 1.4GHz    512 MiB   128 MiB   4x 10/100/1000  |  b/g/n     | an/ac/ax |  No    |   Yes    |   ?    |+  "source": "json", 
 +  "dom": "t", 
 +  "paging": false, 
 +  "rotate": true, 
 +  "shownColumns": ["model", "cpu", "cpumhz", "cpucores", "flashmb", "rammb", "wlanhardware", "wlan24ghz", "wlan50ghz", "ethernet1gports", "usbports"], 
 +  "filterColumns": {"brand": "^Xiaomi$", "model": "^Redmi AX6$"
 +} -->
  
 +==== More Info ====
 +
 +<!-- ToH: {
 +  "source": "json",
 +  "dom": "t",
 +  "paging": false,
 +  "rotate": true,
 +  "shownColumns": ["brand", "model", "version", "devicetype", "availability", "supportedsincecommit", "supportedsincerel", "supportedcurrentrel", "unsupported_functions", "bootloader", "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": "^Redmi AX6$"}
 +} -->
 +
 +=== Notes ===
 +   * Flash chips known is ESMT F59D1G81MB-AZM1P9ACX. Maybe there are more variations of Flash Chips soldered on it. Needs more investigation.
 +   * Stock partitioning assumes ~35M size for each of `rootfs` MTD partitions, and ~30M for `overlay` MTD partition (and even with that, mounted `/overlay` partition somewhy only have size of 15M)
  
-/*** if info available: uncomment and fill in 
 ===== Installation ===== ===== Installation =====
 +
 +/***
   - → [[:downloads|Obtain firmware]]   - → [[:downloads|Obtain firmware]]
   - → [[docs:guide-user:installation:generic.flashing|Install OpenWrt]]   - → [[docs:guide-user:installation:generic.flashing|Install OpenWrt]]
   - → [[:downloads|Latest OpenWrt release]]   - → [[:downloads|Latest OpenWrt release]]
 +***/
 +
 +==== Firmware download ====
 +/* snapshot table  */
 +<!-- ToH: {
 +  "source": "json",
 +  "dom": "t",
 +  "paging": false,
 +  "rotate": true,
 +  "shownColumns": ["model", "supportedcurrentrel", "firmwareopenwrtsnapshotinstallurl", "firmwareopenwrtsnapshotupgradeurl"],
 +  "filterColumns": {"brand": "^Xiaomi$", "model": "^Redmi AX6$"}
 +} -->
 +
 +<WRAP round info>
 +Snapshot versions don't have ''luci'' installed. If you want it, you can create your own customized firmware using for example the [[https://firmware-selector.openwrt.org/|Firmware selector]] or you can install the package once installed (look at this guide [[docs:guide-user:luci:luci.essentials|LuCI essentials]]).
 +</WRAP>
  
 ==== Installing OpenWrt ==== ==== Installing OpenWrt ====
-***/+ 
 +To flash this image there is a need for SSH access to the OEM firmware. It is not possible for now to flash OpenWrt from the stock FW with the OpenWrt Factory image. 
 +To gain SSH access, you will need a second router (any device) with OpenWrt firmware (further refered to as Router B). 
 + 
 +=== SSH Access === 
 + 
 +  - Roll back to firmware to 1.0.16 || [[ https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/ra69/miwifi_ra69_firmware_a7244_1.0.16.bin]] 
 +  - Setup the router admin password (quick way is using the mobile setup app) 
 +  - On Router B: 
 +  Change LAN Interface IP to "**169.254.31.1**" and disable DHCP  
 +  * (Your PC may disconnect from the router. In that case, set manual IP on the PC to e.g. "**192.254.31.101**", subnet "**255.255.255.0**", gateway "**192.254.31.1**"
 +  * Create wifi with SSID "**ROUTERB**" and set WPA2/PSK password "**password**" 
 +  * SSH or SCP in and create a file **/usr/lib/lua/luci/controller/admin/xqsystem.lua** 
 +  * Copy following to the file: <code> 
 +module("luci.controller.admin.xqsystem", package.seeall) 
 + 
 +function index() 
 +    local page   = node("api"
 +    page.target  = firstchild() 
 +    page.title   = (""
 +    page.order   = 100 
 +    page.index = true 
 +    page   = node("api","xqsystem"
 +    page.target  = firstchild() 
 +    page.title   = (""
 +    page.order   = 100 
 +    page.index = true 
 +    entry({"api", "xqsystem", "token"}, call("getToken"), (""), 103, 0x08) 
 +end 
 + 
 +local LuciHttp = require("luci.http"
 + 
 +function getToken() 
 +    local result = {} 
 +    result["code"] = 0 
 +    result["token"] = "; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;" 
 +    LuciHttp.write_json(result) 
 +end 
 +</code> 
 + 
 +  * Copy following to a web browser: <code>http://169.254.31.1/cgi-bin/luci/api/xqsystem/token</code> The browser should return (not necessarily in the same order): <code>{"token":"; sed -i 's\/channel=.*\/channel=\"debug\"\/g' \/etc\/init.d\/dropbear; \/etc\/init.d\/dropbear start;","code":0}</code> 
 +4. Connect back to Redmi AX6 and proceed: 
 +  * Open the web interface and log in on <code>http://192.168.31.1</code> 
 +  * Retreive the STOK value from the web address. E.g. for following <code>http://192.168.31.1/cgi-bin/luci/;stok=e16d77efa062846cb8869db6504b56ca/web/home#router</code> the STOK is "**e16d77efa062846cb8869db6504b56ca**". The router generates a new STOK value each time you log into the web interface. Use always the current one. 
 +  * Copy the following line to the web browser and replace "<STOK>" by the value of your STOK retrieved earlier (the wifi on Router B predefined earlier must be on and working): <code>http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/extendwifi_connect?ssid=ROUTERB&password=password</code> 
 +  * After some time, the page should return <code>{"msg":"connect succces!","code":0}</code> If you get "504 Gateway time-out", make sure you used WPA2 security mode for the password on Router B and repeat the previous point. If you get a "DHCP error", make sure you disabled DHCP server on LAN interface of Router B and repeat the previous point. 
 +  * Copy the following line to the web browser and replace "<STOK>" by the value of your STOK retrieved earlier: <code>http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx</code> You should see the same code as at the end of Point 3. Make sure the router does not upgrade to a newer firmware version as this would revert the SSH access. 
 +5. Now you have a working SSH access to AX6: 
 +  * Login using SSH: <code>ssh root@192.168.31.1</code> and used password generated [[https://www.oxygen7.cn/miwifi/|here]] from the Serial Number of your router. 
 +  * Enter the following lines one by one to the SSH terminal: <code>nvram set uart_en=1     # enable serial port for write 
 +nvram set boot_wait=on  # wait for the user a key on boot for UART access 
 +nvram set telnet_en=1   # enable telnet 
 +nvram set ssh_en=1      # enable ssh 
 +nvram commit</code> 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +=== Flashing OpenWrt === 
 + 
 +After getting SSH access, you will now be able to flash a previously compiled image (by you since for the time being there are no official automated images): 
 + 
 +  - Copy the OpenWrt generated image (the ''openwrt-ipq807x-generic-xiaomi_ax6-initramfs-nand-factory.ubi'' one) to the ''/tmp'' folder over SCP for example (note that since OpenSSH 9.0 you have to add the `-O` for compatability with the dropbear server) 
 +  - This is a device with a dual partition scheme layout, so you need to find out which one is running with the command <code>nvram get flag_boot_rootfs</code> 
 +  - The output should be the partition number where the current system was booted from <code>mtd12: 023c0000 00020000 "rootfs"  - is the 0 
 +mtd13: 023c0000 00020000 "rootfs_1"  - is the 1</code> 
 +  - Since you can't flash the current partition because it's locked you can only flash the opposite one by replacing the ''mtd'' number in the following command <code> 
 +ubiformat /dev/mtd12 -f /tmp/openwrt-ipq807x-generic-xiaomi_ax6-initramfs-nand-factory.ubi -s 2048 -O 2048 
 +</code> 
 +  - After flashing the image you need to configure the u-boot to boot from the recently flashed image by replacing the ''1'' with the number of the opposite partition (1 or 0) and running the commands:<code> 
 +nvram set flag_last_success=0 # if you've flashed mtd12, or "1" if mtd13 
 +nvram set flag_boot_rootfs=0 # same 
 +</code>If you don't care about ''flag_last_success'' and ''flag_boot_rootfs'' variables just set ''flag_ota_reboot=1''! It will boot to **the other partition** on **each** reboot (not only the next one!):<code> 
 +nvram set flag_ota_reboot=1 
 +</code> 
 +  - save the changes and reboot<code> 
 +nvram commit 
 +reboot 
 +</code> 
 +  - Previous commands flashed an ubinized OpenWrt initramfs that will serve as the intermediate step since OpenWrt uses unified rootfs in order to fully utilize NAND and provide enough space for packages. Continue with the next steps in order to permanently flash OpenWrt.  
 +  - SSH into OpenWrt from one of the LAN ports 
 +  - Copy the file ''openwrt-ipq807x-generic-redmi_ax6-squashfs-sysupgrade.bin'' to the /tmp directory 
 +  - Sysupgrade the device:<code>sysupgrade -n /tmp/openwrt-ipq807x-generic-redmi_ax6-squashfs-sysupgrade.bin</code> 
 + 
 +Device will reboot with OpenWrt, and then sysupgrade can be used to upgrade the device when desired. Although, see [[#potential_issueslimitations|potential issues / limitations]]. 
 + 
 + 
 +<WRAP info> 
 +In openwrt the commands to check and change the boot partition are different: 
 + 
 +<code> 
 +fw_printenv flag_boot_rootfs 
 +fw_setenv flag_boot_rootfs 0 # if you've flashed mtd12 or "1" if mtd13 
 +fw_setenv flag_last_success 0 # same 
 +</code> 
 +</WRAP> 
  
  
-/*** if info available: uncomment and fill in 
 ===== Debricking ===== ===== Debricking =====
 -> [[docs:guide-user:troubleshooting:generic.debrick]] -> [[docs:guide-user:troubleshooting:generic.debrick]]
-***/+ 
 +==== TFTP recovery ==== 
 +Redmi AX6 can be recovered from a soft-brick with TFTP. The flow is: 
 +  The router boots and asks for an IP address on the LAN ports via DHCP 
 +  The TFTP server assigns an IP address to the router 
 +  The router then connects to the TFTP server (where your DHCP server listen, e.g.: 192.168.31.100) and tries to download a file named with the IP address given by the DHCP server converted to hexadecimal. 
 + 
 +Because of this quirk we will have to configure the tftp server to assign only one IP and we will set the file name to the only IP address it can receive. 
 + 
 +For Windows you can use [[https://bitbucket.org/phjounin/tftpd64/downloads/tftpd64.464.zip|tftpd64]] and on Linux you can use dnsmasq. 
 +These are the steps to do it for Linux (this can be adapted to the tftpd64's graphical interface very easily): 
 + 
 +  * Create a folder somewhere to place your firmware for the tftp server and download the OEM firmware (the file name is a very important part; if you have previously had installed Xiaomi firmware version 1.1.14, you might need to adjust the name of the .img file to a different one. The router will be looking for a specific file name on the tftp – if it does not match the one you have in the tmp folder, rename it accordingly and proceed again):<code>mkdir -p /tmp/tftp 
 +wget https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/ra69/miwifi_ra69_all_81ac71_1.1.10.bin -O /tmp/tftp/C0A81F02.img</code> 
 +  * To ensure that the TFTP server has access to the firmware, set the privileges:<code>sudo chmod -R 755 /tmp/tftp 
 +sudo chown -R nobody:nogroup /tmp/tftp</code> 
 + 
 +  * Obtain the name of the ethernet adapter (to be used in further steps):<code>ip link</code> 
 +  * The result will loke something like (in this case, the name of the ethernet adapter is enp2s0):<code>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 
 +    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
 +2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 
 +    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff 
 +3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 
 +    link/ether yy:yy:yy:yy:yy:yy brd ff:ff:ff:ff:ff:ff</code> 
 +  * Set a static address on your PC to serve the firmware from: <code>sudo ip address flush dev <adapter name> 
 +sudo ip address add 192.168.31.100/24 dev <adapter name></code> 
 +  * Run the server with the following command:<code>sudo dnsmasq --no-daemon --listen-address=192.168.31.100 --bind-interfaces --dhcp-range=192.168.31.2,192.168.31.254 --enable-tftp --tftp-root=/tmp/tftp --log-dhcp --log-facility=-</code> 
 +  * Unplug the power, press and hold the reset button, plug the power back while still holding the button.<WRAP info> 
 +  * Hold the reset button until the router's LED starts flashing orange.  
 +  * then it goes solid orange again, release the button. 
 +  * If in the terminal, you see that the router requests a different firmware file (different name; if you have previously had a Xiaomi firmware v.1.1.14 on the router), rename the file in the tmp folder and repeat the procedures from the IP flush again. 
 +  </WRAP> 
 +  * When the device finished loading the firmware, the led starts flashing with orange (amber) light. Wait for until blue led to goes solid! <WRAP info> 
 +  * It might take some time for the led to go solid blue 
 +  * If the recovery doesn't accept the downloaded file the led switches to solid white - if this is the case, restart the recovery process with other file 
 +  * If the led is blinking blue led it means the device was flashed successfully and can be restarted 
 +  </WRAP> 
 +  * Put your interface back to DHCP mode and start again with breaking your device
  
  
Line 87: Line 272:
 | vlan1 (eth0.1)   | EXAMPLE WAN port             | EXAMPLE DHCP             | | vlan1 (eth0.1)   | EXAMPLE WAN port             | EXAMPLE DHCP             |
 | wl0              | EXAMPLE WiFi                 | EXAMPLE Disabled         | | wl0              | EXAMPLE WiFi                 | EXAMPLE Disabled         |
-</WRAP>+</WRAP>s
 ***/ ***/
  
Line 111: Line 296:
 ===== Hardware ===== ===== Hardware =====
 ==== Info ==== ==== Info ====
-^ Architecture     ARM Cortex A53                             |+^ Architecture     AArch64                             |
 ^ Vendor           | Qualcomm                           | ^ Vendor           | Qualcomm                           |
-^ Bootloader       | U-Boot                           +^ Bootloader       | U-Boot 2016.01 (Jul 10 2020 - 05:56:17 +0000)       
-^ System-On-Chip   | 4x ARM Cortex A53   | +^ System-On-Chip   | 4x ARM Cortex A53 (IPQ8071A / QCA8074 V2)   | 
-^ CPU/Speed        | Up to 1.GHz                         | +^ CPU/Speed        | Up to 1.GHz                         | 
-^ Flash-Chip       EXAMPLE unkown                           +^ Flash-Chip       ESMT F59D1G81MB-AZM1P9ACX             
-^ Flash size       | 128 MB (F59D1G81MB)                      |+^ Flash size       | 128 MB                      |
 ^ RAM              | 512MB DDR3 (EM6HE16EWAKG-10H)            | ^ RAM              | 512MB DDR3 (EM6HE16EWAKG-10H)            |
-^ Wireless         EXAMPLE RT2860v2 2.4GHz 802.11bgn        +^ Wireless         5G QCN5054 4×4 MIMO 80MHz 2×2 MIMO 160MHz / 2.4G QCN5024 2×2 MIMO 573Mbps (CPU restricted).     | 
-^ Ethernet         | 1 - 10/100/100OM adaptive WAN port (Auto MDI/MDIX); 3 - 10/100/1000M adaptive LAN ports (Auto MDI/MDI×)    | +^ Wireless features| RX LDPC, TX STBC, SUBF, MUBF (2.4GHz 2 streams; 5GHz 4 streams), 160/80+80MHz   | 
-^ Switch           EXAMPLE Qualcomm Atheros QCA8337         |+^ Wireless features| 5GHz FEM: QPF4550 (+20.5dBm MCS9VHT80); 2.4GHz FEM: QPF4200 (+21dBm MCS9VHT40; +22.5dBm MCS7VHT40 ) 
 +^ Ethernet         | 1 - 10/100/1000M adaptive WAN port (Auto MDI/MDIX); 3 - 10/100/1000M adaptive LAN ports (Auto MDI/MDI×)    | 
 +^ Switch           | Qualcomm QCA8075         |
 ^ USB              | No                          | ^ USB              | No                          |
 ^ Serial           | Yes                | ^ Serial           | Yes                |
 ^ JTAG             | Not populated          | ^ JTAG             | Not populated          |
- 
  
 /*** if info available: uncomment and fill in /*** if info available: uncomment and fill in
Line 138: Line 324:
  
 ==== Photos ==== ==== Photos ====
 +{{media:xiaomi:xiaomi_ax6_ax3000_back.jpg?400|}} 
  
-**Xiaomi AX6 AX3000 front PCB**+**Redmi AX6 front PCB**
  
-{{:media:xiaomi_ax6_pcb.jpg?400|}}+{{media:xiaomi:xiaomi_ax6_pcb.jpg?400|}}
  
-**Xiaomi AX6 AX3000 back PCB**+**Redmi AX6 back PCB** 
 + 
 +{{media:xiaomi:xiaomi_ax6_pcb_back.jpg?400|}} 
 + 
 +**Redmi AX6 RF frontend comparison** 
 + 
 +{{:media:5g_fem_ax3000_ax3600_ax6000.png?400|}}
  
-{{:media:xiaomi_ax6_pcb_back.jpg?400|}} 
 ==== Opening the case ==== ==== Opening the case ====
  
 To open the case, first remove the sticker from the bottom of the device. Two phillips screws are holding it together. After removing the screws, there are still plastic claws around the top piece and the edge. Gently use a guitar pick or similar tool to start separating the top piece around the edge.  To open the case, first remove the sticker from the bottom of the device. Two phillips screws are holding it together. After removing the screws, there are still plastic claws around the top piece and the edge. Gently use a guitar pick or similar tool to start separating the top piece around the edge. 
 +
 +{{:media:xiaomi:xiaomi_ax6_screw_under_the_sticker.jpg?400|The two screws location are marked in red}}
  
 ==== Serial port ==== ==== Serial port ====
  
 Serial port pinout is clearly marked on the board. Serial port pinout is clearly marked on the board.
 +
 +Note: It's been reported the device uses **1.8V**.
  
 TTL serial connection is possible, the header has to be soldered, no missing components (resistors etc). There is 5 seconds to enter the bootloader (press ENTER). TTL serial connection is possible, the header has to be soldered, no missing components (resistors etc). There is 5 seconds to enter the bootloader (press ENTER).
  
-^ Serial connection parameters for Xiaomi Redmi AX6 AX3000 | TTL, 115200, 8N1 |+^ Serial connection parameters for Xiaomi Redmi AX6 | TTL, 115200, 8N1 |
  
 ==== JTAG ==== ==== JTAG ====
--> [[docs:techref:hardware:port.jtag]] general information about the JTAG port, JTAG cable, etc. 
  
 No JTAG interface No JTAG interface
Line 1302: Line 1497:
 </WRAP>\\ </WRAP>\\
  
 +==== MTD layout ====
 +<code>
 +root@XiaoQiang:/# bootinfo
 +
 +ROM    ver: config core 'version'
 +        # ROM ver
 +        option ROM '1.0.18'
 +        # channel
 +        option CHANNEL 'release'
 +        # hardware platform R1AC or R1N etc.
 +        option HARDWARE 'RA69'
 +        # CFE ver
 +        option UBOOT '1.0.2'
 +        # Linux Kernel ver
 +        option LINUX '4.4.16'
 +        # RAMFS ver
 +        option RAMFS '0.0.1'
 +        # SQUASHFS ver
 +        option SQAFS '0.0.1'
 +        # ROOTFS ver
 +        option ROOTFS '0.0.1'
 +  #build time
 +  option BUILDTIME 'Wed, 19 Aug 2020 02:57:56 +0000'
 +  #build timestamp
 +  option BUILDTS '1597805876'
 +  #build git tag
 +   option GTAG 'commit 83f49d45da9a3e68cf4042d0f962ad66f751b14c'
 +Hardware  : Ver. A
 +ROM    sum:
 +System    : Dual - 2
 +KERNEL    : ubi.mtd=rootfs_1 root=mtd:ubi_rootfs rootfstype=squashfs rootwait uart_en=1 swiotlb=1
  
-----+MTD  table: 
 +dev:    size   erasesize  name 
 +mtd0: 00100000 00020000 "0:SBL1" 
 +mtd1: 00100000 00020000 "0:MIBIB" 
 +mtd2: 00300000 00020000 "0:QSEE" 
 +mtd3: 00080000 00020000 "0:DEVCFG" 
 +mtd4: 00080000 00020000 "0:RPM" 
 +mtd5: 00080000 00020000 "0:CDT" 
 +mtd6: 00080000 00020000 "0:APPSBLENV" 
 +mtd7: 00100000 00020000 "0:APPSBL" 
 +mtd8: 00080000 00020000 "0:ART" 
 +mtd9: 00080000 00020000 "bdata" 
 +mtd10: 00080000 00020000 "crash" 
 +mtd11: 00080000 00020000 "crash_syslog" 
 +mtd12: 023c0000 00020000 "rootfs" 
 +mtd13: 023c0000 00020000 "rootfs_1" 
 +mtd14: 01ec0000 00020000 "overlay" 
 +mtd15: 00080000 00020000 "rsvd0" 
 +mtd16: 0041e000 0001f000 "kernel" 
 +mtd17: 016c4000 0001f000 "ubi_rootfs" 
 +mtd18: 01ae2000 0001f000 "data"
  
 +IPQ807x# smeminfo
 +flash_type:             0x2
 +flash_index:            0x0
 +flash_chip_select:      0x0
 +flash_block_size:       0x20000
 +flash_density:          0x100000
 +partition table offset  0x0
 +No.: Name             Attributes            Start             Size
 +  0: 0:SBL1           0x0000ffff              0x0         0x100000
 +  1: 0:MIBIB          0x0000ffff         0x100000         0x100000
 +  2: 0:QSEE           0x0000ffff         0x200000         0x300000
 +  3: 0:DEVCFG         0x0000ffff         0x500000          0x80000
 +  4: 0:RPM            0x0000ffff         0x580000          0x80000
 +  5: 0:CDT            0x0000ffff         0x600000          0x80000
 +  6: 0:APPSBLENV      0x0000ffff         0x680000          0x80000
 +  7: 0:APPSBL         0x0000ffff         0x700000         0x100000
 +  8: 0:ART            0x0000ffff         0x800000          0x80000
 +  9: bdata            0x0000ffff         0x880000          0x80000
 + 10: crash            0x0000ffff         0x900000          0x80000
 + 11: crash_syslog     0x0000ffff         0x980000          0x80000
 + 12: rootfs           0x0000ffff         0xa00000        0x23c0000
 + 13: rootfs_1         0x0000ffff        0x2dc0000        0x23c0000
 + 14: overlay          0x0000ffff        0x5180000        0x1ec0000
 + 15: rsvd0            0x0000ffff        0x7040000          0x80000
 +</code>
  
-__**How to enable Serial, SSH, Telnet:**__+==== /proc/interrupts ==== 
 +<code> 
 +root@XiaoQiang:/# cat /proc/interrupts 
 +           CPU0       CPU1       CPU2       CPU3 
 +  3:       3216       2476       4398       2446       GIC  20 Edge      arch_timer 
 + 40:          1          0          0          0   msmgpio  34 Edge      soc:gpio_keys 
 + 76:          0          0          0          0       GIC 270 Level     bam_dma 
 + 77:        229          0          0          0       GIC 340 Level     msm_serial0 
 + 79:          2          0          0          0       GIC 127 Level     78b5000.spi 
 + 80:          0          0          0          0       GIC 357 Edge      q6_wdog_interrupt 
 + 81:          0          0          0          0       GIC 344 Edge      7803000.sdcc1ice 
 + 82:          3          0          0          0       GIC 354 Edge      smp2p 
 + 83:          0          0          0          0       GIC 276 Edge      tzerror 
 + 88:       1367          0          0          0       GIC 409 Edge      nss_empty_buf_sos 
 + 89:          3          0          0          0       GIC 410 Edge      nss_empty_buf_queue 
 + 90:          0          0          0          0       GIC 411 Edge      nss-tx-unblock 
 + 91:      65576          0          0          0       GIC 412 Edge      nss_queue0 
 + 92:          0          0          0          0       GIC 413 Edge      nss_queue1 
 + 93:          0          0          0          0       GIC 414 Edge      nss_queue2 
 + 94:          0          0          0          0       GIC 415 Edge      nss_queue3 
 + 95:          0          0          0          0       GIC 416 Edge      nss_coredump_complete 
 + 96:          0          0          0          0       GIC 417 Edge      nss_paged_empty_buf_sos 
 + 97:        616          0          0          0       GIC 422 Edge      nss_empty_buf_sos 
 + 98:          0          0          0          0       GIC 423 Edge      nss_empty_buf_queue 
 + 99:          0          0          0          0       GIC 424 Edge      nss-tx-unblock 
 +100:      62537          0          0          0       GIC 425 Edge      nss_queue0 
 +101:          0          0          0          0       GIC 426 Edge      nss_queue1 
 +102:          0          0          0          0       GIC 427 Edge      nss_queue2 
 +103:          0          0          0          0       GIC 428 Edge      nss_queue3 
 +104:          0          0          0          0       GIC 429 Edge      nss_coredump_complete 
 +105:          0          0          0          0       GIC 430 Edge      nss_paged_empty_buf_sos 
 +106:          0          0          0          0       GIC  35 Level     watchdog bark 
 +107:         62          0          0          0       GIC 353 Edge      qcom,glink-smem-native-xprt-modem 
 +108:          0          0          0          0       GIC 239 Level     bam_dma 
 +109:      62541          0          0          0       GIC 178 Level     bam_dma 
 +132:          4          0          0          0       GIC 348 Edge      ce0 
 +133:         16          0          0          0       GIC 347 Edge      ce1 
 +134:         25          0          0          0       GIC 346 Edge      ce2 
 +135:         18          0          0          0       GIC 343 Edge      ce3 
 +137:         11          0          0          0       GIC 443 Edge      ce5 
 +139:         17          0          0          0       GIC  72 Edge      ce7 
 +140:     178800          0          0          0       GIC  71 Edge      ce8 
 +141:          0          0          0          0       GIC 334 Edge      ce9 
 +142:          0          0          0          0       GIC 333 Edge      ce10 
 +143:          0          0          0          0       GIC  69 Edge      ce11 
 +147:          2          0          0          0       GIC 326 Edge      host2rxdma-monitor-ring3 
 +148:          0          0          0          0       GIC 325 Edge      host2rxdma-monitor-ring2 
 +149:          2          0          0          0       GIC 324 Edge      host2rxdma-monitor-ring1 
 +150:          0          0          0          0       GIC 323 Edge      reo2ost-exception 
 +151:          0          0          0          0       GIC 322 Edge      wbm2host-rx-release 
 +152:          0          0          0          0       GIC 321 Edge      reo2host-status 
 +153:          0          0          0          0       GIC 320 Edge      reo2host-destination-ring4 
 +154:          0          0          0          0       GIC 271 Edge      reo2host-destination-ring3 
 +160:          1          7          0          0       GIC 263 Edge      ppdu-end-interrupts-mac3 
 +161:          0          0          0          0       GIC 262 Edge      ppdu-end-interrupts-mac2 
 +162:          1          0          0          0       GIC 261 Edge      ppdu-end-interrupts-mac1 
 +163:          3          0          0          0       GIC 260 Edge      rxdma2host-monitor-status-ring-mac3 
 +164:          0          0          0          0       GIC 256 Edge      rxdma2host-monitor-status-ring-mac2 
 +165:          3          0          0          0       GIC 255 Edge      rxdma2host-monitor-status-ring-mac1 
 +167:          0          0          0          0       GIC 215 Edge      host2rxdma-host-buf-ring-mac2 
 +169:          0          0          0          0       GIC 211 Edge      rxdma2host-destination-ring-mac3 
 +170:          0          0          0          0       GIC 210 Edge      rxdma2host-destination-ring-mac2 
 +171:          0          0          0          0       GIC 209 Edge      rxdma2host-destination-ring-mac1 
 +176:          0          0          0          0       GIC 191 Edge      wbm2host-tx-completions-ring3 
 +182:          0          0          0          0       GIC 216 Edge      tsens_interrupt 
 +183:          5          0          0          0       GIC  47 Edge      cpr3 
 +185:          3          0          0          0  pmic_arb 3211277 Edge      spmi-vadc 
 +186:          0          0          0          1     smp2p   1 Edge      error_ready_interrupt 
 +187:          0          0          0          0     smp2p   0 Edge      err_fatal_interrupt 
 +188:          0          0          0          0     smp2p   3 Edge      stop_ack_interrupt 
 +189:          0          0          0          0       GIC 172 Edge      xhci-hcd:usb1 
 +IPI0:      3803       7280       8479       6934       Rescheduling interrupts 
 +IPI1:                 12         11         10       Function call interrupts 
 +IPI2:                  0          0          0       CPU stop interrupts 
 +IPI3:                  0          0          0       Timer broadcast interrupts 
 +IPI4:                  0          0          0       IRQ work interrupts 
 +IPI5:                  0          0          0       CPU wakeup interrupts 
 +Err:          0 
 +</code> 
 +===== How to enable Serial, SSH, Telnet =====
  
 Issue the following commands in bootloader: Issue the following commands in bootloader:
  
-  * setenv uart_en 1 +<code> 
-  setenv telnet_en 1 +setenv uart_en 1 
-  setenv ssh_en 1 +setenv telnet_en 1 
-  saveenv+setenv ssh_en 1 
 +saveenv 
 +reset 
 +</code>
  
 +To enable SSH, after the above steps you will need to set a password using the following command:
 +<code>
 +passwd root
 +</code>
 +then edit /etc/init.d/dropbear file:
 +<code>
 +vi /etc/init.d/dropbear
 +</code>
 +look for the following section
 +<code>if [ "$flg_ssh" != "1" -o "$channel" = "release" ]; then</code>
 +and modify it to this:
 +<code>if [ "$flg_ssh" != "1" -o "$channel" = "release1" ]; then</code>
 +save the file and reboot the router.
 ===== Notes ===== ===== Notes =====
  
 ===== Tags ===== ===== Tags =====
 [[meta:tags|How to add tags]] [[meta:tags|How to add tags]]
-{{tag>EXAMPLETAG unsupported}}+{{tag>ipq807x IPQ8071 128NAND 512RAM 4port GigabitEthernet 802.11ax wifi6 CortexA53 QCN5054 QCN5024 4x4 mu-mimo VHT160 4core LDPC QPF4550 QPF4200 TXBF txpa serial U-Boot ARMv8}}
  • Last modified: 2024/08/11 10:04
  • by jiejianshiwaxinge