| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| inbox:toh:xiaomi:xiaomi_mi_router_4a_gigabit_edition [2022/10/04 10:45] – gigabit v2 warning. checking if correct frollic | inbox:toh:xiaomi:xiaomi_mi_router_4a_gigabit_edition [2024/02/12 13:41] – [Hardware Highlights] revert Version change bill888 |
|---|
| <WRAP important 100%>**Warning** Xiaomi is currently shipping Mi Router 4A Gigabit Edition devices without proper shielding since 2020. Be aware that those might cause problems due to radio interference. Nevertheless, it's flashable.</WRAP> | <WRAP important 100%>**Warning** Xiaomi is currently shipping Mi Router 4A Gigabit Edition devices without proper shielding since 2020. Be aware that those might cause problems due to radio interference. Nevertheless, it's flashable.</WRAP> |
| |
| <WRAP important 100%>**Warning 03/2022** OpenWrt will not work on units with the Eon or CFeon flash chips at this time. [[:inbox:toh:xiaomi:xiaomi_mi_router_4a_gigabit_edition#unable_to_install_openwrt_to_new_r4a_gigabit_edition|Click link]] There are no reported issues with Winbond or GigaDevice flash chips fitted to earlier manufactured units. | <WRAP important 100%>**Warning 05/2022** Some differences have been observed with chinese model made in Sept 2021. Serial input may require modification [[https://forum.openwrt.org/t/observations-on-xiaomi-mir4ag-newer-firmware/127373|Click Link]] </WRAP> |
| Other differences have also been observed with chinese model made in Sept 2021 [[https://forum.openwrt.org/t/observations-on-xiaomi-mir4ag-newer-firmware/127373|Click Link]] </WRAP> | |
| |
| <WRAP important 100%>**Warning 10/2022** Xiaomi is currently shipping v2 of the 4A Gigabit Edition, it's identifiable by the name of the wifi - MiWiFi-R4AV2. This model **cannot** be flashed with Openwrt. | <WRAP important 100%>**Warning 10/2022** Xiaomi is currently shipping v2 of the 4A Gigabit Edition, it's identifiable by fw version 2.30.20, and the name when assigned an IP from a DHCP (not your ISPs) via the WAN port, MiWiFi-R4AV2. This model **cannot** be flashed with Openwrt. [[https://forum.openwrt.org/t/support-for-xiaomi-router-ac1200-rb02/124962|Click Link]] |
| [[https://forum.openwrt.org/t/support-for-xiaomi-router-ac1200-rb02/124962|Click Link]] | |
| </WRAP> | </WRAP> |
| |
| {{media:xiaomi:xiaomi_mi_router_4a_gigabit_edition_transparent.png?200|Xiaomi Mi Router 4A Gigabit Edition}} | {{media:xiaomi:xiaomi_mi_router_4a_gigabit_edition_transparent.png?200|Xiaomi Mi Router 4A Gigabit Edition}} |
| |
| | ===== How to tell the different versions apart ===== |
| | There are multiple versions of the Xiaomi Mi Router 4A, International and Chinese and the method used to install OpenWRT differs. The SKU printed on the box differs according to the year of manufacture. This table is an intent to list them all so as to avoid bricking. |
| | |
| | ^ Model | Mi Router 4A (MIR4A) || | | | | |
| | ^ <color #ffaec9>Alternate model name</color> | R4AC || R4AG |||| |
| | ^ Version | 100M || Gigabit |||| |
| | ^ Target market | [[https://openwrt.org/toh/xiaomi/mi_router_4a_mir4a_100m#photos|Chinese]] | //International?// | Chinese | International | International | ¿? | |
| | ^ SKU | DVB4222CN | DVB4230GL | DVB4218CN | DVB4224GL | ¿? | ¿? | |
| | ^ Firmware | | | | 2.28.132 | [[https://forum.openwrt.org/t/observations-on-xiaomi-mir4ag-newer-firmware/127373/3|2.28.84]] | 2.20.30 | |
| | ^ Firmware language | | English | Chinese | //English?// | | | |
| | ^ Label language | | English | Chinese | //English?// | | | |
| | ^ PCB marking code | M49 R0101 | ¿? | M43 R0101 | | [[https://forum.openwrt.org/t/observations-on-xiaomi-mir4ag-newer-firmware/127373/3|M43 R0201]] | | |
| | ^ Year available | //[[https://openwrt.org/toh/xiaomi/mi_router_4a_mir4a_100m#info|2019]]?// | | 2019 | | 2021 | //2022?// | |
| | ^ Other notes | | | 2019 model is shielded | unshielded since 2020 | | | |
| ===== OpenWrt support ===== | ===== OpenWrt support ===== |
| |
| ---- datatable ---- | <!-- ToH: { |
| cols : Brand, Model, Versions, Supported Current Rel, OEM device homepage URL_url, Forum Search_search-forums, Device Techdata_pageid | "source": "json", |
| headers : Brand, Model, Version, Current Release, OEM Info, Forum Search, Technical Data | "dom": "t", |
| align : c,c,c,c,c,c,c | "paging": false, |
| filter : Model=Mi Router 4A (MIR4A) | "shownColumns": ["brand", "model", "version", "supportedcurrentrel", "oemdevicehomepageurl", "forumsearch", "deviceid"], |
| filter : Version=Gigabit Edition | "filterColumns": {"model": "^Mi Router 4A \\(MIR4A\\)$", "version": "^Gigabit Edition$"} |
| ---- | } --> |
| | |
| | |
| |
| | The device is the same as MIR3G v2 (which is supported as per the [[https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=522d5ff42835f7ad01c090b9ea1863f5d56b91d3|Git Commit]]), but explicit support was added in commit [[commit>?p=openwrt/openwrt.git;a=commit;h=a51e46e543ef2e923fb97fb092d04355dfca7d7d|a51e46e543ef2e923fb97fb092d04355dfca7d7d]]. |
| |
| | The new EON/cFeon EN25QX128A chip support was added by "[[commit>?p=openwrt/openwrt.git;a=commit;h=d7876daf6552a9f39bd5e0bf50b554e9406ec275|generic: add support for EON EN25QX128A spi nor flash]]". It is supported starting from 22.03.3 and 21.02.6 stable releases. |
| |
| |
| The device is the same as MIR3G v2 and is supported as per the [[https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=522d5ff42835f7ad01c090b9ea1863f5d56b91d3|Git Commit]]. | |
| |
| For installing OpenWrt there are the following methods: | For installing OpenWrt there are the following methods: |
| * **Using a firmware exploit** (Does not require extra hardware): for instructions follow the [[https://github.com/acecilia/OpenWRTInvasion|OpenWRTInvasion repository]]. | * **Using a firmware exploit** (Does not require extra hardware): for instructions follow the [[https://github.com/acecilia/OpenWRTInvasion|OpenWRTInvasion repository]]. |
| <WRAP important 100%> **Warning.!!** snapshot build may brick your router if you use this method, You need to custom firmware server to older or more stable build.</WRAP> | <WRAP important 100%> **Warning.!!** snapshot build may brick your router if you use this method, You need to custom firmware server to older or more stable build.</WRAP> |
| A Video guide for this method can be found here:[[https://youtu.be/VxzEvdDWU_s|External Link]] | A Video guide for this method can be found here:[[https://youtu.be/SLbkce-M2nE|External Link]] |
| |
| * Using a chip programmer (Requires extra hardware): requires reading the stock firmware directly from the SPI flash chip (e.g., using a chip programmer), modifying the flash memory dump and writing it back to the SPI flash. For instructions follow [[https://forum.openwrt.org/t/xiaomi-mi-router-4a-gigabit-edition-r4ag-r4a-gigabit-fully-supported-but-requires-overwriting-spi-flash-with-programmer/36685|this post on the OpenWrt forum]]. | * Using a chip programmer (Requires extra hardware): requires reading the stock firmware directly from the SPI flash chip (e.g., using a chip programmer), modifying the flash memory dump and writing it back to the SPI flash. For instructions follow [[https://forum.openwrt.org/t/xiaomi-mi-router-4a-gigabit-edition-r4ag-r4a-gigabit-fully-supported-but-requires-overwriting-spi-flash-with-programmer/36685|this post on the OpenWrt forum]]. |
| </code> | </code> |
| | |
| ===== Notes on firmware exploit procedure ===== | ==== Installation via Software exploit ==== |
| | |
| | The OpenWRTInvasion is an exploit that allows to get a shell access to the router. You will be able to connect with Telnet, SSH and FTP. Then you can upload OpenWrt image and overwrite the stock firmware. |
| | |
| | Find the instructions in the [[https://github.com/acecilia/OpenWRTInvasion|OpenWRTInvasion repository]] and a video guide can be found here: [[https://youtu.be/VxzEvdDWU_s|Installing OpenWrt on the Xiaomi 4A, 4C, 3Gv2, 4Q, miWifi 3C and debrick method OLD VERSION]] or a new version [[https://www.youtube.com/watch?v=SLbkce-M2nE|Installing OpenWrt on the Xiaomi 4A, 4C, 3Gv2, 4Q, miWifi 3C and debrick method New 2022]]. |
| | |
| | === Notes on firmware exploit procedure === |
| | Some instructions that may help you: |
| |
| * To get stok | * To get stok |
| * Reset router if necessary to restore default settings. | * Reset router if necessary to restore default settings. |
| * Connect computer to ethernet LAN port. | * Connect computer to Ethernet LAN port. |
| * connect xiaomi router to the internet with the wan port | * Connect Xiaomi router to the internet with the wan port |
| * enter 192.168.31.1 | * Open in a browser http://192.168.31.1 |
| * configure device | * Configure device |
| * select language, accept terms | * select language, accept terms |
| * Enter a wifi password (that is the admin password) | * Enter a wifi password (that is the admin password) |
| * go to 192.168.31.1 and enter the root password | * go to http://192.168.31.1 and enter the root password |
| * when you are in, your link changed and now it have a part with something similar to ''stok=3700b146c87e45fea51170f87f47d34c'' | * when you are in, your link changed and now it have a part with something similar to ''stok=3700b146c87e45fea51170f87f47d34c'' |
| * ''git clone https://github.com/acecilia/OpenWRTInvasion'' | * ''git clone https://github.com/acecilia/OpenWRTInvasion'' |
| |
| <code>Could not open mtd device: OS1 | <code>Could not open mtd device: OS1 |
| Can't open device for writing! </code> | Can't open device for writing!</code> |
| |
| You can run ''cat /proc/mtd'' to check the flash layout. In this case, your router is having a different flash layout and you should not proceed with the installation using mtd. | You can run ''cat /proc/mtd'' to check the flash layout. In this case, your router is having a different flash layout and you should not proceed with the installation using mtd. |
| ===== Installation ===== | ===== Installation ===== |
| /* stable release table - used instead of previous snapshot table */ | /* stable release table - used instead of previous snapshot table */ |
| ---- datatable ---- | <!-- ToH: { |
| cols : Model, Versions, Supported Current Rel, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url, Device Techdata_pageid | "source": "json", |
| headers : Model, Version, Current Release, Firmware OpenWrt Install, Firmware OpenWrt Upgrade, Firmware OEM Stock, Technical Data | "dom": "t", |
| align : c,c,c | "paging": false, |
| filter : Brand=Xiaomi | "rotate": true, |
| filter : Model=Mi Router 4A (MIR4A) | "shownColumns": ["model", "version", "supportedcurrentrel", "firmwareopenwrtinstallurl", "firmwareopenwrtupgradeurl", "firmwareoemstockurl", "deviceid"], |
| filter : Version=Gigabit Edition | "filterColumns": {"brand": "^Xiaomi$", "model": "^Mi Router 4A \\(MIR4A\\)$", "version": "^Gigabit Edition$"} |
| ---- | } --> |
| |
| **OpenWrt Factory Firmware:** Use this file the first time you flash OpenWrt onto the router - i.e. use with the above mentioned exploit / install method. \\ | **OpenWrt Factory Firmware:** Use this file the first time you flash OpenWrt onto the router - i.e. use with the above mentioned exploit / install method. \\ |
| **OEM Stock Firmware:** The above mentioned exploit provides a stock firmware image in its repository.\\ | **OEM Stock Firmware:** The above mentioned exploit provides a stock firmware image in its repository.\\ |
| |
| | ==== Flash Layout ==== |
| | This is the Flash layout under the 2.28.62 OEM firmware, after using OpenWRTInvasion to get //root// access. |
| | |
| | ^ Xiaomi Mi Router 4A (100M, Chinese version) Flash Layout ||||||||||| |
| | ^ Layer0 | [[wp>Serial Peripheral Interface Bus|spi]]0.0: [[https://pdf1.alldatasheet.com/datasheet-pdf/download/1151510/GIGADEVICE/GD25Q127CSIG.html|25Q127CSIG]] 16384KiB |||||||||| |
| | ^ Layer1 | mtd0 **//ALL//** 16384KiB |||||||||| |
| | ^ Layer2 | mtd1 **//Bootloader//** 192KiB | mtd2 **//Config//** 64KiB | mtd3 **//Bdata//** 64KiB | mtd4 **//Factory//** 64KiB | mtd5 **//crash//** 64KiB | mtd6 **//cfg_bak//** 64KiB | mtd7 **//overlay//** 1024KiB | mtd8 **//OS1//** 13312KiB || mtd10 **//disk//** 1536KiB | |
| | | **Layer2 boundaries** | 0x0000000-0x0030000 | 0x0030000-0x0040000 | 0x0040000-0x0050000 | 0x0050000-0x0060000 | 0x0060000-0x0070000 | 0x00070000-0x00080000 | 0x00080000-0x00180000 | 0x00180000-0x00e80000 || 0x00e80000-0x01000000 | |
| | ^ Layer3 | | | | | | | | //firmware_partition// 1856KiB | mtd9 **//rootfs//** 11456KiB | | |
| | | **Layer3 boundaries** | | | | | | | | 0x0180000-0x0350000 | 0x0350000-0x0e80000 | | |
| | ^ Size in KiB | 192KiB | 64KiB | 64KiB | 64KiB | 64KiB | 64KiB | 1024KiB | 1856KiB | 11456KiB | 1536KiB | |
| | ^ Name | **//Bootloader//** | **//Config//** | **//Bdata//** | **//Factory//** | **//crash//** | **//cfg_bak//** | **//overlay//** | **//firmware_partition//** | **//rootfs//** | **//disk//** | |
| | ^ <color magenta>mountpoint</color> | //none// | //none// | //none// | //none// | //none// | //none// | ''/etc''''/data''''/mnt'' | //none// | ''/'' | | |
| | ^ filesystem | //unknown// | //unknown// | //unknown// | //unknown// | //unknown// | //unknown// | [[docs:techref:filesystems#JFFS2]] | | [[docs:techref:filesystems#SquashFS]] | [[docs:techref:filesystems#JFFS2]] | |
| | |
| | ***Note*** The partitions "mtd1 **//config//**", "mtd5 **//caldata//**", "mtd6 **//unkown//**" and "mtd8 **//caldata_copy//**" contain vendor specific raw (without filesystem) config values about your router, like WiFi calibration data, MAC addresses, etc. It's a good idea to [[docs:guide-user:installation:generic.backup|make a backup from them]]. |
| | |
| | ***Note2*** You can check mtd partitions of your router yourself by using commands "''cat /proc/mtd''" and "''dmesg''". Refer to [[https://www.mail-archive.com/kernelnewbies@nl.linux.org/msg02774.html|this link]]. |
| ===== Debricking ===== | ===== Debricking ===== |
| Using Mi Wifi Repair tool: | Using Mi Wifi Repair tool: |
| Hoddys Guide | Hoddys Guide |
| [[https://hoddysguides.com/xiaomi-debrick-tools-all/#google_vignette|Link to Hoddys Guide]] | [[https://hoddysguides.com/xiaomi-debrick-tools-all/#google_vignette|Link to Hoddys Guide]] |
| [[https://www.youtube.com/watch?v=VxzEvdDWU_s|Youtube guide here]] | [[https://youtu.be/SLbkce-M2nE|Youtube guide here]] |
| |
| Zorro Router debrick method: [[https://forum.openwrt.org/t/xiaomi-mi-router-4a-gigabit-edition-r4ag-r4a-gigabit-fully-supported-but-requires-overwriting-spi-flash-with-programmer/36685/678|forum info here]] | Zorro Router debrick method: [[https://forum.openwrt.org/t/xiaomi-mi-router-4a-gigabit-edition-r4ag-r4a-gigabit-fully-supported-but-requires-overwriting-spi-flash-with-programmer/36685/678|forum info here]] |
| |
| ===== Hardware Highlights ===== | ===== Hardware Highlights ===== |
| ---- datatable ---- | <!-- ToH: { |
| cols : Model, Versions, CPU, CPU MHz, CPU Cores_numcores_,Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4GHz, WLAN 5.0GHz, Ethernet 100M ports_, Ethernet Gbit ports_, Modem, USB ports_ | "source": "json", |
| header : Model, Version,SoC,CPU MHz,CPU Cores,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,100M ports,Gbit ports,Modem,USB | "dom": "t", |
| align : c,c,c,c,c,c,c,c,c,c,c,c,c | "paging": false, |
| filter : Model=Mi Router 4A (MIR4A) | "rotate": true, |
| filter : Version=Gigabit Edition | "shownColumns": ["model", "version", "cpu", "cpumhz", "cpucores", "flashmb", "rammb", "wlanhardware", "wlan24ghz", "wlan50ghz", "ethernet100mports", "ethernet1gports", "modem", "usbports"], |
| ---- | "filterColumns": {"model": "^Mi Router 4A \\(MIR4A\\)$", "version": "^Gigabit Edition$"} |
| | } --> |
| |
| |
| Here are pictures of the **chinese** version which ships with chinese language firmware v2.x. The earliest **Global** international model is labelled the '**Giga**' version (SKU: DVB4224GL, Model R4A) which shipped with v2.28.132, upgradable to v3.0.x. A revised Global international model is labelled the '**Gigabit**' version shipped with v3.x firmware. | Here are pictures of the **chinese** version which ships with chinese language firmware v2.x. The earliest **Global** international model is labelled the '**Giga**' version (SKU: DVB4224GL, Model R4A) which shipped with v2.28.132, upgradable to v3.0.x. A revised Global international model is labelled the '**Gigabit**' version shipped with v3.x firmware. |
| |
| ^ Retail box (chinese) | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-edition-case.jpg|Xiaomi Mi Router 4A Gigabit Edition retail box}} | | ^ Retail box (chinese) | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-edition-case.jpg|Xiaomi Mi Router 4A Gigabit Edition retail box}} | |
| ^ Top view | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-edition-top.jpg|Xiaomi Mi Router 4A Gigabit Edition top view}} | | ^ Top view | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-edition-top.jpg|Xiaomi Mi Router 4A Gigabit Edition top view}} | |
| ^ Rear view | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-edition-back.jpg|Xiaomi Mi Router 4A Gigabit Edition rear view}} | | ^ Rear view | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-edition-back.jpg|Xiaomi Mi Router 4A Gigabit Edition rear view}} | |
| ^ Bottom view (chinese) | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-edition-bottom.jpg|Xiaomi Mi Router 4A Gigabit Edition bottom view}} | | ^ Bottom view (chinese) | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-edition-bottom.jpg|Xiaomi Mi Router 4A Gigabit Edition bottom view}} | |
| | Label (R4A Giga) | {{media:xiaomi:xiaomi-mi-router-4a-giga-global-label.jpg?600|Xiaomi Mi Router 4A Giga label view}} | | ^ Label (R4A Giga, first international version) | {{media:xiaomi:xiaomi-mi-router-4a-giga-global-label.jpg?600|Xiaomi Mi Router 4A Giga label view}} | |
| | Label (R4A Gigabit) | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-global-label.jpg?600|Xiaomi Mi Router 4A Giga label view}} | | ^ Label (R4A Gigabit, revised International version) | {{media:xiaomi:xiaomi-mi-router-4a-gigabit-global-label.jpg?600|Xiaomi Mi Router 4A Giga label view}} | |
| |
| //**BOARD**// | //**BOARD**// |
| |
| If the ethernet plugs will not latch properly into the RJ45 sockets, the solution is to modify the case as shown below\\ | If the ethernet plugs will not latch properly into the RJ45 sockets, the solution is to modify the case as shown below\\ |
| {{:media:xiaomi:4ag-rj45mod.jpg?400|}}\\ | {{media:xiaomi:4ag_rj45mod.jpg?400|}}\\ |
| To prevent accidental damage to the 'fragile' blue & black RJ45 sockets, the PCB can be slid slightly to one side, and the | To prevent accidental damage to the 'fragile' blue & black RJ45 sockets, the PCB can be slid slightly to one side, and the |
| sockets taped over to block dust. Use a square file to carefully carve out the notch in the white ABS case. | sockets taped over to block dust. Use a square file to carefully carve out the notch in the white ABS case. |
| |
| ==== Alternative firmware for R4A Gigabit ==== | ==== Alternative firmware for R4A Gigabit ==== |
| <WRAP important 100%>**<color #ed1c24>Warning: Use at your own risk.</color>**</WRAP> | <WRAP important 100%>**<color #ed1c24>Warning: Use at your own risk. |
| | |
| | Do not install Padavan firmware on later models with Eon or CFeon flash chips. Also not for latest v2 model. Padavan has been tested on very early 'Giga' 2019 model. </color>**</WRAP> |
| |
| For a quite long time, there is an alternative firmware called "**Padavan**". | For a quite long time, there is an alternative firmware called "**Padavan**". |
| |
| ==== Unable to install OpenWrt to new R4A 'Gigabit' edition ==== | ==== Unable to install OpenWrt to new R4A 'Gigabit' edition ==== |
| | |
| | **<color #ed1c24>Update (2023)</color>**: EON EN25QX128 flash chip is supported starting from 22.03.3 and 21.02.6 stable releases. |
| | |
| [[https://forum.openwrt.org/t/xiaomi-r4a-gigabit-upgrade-to-squashfs-sysupgrade-bin-from-initramfs-kernel-bin/122334/25|New EON EN25QX128 flash chip found in Chinese Language firmware model]] | [[https://forum.openwrt.org/t/xiaomi-r4a-gigabit-upgrade-to-squashfs-sysupgrade-bin-from-initramfs-kernel-bin/122334/25|New EON EN25QX128 flash chip found in Chinese Language firmware model]] |
| [[https://forum.openwrt.org/t/xiaomi-4a-3-gigaport-cannot-flash-openwrt-21/122878|Second reported case found in Chinese Language firmware model]] [[https://forum.openwrt.org/t/new-xiaomi-4c-cannot-install-openwrt-flash-chip-changed-to-en25qx128a/|Same flash chip (EON EN25QX128A, ID 1c7118) found in a new 4C]] | [[https://forum.openwrt.org/t/xiaomi-4a-3-gigaport-cannot-flash-openwrt-21/122878|Second reported case found in Chinese Language firmware model]] [[https://forum.openwrt.org/t/new-xiaomi-4c-cannot-install-openwrt-flash-chip-changed-to-en25qx128a/|Same flash chip (EON EN25QX128A, ID 1c7118) found in a new 4C]] |
| |
| [[https://github.com/openwrt/openwrt/issues/9442|Issue: 9442 - reporting issues with EON EN25QX128 and CFeon QH128A-104HIP flash chips.]] | [[https://github.com/openwrt/openwrt/issues/9442|Issue: 9442 - xiaomi-4a-gigabit-edition has a new flash which is EN25QX128@44Mhz cause a endless reboot]] |
| [[https://github.com/openwrt/openwrt/pull/9635|Add support for Eon flash chip]] | [[https://github.com/openwrt/openwrt/pull/9635|Add support for Eon flash chip]] |
| |