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
inbox:toh:xiaomi:xiaomi_ax3600 [2023/01/19 11:00] – [Title]: change the title to a most complete one mcgivergimtoh:xiaomi:ax3600 [2024/08/20 09:00] (current) – [OpenWrt bootlog] docnielsen
Line 1: Line 1:
 ====== Xiaomi Mi AIoT Router AX3600 ====== ====== Xiaomi Mi AIoT Router AX3600 ======
-~~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 . */
  
Line 11: Line 9:
 /*****/ /*****/
  
-{{  :media:pms_1581411766.33688586.jpg?400|}}+{{  media:xiaomi:ax3600_front.jpg?400|}}
  
 The Xiaomi Mi Router AX3600 is an 802.11ax OFDMA and MU-MIMO Tri-Band WiFi router, which has the following WiFi Interfaces.: The Xiaomi Mi Router AX3600 is an 802.11ax OFDMA and MU-MIMO Tri-Band WiFi router, which has the following WiFi Interfaces.:
  
-  * one 2.4GHz (QCN9024 2x2/40MHz ax)+  * one 2.4GHz (QCN5024 2x2/40MHz ax)
   * one 5GHz (QCN5054 4x4/80 or 2x2/160MHz ax)   * one 5GHz (QCN5054 4x4/80 or 2x2/160MHz ax)
   * one AIoT (QCA9889 1x1 ac/n)    * one AIoT (QCA9889 1x1 ac/n) 
Line 31: Line 29:
 - another with International OEM firmware. This variant supports the Chinese OEM firmware as-well. - another with International OEM firmware. This variant supports the Chinese OEM firmware as-well.
  
-Both have support for OpenWRT+Both have support for OpenWrt
  
  
 ===== Supported Versions ===== ===== Supported Versions =====
  
----- datatable ---- +<!-- ToH: { 
-cols    BrandModelSupported Current RelOEM device homepage URL_url, Forum Search_search-forumsDevice Techdata_pageid +  "source""json", 
-align   c,c,c,c,c,c,c +  "dom": "t", 
-filter  : Brand=Xiaomi +  "paging": false, 
-filter  Model=AX3600 +  "rotate": true
-filter  :  +  "shownColumns"["brand""model""supportedcurrentrel""oemdevicehomepageurl""forumsearch""deviceid"]
-----+  "filterColumns"{"brand": "^Xiaomi$", "model""^Mi AIoT Router AX3600$"} 
 +-->
  
-==== Potential issues / Limitations ====  +==== Potential Issues and 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 lot of memory when there are few stations connected and low bandwidth traffic flowing+  * **Sysupgrade Failure:** The ''sysupgrade'' command may occasionally fail due to a [[https://forum.openwrt.org/t/adding-openwrt-support-for-xiaomi-ax3600/55049/9156|random issue]] where the ''wpad'' service is not effectively stopped during the upgrade processTo resolve this problem, manually stop the wpad service using the command ''service wpad stop'' before running ''sysupgrade''. This problem seems to have been fixed in the current snapshot version
-  * NSS acceleration: the Qualcom NSS hardware acceleration is not available and maybe never will be. +  * **Ath11k Memory Usage:** The ath11k driver, which is required for the main wireless radios, consumes significant amount of memory when there are few connected stations and low bandwidth traffic. There are reports that the problem is less pronounced in the current snapshot and does not affect all users
-  * 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.+  * **NSS Acceleration Support:** Currently, the Qualcomm NSS hardware acceleration is not officially supported in OpenWrtHowever, there is an ongoing community effort to enable NSS acceleration, you can find more information about this in the [[:toh:xiaomi:ax3600#nssqualcomm_network_accelerator|NSSQualcomm Network Accelerator]] section.
  
 ===== Hardware ===== ===== Hardware =====
Line 54: Line 53:
 ==== Highlights ==== ==== Highlights ====
  
----- datatable ---- +<!-- ToH: { 
-cols    ModelCPUCPU MHzCPU Cores_numcoresFlash MB_mbflashsRAM MB_mbramWLAN HardwareWLAN 2.4GHzWLAN 5.0GHzEthernet Gbit ports_ +  "source""json", 
-align   : c,c,c,c,c,c,c,c,c,c +  "dom": "t", 
-filter  : Brand=Xiaomi +  "paging": false, 
-filter  Model=AX3600 +  "shownColumns": ["model""cpu""cpumhz""cpucores""flashmb""rammb""wlanhardware""wlan24ghz""wlan50ghz""ethernet1gports""usbports"]
-----+  "filterColumns": {"brand""^Xiaomi$", "model""^Mi AIoT Router AX3600$"} 
 +-->
  
  
 +==== More Info ====
  
-==== Info ==== +<!-- ToH: { 
-^ Architecture     | ARMv8                                    | +  "source": "json", 
-^ Vendor           | Qualcomm                                 | +  "dom": "t", 
-^ Bootloader       | U-Boot (R3600)                           | +  "paging": false, 
-^ System-On-Chip   | Qualcomm IPQ8071A                        | +  "rotate": true, 
-^ CPU/Speed        | firmware up to 1.4GHz                    | +  "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"], 
-^ Flash-Chip       | W29N02GZSIBA or GD9FS2G8F2A              | +  "filterColumns": {"brand": "^Xiaomi$", "model": "^Mi AIoT Router AX3600$"} 
-^ Flash size       | 256 MiB                                  | +} -->
-^ RAM              | 512 MiB                                  | +
-^ Wireless         | QCN5024 2.4GHz 802.11bgn                 | +
-^ Ethernet         | 10/100/1000 Mbit/s w/ vlan support       | +
-Switch           | Qualcomm Atheros IPQ8075                 | +
-^ Serial           | [[#Serial|Yes]]                          |+
  
 === Notes === === Notes ===
-   Are more variations of Flash Chips soldered on it, found that on AX3600Needs more investigation. +  Flash chips known to be used are W29N02GZSIBA or GD9FS2G8F2A. There may be more variations of Flash Chips soldered onto it. Further investigation is needed
-   * Despite AX3600 have 256M NAND flash chip, stock partitioning uses less than half of it (~113M). Probably, Xiaomi did that for firmware unification purpose (using AX6 as less common denominator, as it has only 128M flash)+  * Despite the AX3600 having a 256M NAND flash chip, the stock partitioning uses less than half of it (~113M). Xiaomi probably did this for firmware unification purposes, using the AX6 as the least common denominator since it only has 128M of flash. 
-   Also, stock partitioning assumes ~35M size for each of `rootfs` MTD partitionsand ~30M for `overlay` MTD partition (and even with that, mounted `/overlay` partition somewhy only have size of 15M)+  Additionallythe stock partitioning assumes ~35M size for each of the `rootfs` MTD partitions and ~30M for the `overlay` MTD partition. Even with that, the mounted `/overlay` partition only has a size of 15M
 +  * OpenWrt partitioning modifies this, allowing the use of all available space, so it is no longer a problem. This partitioning will be reverted when recovering the router to the OEM firmware.
  
 ==== Flash Layout ==== ==== Flash Layout ====
Line 136: Line 133:
   - → [[:downloads|Latest OpenWrt release]]   - → [[:downloads|Latest OpenWrt release]]
 ***/ ***/
 +==== Firmware download ====
 +=== Latest stable version: ===
 +/* stable table  */
 +<!-- ToH: {
 +  "source": "json",
 +  "dom": "t",
 +  "paging": false,
 +  "rotate": true,
 +  "shownColumns": ["model", "supportedcurrentrel", "firmwareopenwrtinstallurl", "firmwareopenwrtupgradeurl"],
 +  "filterColumns": {"brand": "^Xiaomi$", "model": "^Mi AIoT Router AX3600$"}
 +} -->
 +
 +=== Latest snapshot version (can be unstable, use with caution): ===
 +/* snapshot table  */
 +<!-- ToH: {
 +  "source": "json",
 +  "dom": "t",
 +  "paging": false,
 +  "rotate": true,
 +  "shownColumns": ["model", "firmwareopenwrtsnapshotinstallurl", "firmwareopenwrtsnapshotupgradeurl"],
 +  "filterColumns": {"brand": "^Xiaomi$", "model": "^Mi AIoT Router AX3600$"}
 +} -->
 +
 +<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>
 +
 +
  
 ==== Obtain SSH Access ==== ==== Obtain SSH Access ====
  
 +Are known 4 different methods for rooting this model. Choose the one more convenient to you. Perhaps the easier and safer is the JavaScript method.
 +
 +For **Manual**, **Bash** and **JavaScript** methods, first:
   - On **both** Chinese and International model variants, roll back to the Chinese OEM firmware version 1.0.17, available [[ http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r3600/miwifi_r3600_firmware_5da25_1.0.17.bin | here]].   - On **both** Chinese and International model variants, roll back to the Chinese OEM firmware version 1.0.17, available [[ http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r3600/miwifi_r3600_firmware_5da25_1.0.17.bin | here]].
   - Setup the router admin password (quick way is using the mobile setup app)   - Setup the router admin password (quick way is using the mobile setup app)
Line 144: Line 172:
   - Think of a password for SSH logins (8+ chars long, no special chars)   - Think of a password for SSH logins (8+ chars long, no special chars)
  
-Are known the following 3 different methods for rooting this model. Choose the one more convenient to you.+For **Patch bdata** method, you don't need to downgrade the firmware.
  
 <tabbox Manual method> <tabbox Manual method>
Line 267: Line 295:
 enableSSH(); enableSSH();
 </code> </code>
 +
 +<tabbox Patch bdata method>
 +
 +Download [[https://drive.google.com/file/d/1YOr1c6No4GBA80IpRrydGXdvORoSmdi1/view?usp=sharing|this file]] and extract the contents to some place in your computer.
 +
 +  - Connect your PC to the router by ethernet on one of its LAN ports.
 +  - Make a backup of the configuration if necessary, because telnet will require a factory reset to activate.
 +  - Go to the web admin page of the router (''miwifi.com'' or by the local IP address, usually ''192.168.31.1'')
 +  - Copy the content of the ''create_exploit.js'' file into the browser console (press ''F12'' + choose ''Console'') and press ''Enter''.
 +  - You should expect a window appearing where you can change the bdata region or leave it as is. <color red>**Caution when changing the bdata**.</color>
 +  - Wait 10-15 seconds for the patch file to be generated. Then it should download automatically the file.
 +  - Unpack the contents of the downloaded file. After unpacking, there should be 3 files: ''1.bin'', ''2.bin'' and ''3.bin''.
 +  - In the same order, install them in the web admin page of the router where the firmware can be manually updated. If everything is fine, after each load, the router should restart. 
 +  - Factory reset through the web admin page of the router.
 +  - Go to the web admin page of the router and run the script ''calc_passwd.js'' in the browser console to find out your password for telnet. **This step can be done once and at any time. The default password depends on the serial number and will not change if the serial number is not changed.**
 +  - Try to connect via telnet (IP ''192.168.31.1'', port ''21''). **If it says the password is wrong, you can also repeat the “factory reset” step and forward (steps 9 and 10), until it works.**
 +  - Once connected via telnet, turn on the ssh service:<code>
 +sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
 +/etc/init.d/dropbear start</code>
 +
 </tabbox> </tabbox>
  
Line 274: Line 322:
  
 <WRAP round info> <WRAP round info>
-Device comes with RX disabled by default. At this point, it's highly recommended to enable it to help if something goes wrong. See [[xiaomi_ax3600#serial]].+Device comes with RX disabled by default. At this point, it's highly recommended to enable it to help if something goes wrong. See [[ax3600#serial]].
 </WRAP> </WRAP>
  
 === For both the Chinese and International firmware model === === For both the Chinese and International firmware model ===
  
-Installation is done by the ''ubiformat'' method, through SSH:+Installation is done by the ''ubiformat'' method, through SSH. **Take into account that the name of the files can be different depending of the version you want to install**, so replace accordingly:
   - Open an SSH shell to the router   - Open an SSH shell to the router
-  - Copy the file ''openwrt-ipq807x-generic-xiaomi_ax3600-initramfs-factory.ubi'' to the ''/tmp'' directory+  - Scp or wget the file ''openwrt-qualcommax-ipq807x-xiaomi_ax3600-initramfs-factory.ubi'' to the router'''/tmp'' directory
   - Check which ''rootfs'' partition is your router booted in (''0'' = ''rootfs'' | ''1'' = ''rootfs_1''):<code>   - Check which ''rootfs'' partition is your router booted in (''0'' = ''rootfs'' | ''1'' = ''rootfs_1''):<code>
 nvram get flag_boot_rootfs</code> nvram get flag_boot_rootfs</code>
Line 289: Line 337:
   - 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'':<code>     - If ''nvram get flag_boot_rootfs'' returned ''0'':<code>
-ubiformat /dev/mtd13 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax3600-initramfs-factory.ubi -s 2048 -O 2048 && nvram set flag_boot_rootfs=1 && nvram set flag_last_success=1 && nvram commit</code>+ubiformat /dev/mtd13 -y -f /tmp/openwrt-qualcommax-ipq807x-xiaomi_ax3600-initramfs-factory.ubi -s 2048 -O 2048 && nvram set flag_boot_rootfs=1 && nvram set flag_last_success=1 && nvram commit</code>
     - otherwise:<code>     - otherwise:<code>
-ubiformat /dev/mtd12 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax3600-initramfs-factory.ubi -s 2048 -O 2048 && nvram set flag_boot_rootfs=0 && nvram set flag_last_success=0 && nvram commit</code>+ubiformat /dev/mtd12 -y -f /tmp/openwrt-qualcommax-ipq807x-xiaomi_ax3600-initramfs-factory.ubi -s 2048 -O 2048 && nvram set flag_boot_rootfs=0 && nvram set flag_last_success=0 && nvram commit</code>
   - Reboot the device by:<code>reboot</code>   - Reboot the device by:<code>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.   - 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   - SSH into OpenWrt from one of the LAN ports
-  - Copy the file ''openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-sysupgrade.bin'' to the ''/tmp'' directory +  - Copy the file ''openwrt-qualcommax-ipq807x-xiaomi_ax3600-squashfs-sysupgrade.bin'' to the ''/tmp'' directory 
-  - Sysupgrade the device:<code>sysupgrade -n /tmp/openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-sysupgrade.bin</code>+  - Sysupgrade the device:<code>sysupgrade -n /tmp/openwrt-qualcommax-ipq807x-xiaomi_ax3600-squashfs-sysupgrade.bin</code>
  
-Device will reboot with OpenWrt, and then sysupgrade can be used to upgrade the device when desired. Although, see [[xiaomi_ax3600#potential_issueslimitations|potential issues / limitations]].+Device will reboot with OpenWrt, and then sysupgrade can be used to upgrade the device when desired. Although, see [[ax3600#potential_issues_and_limitations|potential issues / limitations]].
  
 +==== NSS: Qualcomm Network Accelerator ====
 +
 +This SOC has two NSS processors. This NSS processors are able to handle some network / cryptographic functions and offload the main processors of the SOC. Currently, the Qualcomm NSS hardware acceleration is not officially supported in OpenWrt and maybe never will be. The code needed for that is not in the kernel of Linux and the patches provided by Qualcomm are only for very old versions of the kernel, so they can't be imported directly into OpenWrt and adding them require a lot of work and maintenance.
 +
 +The main processors of the SOC are able to route without using the NSS processors, and this is how the official build of OpenWrt works, but is not as fast as it can be when using the NSS cores.
 +
 +However, there is an ongoing community effort to enable NSS acceleration. **It's important to note that community efforts do not guarantee official support in the future**.
 +
 +If your internet speed is near 1 Gbps speeds, you will note that official OpenWrt build will not reach this speeds. Or if you plan to have additional processes running on the router that can consume resources it will hurt your routing speed. In this case maybe you can try to use this NOT official builds, but remember, **they are NOT official and thus they don't have official support**.
 +
 +If your understand that this versions are not official, but you want to try them, here are some relevant links:
 +  - There is one [[https://forum.openwrt.org/t/ipq807x-nss-build/148529|thread in the forum]], where the development of this NSS versions occur and the only place to ask for support of this NSS versions. 
 +  - There is one [[https://github.com/qosmio/openwrt-ipq|GitHub repository]] with the current NSS code that is being developed. You can build yourself the firmware starting from this code.
 +
 +If you are not able to build the code by yourself, some users have some repos with some ready to use builds of this NSS versions. Here are some links to his repos, in alphabetical order of the user's name.
 +  - __AgustinLorenzo__: you can find the [[https://github.com/AgustinLorenzo/openwrt/releases|releases here]]. There are two versions, one if you use mesh and the other if you don't.
 +  - __dimfish__: the sources are [[https://github.com/dimfishr/openwrt|here]] and the builds are [[https://openwrt.admincomps.ru/nss-wifi/|here]]. He builds and publishes the packages too so you can install any package later from OpenWrt.
 +  - __JuliusBairaktaris__: you can find the [[https://github.com/JuliusBairaktaris/Qualcommax_NSS_Builder/releases|releases here]]. It is built automatically with each change.
 +
 +<WRAP center round info>
 +<color #ed1c24>**This NSS versions are NOT officially supported and maybe there will never be, so use them at your own risk and don't expect official support from OpenWrt developers**</color>
 +</WRAP>
 ===== Debricking ===== ===== Debricking =====
-The device can be recovered using a TFTP recovery (recommended, instructions below) or you can try to apply the habitual [[docs:guide-user:troubleshooting:generic.debrick|generic debrick]] options for OpenWrt devices.+There are several options for debricking the AX3600 Router: 
 +  * The device can be recovered using a TFTP recovery (recommended, instructions below) 
 +  * You can use the MiWIFI Repair Tool (instructions below) 
 +  * you can try to apply the habitual [[docs:guide-user:troubleshooting:generic.debrick|generic debrick]] options for OpenWrt devices.
  
 ==== TFTP recovery ==== ==== TFTP recovery ====
Line 307: Line 380:
   * The router boots and asks for an IP address on the LAN ports via DHCP   * 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 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.+  * 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.<WRAP round info> 
 +  * For example, ''192.168.31.2 = C0.A8.1F.02'', so the router will ask for a file named **C0A81F02.img**. 
 +  * 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. 
 +  </WRAP>
  
-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. +Here you have the steps on Linux or Windows to prepare the tftp server.
- +
-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 ([[https://forum.openwrt.org/t/xiaomi-ax3600-bricked/106300/112|this can be adapted to the tftpd64]]'s graphical interface very easily):+
  
 +<tabbox Linux>
 +On Linux you can use dnsmasq.
   * 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):<code>mkdir -p /tmp/tftp   * 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):<code>mkdir -p /tmp/tftp
 wget https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r3600/miwifi_r3600_firmware_5da25_1.0.17.bin -O /tmp/tftp/C0A81F02.img</code> wget https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r3600/miwifi_r3600_firmware_5da25_1.0.17.bin -O /tmp/tftp/C0A81F02.img</code>
Line 319: Line 394:
 sudo ip address add 192.168.31.100/24 dev <adapter name></code> 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.2 --enable-tftp --tftp-root=/tmp/tftp</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.2 --enable-tftp --tftp-root=/tmp/tftp</code>
-  * Keep reset button pressed and power on your ax3600 <WRAP round info> 
-  * Keep it pressed until you see the system led blinking orange 
-  </WRAP> 
-  * When the device finished loading the firmware, the led starts blink. Wait for until blue led get solid! <WRAP round info> 
-  * It Might take some time for the Led go get to 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 
  
 +<tabbox Windows>
 +On Windows you can use any tftp client, this example is using [[https://bitbucket.org/phjounin/tftpd64/downloads/tftpd64.464.zip|tftpd64]]. Download it and decompress the contents in any folder.
 +  * Connect your computer ethernet port to the router LAN1 port, nothing else connected.
 +  * In Windows, set computer IP as static to ''192.168.31.100'', mask ''255.255.255.0'' (depending your version of windows, you will need to fill the DNS too with any valid value, does not matter):
  
-/*** if info availableuncomment and fill in +{{:media:xiaomi:xiaomi_ax3600_tftpwin_1.png?400|}}
-===== Failsafe mode ===== +
--> [[docs:guide-user:troubleshooting:failsafe_and_factory_reset]] +
-***/+
  
 +  * **Allow tftp64 in windows firewall or deactivate the windows firewall temporarily.**
 +  * Configure tftp64 like this:
  
-/*** if info availableuncomment and fill in +{{:media:xiaomi:xiaomi_ax3600_tftpwin_2.png?400|}}
-===== Basic configuration ===== +
-After flashing, proceed with [[docs:guide-user:base-system:start|Basic configuration]]: Set up your Internet connection, configure wireless, configure USB port, etc. +
-***/+
  
 +{{:media:xiaomi:xiaomi_ax3600_tftpwin_3.png?400|}}
  
-/*** if info availableuncomment and fill in +  Configure tftp64 DHCP server to give the IP ''192.168.31.2'' to the router:
-===== Specific configuration =====+
  
-<WRAP BOX 600px> +{{:media:xiaomi:xiaomi_ax3600_tftpwin_4.png?400|}}
-FIXME Please fill in real values for this device, then remove the EXAMPLEs and the WRAP that encloses this text.+
  
-==== Network interfaces ==== +  * Rename the firmware file that you want to install (for example [[https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r3600/miwifi_r3600_firmware_5da25_1.0.17.bin|miwifi_r3600_firmware_5da25_1.0.17.bin]]) to **C0A81F02.img** and copy it to the tftpd64 folder
-The default network configuration is: +</tabbox>
-^ Interface Name   ^ Description                  ^ Default configuration    ^ +
-| br-lan           | EXAMPLE LAN & WiFi           | EXAMPLE 192.168.1.1/24   | +
-| vlan0 (eth0.0)   | EXAMPLE LAN ports (1 to 4)   | EXAMPLE None             | +
-| vlan1 (eth0.1)   | EXAMPLE WAN port             | EXAMPLE DHCP             | +
-| wl0              | EXAMPLE WiFi                 | EXAMPLE Disabled         | +
-</WRAP> +
-***/+
  
 +Now, you can start the recovery:
 +  * Power off the Router if you haven't done so already
 +  * Keep reset button pressed and power on your AX3600. <WRAP round info>
 +  * Keep it pressed until you see the system led blinking orange
 +  </WRAP>
 +  * The device will start loading the firmware.<WRAP round info>
 +  * If the led is blinking blue it means that the device was flashed successfully and can be restarted
 +  * After restarting the router, it might take some time for the led to go to 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
 +  </WRAP>
  
-/*** if info available: uncomment and fill in +Finally you can put the interface of your computer back to DHCP mode (or what you usually have) and start again with breaking your device ;-)
-==== Buttons ==== +
--> [[docs:guide-user:hardware:hardware.button]] on howto use and configure the hardware button(s)+
-Here, we merely name the buttons, so we can use them in the above Howto.+
  
-<WRAP BOX 600px> +==== MiWIFI Repair Tool (Windows) ====
-FIXME Please fill in real values for this device, then remove the EXAMPLEs and the WRAP that encloses this text. +
- +
-The Xiaomi AX3600 has the following buttons: +
- +
-^ BUTTON                       ^ Event   ^ +
-| EXAMPLE Reset                |  reset  | +
-| EXAMPLE Secure Easy Setup    |   ses   | +
-| EXAMPLE No buttons at all.      -    | +
-</WRAP> +
-***/+
  
 +You can download the repair tool from http://www1.miwifi.com/miwifi_download.html
  
 +  * Make sure the computer has a static IP address as shown in the instructions above (TFTP recovery)
 +  * On the first screen, select your firmware (recommended is [[https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r3600/miwifi_r3600_firmware_5da25_1.0.17.bin|miwifi_r3600_firmware_5da25_1.0.17.bin]])
 +  * Click on the button on the right button to continue to the next step
 +  * Select your Ethernet adapter which has the router connected
 +  * Click on the button on the right button to continue to the next step
 +  * Unplug the router if you haven't done so already
 +  * Press and hold the reset button
 +  * Power on the router
 +  * Wait for the orange LED to start blinking and stop blinking again
 +  * Release the reset button
 +  * The MiWIFI repair tool should now show show a dialog indicating that data is being copied to the router.
 +  * When the files have been copied, the router should show a blinking blue LED.
 +  * You may now unplug the router and plug it back in again to restart it.
 +  * The repair should now be complete.
  
  
-==== Photos ====+===== Photos =====
 /* =====>>>>> Standard size for photos: add ?400 to the medialink                                */ /* =====>>>>> Standard size for photos: add ?400 to the medialink                                */
 /* When uploading photos, **name them** intelligently. Nobody knows what 20100930_000602.jpg is! */ /* When uploading photos, **name them** intelligently. Nobody knows what 20100930_000602.jpg is! */
Line 385: Line 455:
 /* Thanks, your wiki administration - Oct. 2015 */ /* Thanks, your wiki administration - Oct. 2015 */
  
-=== External ===+==== External ====
  
-{{:media:pms_1581411766.33688586.jpg?400|}} +{{media:xiaomi:ax3600_front.jpg?400|}} 
-{{:media:pms_1581411766.42359239.jpg?400|}}+{{media:xiaomi:ax3600_back.jpg?400|}}
  
-=== Internal ===+==== Internal ====
 {{:media:sam_6405.jpg?400|}} {{:media:sam_6405.jpg?400|}}
  
Line 396: Line 466:
 {{media:xiaomi:xiaomi_ax3600-pcb-back.jpg?400|Xiaomi AX3600 PCB back}} {{media:xiaomi:xiaomi_ax3600-pcb-back.jpg?400|Xiaomi AX3600 PCB back}}
  
-==== Serial ====+===== Serial =====
  
 Router side RX is disabled by default, to enable run the following commands via SSH on: Router side RX is disabled by default, to enable run the following commands via SSH on:
Line 407: Line 477:
 reboot reboot
 </code> </code>
-<tabbox OpenWRT firmware>+<tabbox OpenWrt firmware>
 <code> <code>
 fw_setenv uart_en 1 fw_setenv uart_en 1
Line 417: Line 487:
 == How to connect to the Serial Port (UART) == == How to connect to the Serial Port (UART) ==
  
-{{:media:tim图片20200612175151.jpg?400|}}+{{media:xiaomi:xiaomi_mi_aiot_router_ax3600_serial_connection.jpg?400|}}
  
 <WRAP round alert> <WRAP round alert>
Line 433: Line 503:
 </a2s> </a2s>
  
----- datatable ---- +<!-- ToH: { 
-cols    Serial connection parameters_serialparamSerial connection voltage_serialvoltage +  "source""json"
-align   c,c +  "dom""t"
-filter  : Brand=Xiaomi +  "paging"false, 
-filter  : Model=AX3600 +  "rotate"true, 
-filter  :  +  "shownColumns"["serialconnectionparameters", "serialconnectionvoltage"], 
-----+  "filterColumns": {"brand": "^Xiaomi$", "model": "^Mi AIoT Router AX3600$"
 +-->
  
 ===== Bootlogs ===== ===== Bootlogs =====
-==== OEM bootlog ====+ 
 +<tabbox OEM bootlog>
 <WRAP bootlog> <WRAP bootlog>
 <nowiki>Format: Log Type - Time(microsec) - Message - Optional Info <nowiki>Format: Log Type - Time(microsec) - Message - Optional Info
Line 1729: Line 1801:
 </WRAP>\\ </WRAP>\\
  
-==== OpenWrt bootlog ==== +<tabbox OpenWrt bootlog> 
-<WRAP bootlog+<WRAP bootlog><nowiki>   0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] 
-<nowiki>COPY HERE THE BOOTLOG ONCE OPENWRT IS INSTALLED AND RUNNING</nowiki+[    0.000000] Linux version 5.15.162 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r24012-d8dd03c46f) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Mon Jul 15 22:14:18 2024 
-</WRAP>\\+[    0.000000] Machine model: Xiaomi AX3600 
 +[    0.000000] Zone ranges: 
 +[    0.000000]   DMA      [mem 0x0000000040000000-0x000000005fffffff] 
 +[    0.000000]   DMA32    empty 
 +[    0.000000]   Normal   empty 
 +[    0.000000] Movable zone start for each node 
 +[    0.000000] Early memory node ranges 
 +[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000040ffffff] 
 +[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a3fffff] 
 +[    0.000000]   node   0: [mem 0x000000004a400000-0x000000004a4fffff] 
 +[    0.000000]   node   0: [mem 0x000000004a500000-0x000000004a5fffff] 
 +[    0.000000]   node   0: [mem 0x000000004a600000-0x000000004e8fffff] 
 +[    0.000000]   node   0: [mem 0x000000004e900000-0x000000005fffffff] 
 +[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff] 
 +[    0.000000] psci: probing for conduit method from DT. 
 +[    0.000000] psci: PSCIv1.0 detected in firmware. 
 +[    0.000000] psci: Using standard PSCI v0.2 function IDs 
 +[    0.000000] psci: MIGRATE_INFO_TYPE not supported. 
 +[    0.000000] psci: SMC Calling Convention v1.0 
 +[    0.000000] psci: OSI mode supported. 
 +[    0.000000] percpu: Embedded 18 pages/cpu s33880 r8192 d31656 u73728 
 +[    0.000000] pcpu-alloc: s33880 r8192 d31656 u73728 alloc=18*4096 
 +[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3  
 +[    0.000000] Detected VIPT I-cache on CPU0 
 +[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129024 
 +[    0.000000] Kernel command line: ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait uart_en=1 root=/dev/ubiblock0_0 
 +[    0.000000] Unknown kernel command line parameters "uart_en=1", will be passed to user space. 
 +[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear) 
 +[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear) 
 +[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off 
 +[    0.000000] Memory: 416040K/524288K available (7808K kernel code, 860K rwdata, 1404K rodata, 1280K init, 288K bss, 108248K reserved, 0K cma-reserved) 
 +[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 
 +[    0.000000] rcu: Hierarchical RCU implementation. 
 +[    0.000000] Tracing variant of Tasks RCU enabled. 
 +[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. 
 +[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 
 +[    0.000000] Root IRQ handler: 0xffffffc008010000 
 +[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00affc], SPI[448:479] 
 +[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (virt/virt). 
 +[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns 
 +[    0.000000] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns 
 +[    0.000111] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000) 
 +[    0.000128] pid_max: default: 32768 minimum: 301 
 +[    0.000578] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear) 
 +[    0.000594] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear) 
 +[    0.002623] rcu: Hierarchical SRCU implementation. 
 +[    0.003370] smp: Bringing up secondary CPUs ... 
 +[    0.004030] Detected VIPT I-cache on CPU1 
 +[    0.004098] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] 
 +[    0.004735] Detected VIPT I-cache on CPU2 
 +[    0.004776] CPU2: Booted secondary processor 0x0000000002 [0x410fd034] 
 +[    0.005393] Detected VIPT I-cache on CPU3 
 +[    0.005430] CPU3: Booted secondary processor 0x0000000003 [0x410fd034] 
 +[    0.005497] smp: Brought up 1 node, 4 CPUs 
 +[    0.005524] SMP: Total of 4 processors activated. 
 +[    0.005532] CPU features: detected: 32-bit EL0 Support 
 +[    0.005539] CPU features: detected: CRC32 instructions 
 +[    0.005594] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching 
 +[    0.005604] CPU: All CPU(s) started at EL1 
 +[    0.005625] alternatives: patching kernel code 
 +[    0.015268] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns 
 +[    0.015305] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) 
 +[    0.015560] pinctrl core: initialized pinctrl subsystem 
 +[    0.017028] NET: Registered PF_NETLINK/PF_ROUTE protocol family 
 +[    0.017548] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations 
 +[    0.017593] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations 
 +[    0.017645] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations 
 +[    0.018049] thermal_sys: Registered thermal governor 'step_wise' 
 +[    0.019616] cpuidle: using governor menu 
 +[    0.019869] ASID allocator initialised with 65536 entries 
 +[    0.075859] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4 
 +[    0.085555] SCSI subsystem initialized 
 +[    0.085754] usbcore: registered new interface driver usbfs 
 +[    0.085799] usbcore: registered new interface driver hub 
 +[    0.085836] usbcore: registered new device driver usb 
 +[    0.086063] CPUidle PSCI: failed to enable OSI mode: -95 
 +[    0.086372] qcom_scm: convention: smc arm 64 
 +[    0.087891] clocksource: Switched to clocksource arch_sys_counter 
 +[    0.088847] NET: Registered PF_INET protocol family 
 +[    0.088993] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear) 
 +[    0.089775] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear) 
 +[    0.089799] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) 
 +[    0.089813] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear) 
 +[    0.089864] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear) 
 +[    0.089945] TCP: Hash tables configured (established 4096 bind 4096) 
 +[    0.090037] UDP hash table entries: 256 (order: 1, 8192 bytes, linear) 
 +[    0.090065] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear) 
 +[    0.090266] NET: Registered PF_UNIX/PF_LOCAL protocol family 
 +[    0.090312] PCI: CLS 0 bytes, default 64 
 +[    0.091684] workingset: timestamp_bits=46 max_order=17 bucket_order=0 
 +[    0.096376] squashfs: version 4.0 (2009/01/31) Phillip Lougher 
 +[    0.096395] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. 
 +[    0.097413] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248) 
 +[    0.099652] qcom-qmp-phy 84000.phy: Registered Qcom-QMP phy 
 +[    0.101896] qcom-pcie 20000000.pci: host bridge /soc/pci@20000000 ranges: 
 +[    0.101960] qcom-pcie 20000000.pci:       IO 0x0020200000..0x002020ffff -0x0000000000 
 +[    0.101988] qcom-pcie 20000000.pci:      MEM 0x0020220000..0x002fffffff -> 0x0020220000 
 +[    0.229448] qcom-pcie 20000000.pci: iATU unroll: enabled 
 +[    0.229465] qcom-pcie 20000000.pci: Detected iATU regions: 8 outbound, 8 inbound 
 +[    0.329531] qcom-pcie 20000000.pci: Link up 
 +[    0.329695] qcom-pcie 20000000.pci: PCI host bridge to bus 0000:00 
 +[    0.329708] pci_bus 0000:00: root bus resource [bus 00-ff] 
 +[    0.329726] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] 
 +[    0.329738] pci_bus 0000:00: root bus resource [mem 0x20220000-0x2fffffff] 
 +[    0.329782] pci 0000:00:00.0: [17cb:1002] type 01 class 0x060400 
 +[    0.329811] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff] 
 +[    0.329894] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold 
 +[    0.333142] pci 0000:01:00.0: [168c:0050] type 00 class 0x028000 
 +[    0.333288] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit] 
 +[    0.333506] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref] 
 +[    0.333967] pci 0000:01:00.0: supports D1 
 +[    0.333977] pci 0000:01:00.0: PME# supported from D0 D1 D3hot 
 +[    0.337031] pci 0000:00:00.0: BAR 8: assigned [mem 0x20300000-0x205fffff] 
 +[    0.337054] pci 0000:00:00.0: BAR 9: assigned [mem 0x20600000-0x207fffff 64bit pref] 
 +[    0.337069] pci 0000:00:00.0: BAR 0: assigned [mem 0x20220000-0x20220fff] 
 +[    0.337084] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff] 
 +[    0.337100] pci 0000:01:00.0: BAR 0: assigned [mem 0x20400000-0x205fffff 64bit] 
 +[    0.337173] pci 0000:01:00.0: BAR 6: assigned [mem 0x20300000-0x2030ffff pref] 
 +[    0.337187] pci 0000:00:00.0: PCI bridge to [bus 01-ff] 
 +[    0.337199] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff] 
 +[    0.337212] pci 0000:00:00.0:   bridge window [mem 0x20300000-0x205fffff] 
 +[    0.337224] pci 0000:00:00.0:   bridge window [mem 0x20600000-0x207fffff 64bit pref] 
 +[    0.339459] pcieport 0000:00:00.0: PME: Signaling with IRQ 82 
 +[    0.339790] pcieport 0000:00:00.0: AER: enabled with IRQ 82 
 +[    0.343165] bam-dma-engine 704000.dma-controller: num-channels unspecified in dt 
 +[    0.343190] bam-dma-engine 704000.dma-controller: num-ees unspecified in dt 
 +[    0.346929] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled 
 +[    0.349185] msm_serial 78b3000.serial: msm_serial: detected port #0 
 +[    0.349248] msm_serial 78b3000.serial: uartclk = 3686400 
 +[    0.349313] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 22, base_baud = 230400) is a MSM 
 +[    0.349351] msm_serial: console setup on port #0 
 +[    1.162639] printk: console [ttyMSM0] enabled 
 +[    1.167782] msm_serial: driver initialized 
 +[    1.176359] loop: module loaded 
 +[    1.176452] Loading iSCSI transport class v2.0-870. 
 +[    1.180702] nand: device found, Manufacturer ID: 0xc8, Chip ID: 0xaa 
 +[    1.183457] nand: ESMT GD9FS2G8F2A 
 +[    1.190087] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128 
 +[    1.193544] 13 fixed-partitions partitions found on MTD device qcom_nand.0 
 +[    1.200862] OF: Bad cell count for /soc/nand-controller@79b0000/nand@0/partitions 
 +[    1.207784] OF: Bad cell count for /soc/nand-controller@79b0000/nand@0/partitions 
 +[    1.216111] Creating 13 MTD partitions on "qcom_nand.0": 
 +[    1.222797] 0x000000000000-0x000000100000 : "0:sbl1" 
 +[    1.229556] 0x000000100000-0x000000200000 : "0:mibib" 
 +[    1.234323] 0x000000200000-0x000000500000 : "0:qsee" 
 +[    1.240824] 0x000000500000-0x000000580000 : "0:devcfg" 
 +[    1.243922] 0x000000580000-0x000000600000 : "0:rpm" 
 +[    1.248917] 0x000000600000-0x000000680000 : "0:cdt" 
 +[    1.253648] 0x000000680000-0x000000700000 : "0:appsblenv" 
 +[    1.258547] 0x000000700000-0x000000800000 : "0:appsbl" 
 +[    1.264431] 0x000000800000-0x000000880000 : "0:art" 
 +[    1.269219] 0x000000880000-0x000000900000 : "bdata" 
 +[    1.273867] 0x000000900000-0x000000a00000 : "pstore" 
 +[    1.279167] 0x000000a00000-0x000002dc0000 : "ubi_kernel" 
 +[    1.311135] 0x000002dc0000-0x000010000000 : "rootfs" 
 +[    1.473733] mtd: setting mtd12 (rootfs) as root device 
 +[    1.474036] mtdsplit: no squashfs found in "rootfs" 
 +[    1.482874] spmi spmi-0: PMIC arbiter version v2 (0x20010000) 
 +[    1.486048] s1: supplied by regulator-dummy 
 +[    1.488696] s2: supplied by regulator-dummy 
 +[    1.492596] vdd_s3: supplied by regulator-dummy 
 +[    1.496917] vdd_s4: supplied by regulator-dummy 
 +[    1.501495] s5: supplied by regulator-dummy 
 +[    1.505794] l1: supplied by regulator-dummy 
 +[    1.510029] l2: supplied by regulator-dummy 
 +[    1.514115] l3: supplied by regulator-dummy 
 +[    1.518332] l4: supplied by regulator-dummy 
 +[    1.522500] l5: supplied by regulator-dummy 
 +[    1.526642] l6: supplied by regulator-dummy 
 +[    1.530814] l7: supplied by regulator-dummy 
 +[    1.534994] l8: supplied by regulator-dummy 
 +[    1.539177] l9: supplied by regulator-dummy 
 +[    1.543423] l11: supplied by regulator-dummy 
 +[    1.547493] l12: supplied by regulator-dummy 
 +[    1.551996] l13: supplied by regulator-dummy 
 +[    1.569727] i2c_dev: i2c /dev entries driver 
 +[    1.573916] sdhci: Secure Digital Host Controller Interface driver 
 +[    1.573966] sdhci: Copyright(c) Pierre Ossman 
 +[    1.579083] sdhci-pltfm: SDHCI platform and OF driver helper 
 +[    1.587058] remoteproc remoteproc0: releasing cd00000.q6v5_wcss 
 +[    1.591754] NET: Registered PF_INET6 protocol family 
 +[    1.595898] Segment Routing with IPv6 
 +[    1.600139] In-situ OAM (IOAM) with IPv6 
 +[    1.603683] NET: Registered PF_PACKET protocol family 
 +[    1.607654] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. 
 +[    1.612771] 8021q: 802.1Q VLAN Support v1.8 
 +[    1.644207] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4 
 +[    1.644520] cpr4_ipq807x_apss_read_fuse_data: apc_corner: speed bin = 0 
 +[    1.650477] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR fusing revision = 1 
 +[    1.656933] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR misc fuse value = 0 
 +[    1.664606] cpr4_ipq807x_apss_read_fuse_data: apc_corner: Voltage boost fuse config = 0 boost = disable 
 +[    1.672113] cpr3_mem_acc_init: apc: not using memory accelerator regulator 
 +[    1.681245] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      SVS: open-loop= 704000 uV 
 +[    1.688194] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      NOM: open-loop= 816000 uV 
 +[    1.698183] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused    TURBO: open-loop= 864000 uV 
 +[    1.707985] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused   STURBO: open-loop= 944000 uV 
 +[    1.717839] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      SVS: quot[ 7]= 724, quot_offset[ 7]=   0 
 +[    1.727606] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      NOM: quot[ 7]= 957, quot_offset[ 7]= 230 
 +[    1.738456] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused    TURBO: quot[ 7]=1044, quot_offset[ 7]=  85 
 +[    1.749394] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused   STURBO: quot[ 7]=1206, quot_offset[ 7]= 160 
 +[    1.760481] cpr3_regulator_init_ctrl: apc: Default CPR mode = closed-loop 
 +[    1.762798] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 19200 KHz, changing to: 1017600 KHz 
 +[    1.779227] remoteproc remoteproc0: cd00000.q6v5_wcss is available 
 +[    1.789315] ubi0: attaching mtd12 
 +[    2.427893] random: crng init done 
 +[    2.729698] ubi0: scanning is finished 
 +[    2.736678] ubi0: attached mtd12 (name "rootfs", size 210 MiB) 
 +[    2.736717] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes 
 +[    2.741426] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 
 +[    2.748275] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 
 +[    2.755124] ubi0: good PEBs: 1682, bad PEBs: 0, corrupted PEBs: 0 
 +[    2.761900] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128 
 +[    2.768155] ubi0: max/mean erase counter: 73/38, WL threshold: 4096, image sequence number: 532123332 
 +[    2.775270] ubi0: available PEBs: 0, total reserved PEBs: 1682, PEBs reserved for bad PEB handling: 40 
 +[    2.784571] ubi0: background thread "ubi_bgt0d" started, PID 459 
 +[    2.794400] block ubiblock0_0: created from ubi0:0(rootfs) 
 +[    2.800448] clk: Disabling unused clocks 
 +[    2.808257] VFS: Mounted root (squashfs filesystem) readonly on device 254:0. 
 +[    2.808868] Freeing unused kernel memory: 1280K 
 +[    2.814552] Run /sbin/init as init process 
 +[    2.818725]   with arguments: 
 +[    2.818728]     /sbin/init 
 +[    2.818730]   with environment: 
 +[    2.818732]     HOME=/ 
 +[    2.818734]     TERM=linux 
 +[    2.818736]     uart_en=1 
 +[    2.992045] init: Console is alive 
 +[    2.992202] init: - watchdog - 
 +[    3.581067] kmodloader: loading kernel modules from /etc/modules-boot.d/
 +[    3.710889] ssdk_switch_device_num_init[1335]:INFO:ess-switch dts node number: 1 
 +[    3.711013] ssdk_dt_get_switch_node[1124]:INFO:ess-switch DT exist! 
 +[    3.717365] ssdk_dt_parse_access_mode[999]:INFO:switch_access_mode: local bus 
 +[    3.723371] ssdk_dt_parse_access_mode[1012]:INFO:switchreg_base_addr: 0x3a000000 
 +[    3.730651] ssdk_dt_parse_access_mode[1013]:INFO:switchreg_size: 0x1000000 
 +[    3.738116] ssdk_dt_parse_mac_mode[327]:INFO:mac mode = 0x0 
 +[    3.744790] ssdk_dt_parse_mac_mode[336]:INFO:mac mode1 = 0xff 
 +[    3.750272] ssdk_dt_parse_mac_mode[345]:INFO:mac mode2 = 0xff 
 +[    3.756221] ssdk_dt_parse_uniphy[364]:INFO:ess-uniphy DT exist! 
 +[    3.762396] ssdk_dt_parse_intf_mac[942]:INFO:dp2 MAC 28:d1:27:70:60:d3 
 +[    3.767679] ssdk_dt_parse_intf_mac[942]:INFO:dp3 MAC 28:d1:27:4c:e2:49 
 +[    3.774291] ssdk_dt_parse_intf_mac[942]:INFO:dp4 MAC 28:d1:27:4c:e2:49 
 +[    3.780800] ssdk_dt_parse_intf_mac[942]:INFO:dp5 MAC 28:d1:27:4c:e2:49 
 +[    3.787301] ssdk_plat_init[1692]:INFO:ssdk_plat_init start 
 +[    3.909791] ssdk_gcc_clock_init[1275]:INFO:SSDK gcc clock init successfully! 
 +[    3.911097] malibu_phy_api_ops_init[2846]:INFO:qca probe malibu phy driver succeeded! 
 +[    3.916080] hsl_phy_phydev_get[773]:ERROR:phy_addr 0 phydev is NULL 
 +[    3.929660] regi_init[3953]:INFO:Initializing HPPE!! 
 +[    4.167912] ssdk_ppe_reset_init[1535]:INFO:ppe reset successfully! 
 +[    4.171403] qca_hppe_portctrl_hw_init[126]:INFO:Hawkeye PPE port initializing 
 +[    4.173037] hsl_phy_phydev_get[773]:ERROR:phy_addr 0 phydev is NULL 
 +[    4.180328] hsl_phy_phydev_get[773]:ERROR:phy_addr 0 phydev is NULL 
 +[    4.413013] adpt_hppe_port_mux_mac_type_set[2787]:WARN:port 6 need not to configure mux and mac type 
 +[    4.413074] ssdk_switch_register[2017]:INFO:Chip version 0x1500 
 +[    4.421219] qca_link_polling_select[1487]:INFO:link-polling-required node does not exist 
 +[    4.426848] ssdk_switch_register[2043]:INFO:polling is selected 
 +[    4.435191] regi_init[3957]:INFO:Initializing HPPE Done!! 
 +[    4.440911] ssdk_genl_init[211]:INFO:ssdk genl family register success. 
 +[    4.446381] regi_init[4020]:INFO:qca-ssdk module init succeeded! 
 +[    4.455037] EDMA ver 1 hw init 
 +[    4.459288] EDMA HW Reset completed succesfully 
 +[    4.461941] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7) 
 +[    4.466337] RxDesc:1 (15-15) RxFill:1 (7-7) 
 +[    4.472182] Generic PHY 90000.mdio-1:01: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:01, irq=POLL) 
 +[    4.476384] nss-dp 3a001200.dp2 wan: Registered netdev wan(qcom-id:2) 
 +[    4.485857] Generic PHY 90000.mdio-1:02: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:02, irq=POLL) 
 +[    4.492538] nss-dp 3a001400.dp3 lan1: Registered netdev lan1(qcom-id:3) 
 +[    4.501812] Generic PHY 90000.mdio-1:03: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:03, irq=POLL) 
 +[    4.508503] nss-dp 3a001600.dp4 lan2: Registered netdev lan2(qcom-id:4) 
 +[    4.517991] Generic PHY 90000.mdio-1:04: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:04, irq=POLL) 
 +[    4.524636] nss-dp 3a001800.dp5 lan3: Registered netdev lan3(qcom-id:5) 
 +[    4.533912] ********************************************************** 
 +[    4.540151] * NSS Data Plane driver 
 +[    4.546715] ********************************************************** 
 +[    4.558068] kmodloader: done loading kernel modules from /etc/modules-boot.d/
 +[    4.566503] init: - preinit - 
 +[    6.008079] nss-dp 3a001400.dp3 lan1: PHY Link up speed: 10 
 +[    6.008154] IPv6: ADDRCONF(NETDEV_CHANGE): lan1: link becomes ready 
 +[    7.050083] UBIFS (ubi0:1): Mounting in unauthenticated mode 
 +[    7.050212] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 655 
 +[    7.080466] UBIFS (ubi0:1): recovery needed 
 +[    7.161457] UBIFS (ubi0:1): recovery completed 
 +[    7.161566] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data" 
 +[    7.164797] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes 
 +[    7.172718] UBIFS (ubi0:1): FS size: 198717440 bytes (189 MiB, 1565 LEBs), max 1577 LEBs, journal size 9904128 bytes (9 MiB, 78 LEBs) 
 +[    7.182611] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB) 
 +[    7.194576] UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID AF2C8116-CB6B-4C69-BF57-2CD7BC161504, small LPT model 
 +[    7.205917] mount_root: switching to ubifs overlay 
 +[    7.215872] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off. 
 +[    7.221767] urandom-seed: Seeding with /etc/urandom.seed 
 +[    7.289003] nss-dp 3a001400.dp3 lan1: PHY Link is down 
 +[    7.294404] procd: - early - 
 +[    7.294511] procd: - watchdog - 
 +[    7.857578] procd: - watchdog - 
 +[    7.859389] procd: - ubus - 
 +[    7.915501] procd: - init - 
 +[    8.135839] kmodloader: loading kernel modules from /etc/modules.d/
 +[    8.190112] Loading modules backported from Linux version v6.1.97-0-g7753af06eebfb 
 +[    8.190155] Backport generated by backports.git v6.1.97-1-0-g2431d56e 
 +[    8.201025] NET: Registered PF_QIPCRTR protocol family 
 +[    8.241381] PPP generic driver version 2.4.2 
 +[    8.242139] NET: Registered PF_PPPOX protocol family 
 +[    8.252771] ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x50. 
 +[    8.253276] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002) 
 +[    8.260039] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0 
 +[    8.348501] urngd: v1.0.2 started. 
 +[    8.988234] ath10k_pci 0000:01:00.0: qca9887 hw1.0 target 0x4100016d chip_id 0x004000ff sub 0000:0000 
 +[    8.988292] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0 
 +[    8.996547] ath10k_pci 0000:01:00.0: firmware ver 10.1-ct-87-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 61a92df5 
 +[    9.031909] ath10k_pci 0000:01:00.0: Loading BDF type 0 
 +[    9.032143] ath10k_pci 0000:01:00.0: board_file api 2 bmi_id N/A crc32 b4ce36fa 
 +[    9.902469] ath10k_pci 0000:01:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256 
 +[    9.909458] ath10k_pci 0000:01:00.0: wmi print 'P 128 V 8 T 410' 
 +[    9.909509] ath10k_pci 0000:01:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0' 
 +[    9.915229] ath10k_pci 0000:01:00.0: wmi print 'alloc rem: 25560 iram: 24780' 
 +[    9.962797] ath10k_pci 0000:01:00.0: htt-ver 2.1 wmi-op 2 htt-op 2 cal nvmem max-sta 128 raw 0 hwcrypto 1 
 +[    9.963152] ath10k_pci 0000:01:00.0: NOTE:  Firmware DBGLOG output disabled in debug_mask: 0x10000000 
 +[   10.079034] ath: EEPROM regdomain: 0x0 
 +[   10.079041] ath: EEPROM indicates default country code should be used 
 +[   10.079045] ath: doing EEPROM country->regdmn map search 
 +[   10.079050] ath: country maps to regdmn code: 0x3a 
 +[   10.079054] ath: Country alpha2 being used: US 
 +[   10.079058] ath: Regpair used: 0x3a 
 +[   10.089771] ath11k c000000.wifi: ipq8074 hw2.0 
 +[   10.089809] ath11k c000000.wifi: FW memory mode: 1 
 +[   10.093416] remoteproc remoteproc0: powering up cd00000.q6v5_wcss 
 +[   10.098142] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668 
 +[   11.373365] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up 
 +[   11.378149] kmodloader: done loading kernel modules from /etc/modules.d/
 +[   11.417620] ath11k c000000.wifi: qmi ignore invalid mem req type 3 
 +[   11.425088] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff 
 +[   11.425142] ath11k c000000.wifi: fw_version 0x290c84a5 fw_build_timestamp 2023-03-25 07:34 fw_build_id WLAN.HK.2.9.0.1-01385-QCAHKSWPL_SILICONZ-1 
 +[   11.640347] ath11k c000000.wifi: htt event 48 not handled 
 +[   13.700929] br-lan: port 1(lan1) entered blocking state 
 +[   13.700977] br-lan: port 1(lan1) entered disabled state 
 +[   13.705236] device lan1 entered promiscuous mode 
 +[   13.722139] br-lan: port 2(lan2) entered blocking state 
 +[   13.722187] br-lan: port 2(lan2) entered disabled state 
 +[   13.726487] device lan2 entered promiscuous mode 
 +[   13.735623] br-lan: port 3(lan3) entered blocking state 
 +[   13.736256] br-lan: port 3(lan3) entered disabled state 
 +[   13.741534] device lan3 entered promiscuous mode 
 +[   13.916638] ath: EEPROM regdomain: 0x80d0 
 +[   13.916664] ath: EEPROM indicates we should expect a country code 
 +[   13.916668] ath: doing EEPROM country->regdmn map search 
 +[   13.916671] ath: country maps to regdmn code: 0x37 
 +[   13.916674] ath: Country alpha2 being used: DK 
 +[   13.916678] ath: Regpair used: 0x37 
 +[   13.916680] ath: regdomain 0x80d0 dynamically updated by user 
 +[   15.350244] ath10k_pci 0000:01:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256 
 +[   15.357212] ath10k_pci 0000:01:00.0: wmi print 'P 128 V 8 T 410' 
 +[   15.357261] ath10k_pci 0000:01:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0' 
 +[   15.363028] ath10k_pci 0000:01:00.0: wmi print 'alloc rem: 25560 iram: 24780' 
 +[   15.410552] ath10k_pci 0000:01:00.0: pdev param 0 not supported by firmware 
 +[   15.415609] ath10k_pci 0000:01:00.0: rts threshold -1 
 +[   15.417859] br-lan: port 4(phy0-ap0) entered blocking state 
 +[   15.421526] br-lan: port 4(phy0-ap0) entered disabled state 
 +[   15.427136] device phy0-ap0 entered promiscuous mode 
 +[   15.558127] IPv6: ADDRCONF(NETDEV_CHANGE): phy0-ap0: link becomes ready 
 +[   15.558328] br-lan: port 4(phy0-ap0) entered blocking state 
 +[   15.563564] br-lan: port 4(phy0-ap0) entered forwarding state 
 +[   15.569432] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready 
 +[   15.768200] nss-dp 3a001400.dp3 lan1: PHY Link up speed: 10 
 +[   15.809133] br-lan: port 1(lan1) entered blocking state 
 +[   15.809181] br-lan: port 1(lan1) entered forwarding state 
 +[   16.077799] br-lan: port 5(phy1-ap0) entered blocking state 
 +[   16.077852] br-lan: port 5(phy1-ap0) entered disabled state 
 +[   16.082492] device phy1-ap0 entered promiscuous mode 
 +[   16.087845] br-lan: port 5(phy1-ap0) entered blocking state 
 +[   16.092990] br-lan: port 5(phy1-ap0) entered forwarding state 
 +[   16.100283] device phy1-ap0 left promiscuous mode 
 +[   16.104298] br-lan: port 5(phy1-ap0) entered disabled state 
 +[   16.159550] br-lan: port 5(phy1-ap0) entered blocking state 
 +[   16.159593] br-lan: port 5(phy1-ap0) entered disabled state 
 +[   16.164227] device phy1-ap0 entered promiscuous mode 
 +[   16.169717] br-lan: port 5(phy1-ap0) entered blocking state 
 +[   16.174704] br-lan: port 5(phy1-ap0) entered forwarding state 
 +[   16.279740] br-lan: port 6(phy2-ap0) entered blocking state 
 +[   16.279798] br-lan: port 6(phy2-ap0) entered disabled state 
 +[   16.284384] device phy2-ap0 entered promiscuous mode 
 +[   16.289846] br-lan: port 6(phy2-ap0) entered blocking state 
 +[   16.294904] br-lan: port 6(phy2-ap0) entered forwarding state 
 +[   16.302151] device phy2-ap0 left promiscuous mode 
 +[   16.306170] br-lan: port 6(phy2-ap0) entered disabled state 
 +[   16.369150] br-lan: port 6(phy2-ap0) entered blocking state 
 +[   16.369190] br-lan: port 6(phy2-ap0) entered disabled state 
 +[   16.373729] device phy2-ap0 entered promiscuous mode 
 +[   16.379212] br-lan: port 6(phy2-ap0) entered blocking state 
 +[   16.384299] br-lan: port 6(phy2-ap0) entered forwarding state 
 +[   16.417986] br-lan: port 5(phy1-ap0) entered disabled state 
 +[   16.418281] br-lan: port 6(phy2-ap0) entered disabled state 
 +[   16.495649] IPv6: ADDRCONF(NETDEV_CHANGE): phy2-ap0: link becomes ready 
 +[   16.495819] br-lan: port 6(phy2-ap0) entered blocking state 
 +[   16.501090] br-lan: port 6(phy2-ap0) entered forwarding state 
 +[   16.550084] br-lan: port 7(phy2-ap1) entered blocking state 
 +[   16.550134] br-lan: port 7(phy2-ap1) entered disabled state 
 +[   16.554735] device phy2-ap1 entered promiscuous mode 
 +[   16.561753] br-lan: port 7(phy2-ap1) entered blocking state 
 +[   16.565247] br-lan: port 7(phy2-ap1) entered forwarding state 
 +[   16.669748] IPv6: ADDRCONF(NETDEV_CHANGE): phy2-ap1: link becomes ready 
 +[   27.208107] nss-dp 3a001600.dp4 lan2: PHY Link up speed: 1000 
 +[   27.208196] br-lan: port 2(lan2) entered blocking state 
 +[   27.212851] br-lan: port 2(lan2) entered forwarding state 
 +[   33.127935] l11: disabling 
 +[   79.940054] IPv6: ADDRCONF(NETDEV_CHANGE): phy1-ap0: link becomes ready 
 +[   79.940255] br-lan: port 5(phy1-ap0) entered blocking state 
 +[   79.945489] br-lan: port 5(phy1-ap0) entered forwarding state</nowiki></WRAP> 
 + 
 +</tabbox>
  
 ===== Factory mode ===== ===== Factory mode =====
Line 1742: Line 2221:
 ===== Tags ===== ===== Tags =====
 [[meta:tags|How to add tags]] [[meta:tags|How to add tags]]
-{{tag>ipq8071 256flash 512ram MU-MIMO ipq807x 802.11ax u-boot QCN5024 QCN5054 GigabitEthernet 4port 4core CortexA53 wifi6 4x4 8x8 TxBF serial VLAN QPF4288 QPF4588 TXPA dual_firmware 12v_powered}}+{{tag>ipq807x ipq8071 256nand 512ram 4port GigabitEthernet 0USB MU-MIMO wifi6 802.11ax u-boot QCN5024 QCN5054 QCA9889 QCA8075 4core CortexA53 4x4 8x8 TxBF serial VLAN QPF4288 QPF4588 TXPA dual_firmware 12v_powered}}
  
  • Last modified: 2024/08/20 09:00
  • by docnielsen