[FS#3960] Xiaomi MiWifi Nano 3C/ R3C/ R3L dts mismatch causes the device not to boot

OpenWrt Bugs openwrt-bugs at lists.openwrt.org
Sun Aug 1 11:38:00 PDT 2021


A new Flyspray task has been opened.  Details are below. 

User who did this - vamanea (vamanea) 

Attached to Project - OpenWrt/LEDE Project
Summary - Xiaomi MiWifi Nano 3C/ R3C/ R3L dts mismatch causes the device not to boot
Task Type - Bug Report
Category - Base system
Status - Unconfirmed
Assigned To - 
Operating System - All
Severity - Low
Priority - Very Low
Reported Version - openwrt-19.07
Due in Version - Undecided
Due Date - Undecided
Details - Supply the following if possible:
 - Device problem occurs on
Xiaomi MiWifi R3L
 - Software versions of OpenWrt/LEDE release, packages, etc.
OpenWrt v19.07.7
 - Steps to reproduce
1) From the Wiki at https://openwrt.org/toh/xiaomi/mir3c flash the sysupgrade image: http://downloads.openwrt.org/releases/19.07.7/targets/ramips/mt76x8/openwrt-19.07.7-ramips-mt76x8-miwifi-nano-squashfs-sysupgrade.bin
2) Device does not boot anymore

The problem is the dts MIWIFI-NANO.dts defines a incompatible layout of the flash, which ends up flashing OpenWrt to the wrong part of the flash.
The OEM partition layout is:

[    1.510000] 0x000000000000-0x000001000000 : "ALL"
[    1.510000] 0x000000000000-0x000000030000 : "Bootloader"
[    1.520000] 0x000000030000-0x000000040000 : "Config"
[    1.530000] 0x000000040000-0x000000050000 : "Bdata"
[    1.530000] 0x000000050000-0x000000060000 : "Factory"
[    1.540000] 0x000000060000-0x000000070000 : "crash"
[    1.550000] 0x000000070000-0x000000080000 : "cfg_bak"
[    1.550000] 0x000000080000-0x000000140000 : "overlay"
[    1.560000] 0x000000140000-0x0000008a0000 : "OS1"
[    1.610000] 0x0000002a0000-0x0000008a0000 : "rootfs"
[    1.610000] 0x0000008a0000-0x000001000000 : "OS2"

with emphasis on OS1 and OS2.

However MIWIFI-NANO.dts defines firmware partition as:

                        partition at 50000 {
                                compatible = "denx,uimage";
                                label = "firmware";
                                reg = ;


The bootloader will boot either OS1 or OS2 -> we get an unbootable device.

Now we have two similar devices, MiWifi Nano R1 and R3L/R3C with different partition layout but the wiki proposes to flash the same image: https://openwrt.org/toh/xiaomi/mir3c https://openwrt.org/toh/xiaomi/miwifi_nano I personally still use my R3L so I would propose we add a new device type that could cover R3L. 


More information can be found at the following URL:

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.

More information about the openwrt-bugs mailing list