Xiaomi Wifi Router 3G - 18.06.X / feedback and help

My suggestion would be to flash the latest 18.06 snapshot.
It includes LUCI and has more up to date drivers. Flash the sysupgrade.tar file.

1 Like

Does anyone have problems upgrading OpenWRT 18.06.2 to a new snapshot release?

"root@OpenWrt-AP:/tmp# sysupgrade -v /tmp/openwrt-ramips-mt7621-xiaomi_mir3g-squashfs-sysupgrade.bin
Invalid sysupgrade file.
Image check 'platform_check_image' failed."

I can see there's are difference in filenames, the new snapshot now contains "xiaomi_mir3g" where as the previous versions always were "mir3g".

Can I safely use -F (force) or should I flash the kernel/rootfs as if it's a new install?

The difference in image names for snapshot release should be caused by the patches from March this year. Git source - ramips: Xiaomi MIR3G: detect board name from DTS
Patches are changing board name from mir3g to xiaomi,mir3g and LED colors.

1 Like

For anyone who ask about Wifi driver
, Driver wifi on Openwrt Trunk May 2019 so terrible. Wifi signal weak, and perfomance is really low and unstable.
Best wifi dirver is Pandorabox Firmware( in only version 12.2018).

How did you install pandorabox? was it through openwrt or through some different procedure?

Instruction here:(russian language, use chrome to translate)

And to return the stock of this version, how do we do the process?

Stock firmware: https://openwrt.org/toh/xiaomi/mir3g

1 Like

Yes, it seems it's quite safe to use sysupgrade -F, met no issues myself.

1 Like

I got my 3G today and have managed to flash OpenWrt. I tried to flash openwrt-ramips-mt7621-xiaomi_mir3g-squashfs-sysupgrade.bin from https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/, but discovered that Luci would not accept the file. I then successfully flashed openwrt-ramips-mt7621-mir3g-squashfs-sysupgrade.tar from
http://downloads.openwrt.org/releases/18.06-SNAPSHOT/targets/ramips/mt7621 after seeing the link in this thread.

Why are .bin files being generated daily when they can't be flashed in Luci? And why is there a non-standard snapshot folder with different files?

Read earlier posts in this thread. That's because snapshots are being built with different board name. You have to manually sysupgrade -F with .bin you tried to flash thru Luci. Latter updates will flash thru Luci just fine.

1 Like

There is a difference between the Snapshots-version (xiaomi-mir3g) and the 18.06-SNAPSHOT version (mir3g).
The first is for a future release of OpenWRT (major release 19.?) with ongoing developments.
The 18.06-SNAPSHOT version is for fixes for the 18.06 release. OpenWRT version 18.06.3 is released in the near future.

The WiFi driver for the MT7621 has been improved in the 18.06-SNAPSHOT (between 18.06.2 and now), but normally there are not a lot of big changes in an already released major version (18.06).

1 Like

My mi router 3G is bricked.
I have soldered serial pinouts and managed to install breed bootloader (in case needed I can revert to stock) in order to have more options but it cant be repaired.
I have tried everything mentioned about debricking in this forum and at https://openwrt.org/toh/xiaomi/mir3g and without success.
The strange think is that the reset button is not responding (not resetting the router) but the button is not damaged since I use it with breed to interrupt autoboot.

My bootlog is the following:

Boot and Recovery Environment for Embedded Devices
Copyright (C) 2018 HackPascal <hackpascal@gmail.com>
Build date 2018-12-29 [git-135bed9]
Version 1.1 (r1266)

Platform: MediaTek MT7621A ver 1, eco 3
Board: Xiaomi R3G
Clocks: CPU: 880MHz, DDR: 1200MHz, Bus: 220MHz, Ref: 40MHz
Environment variables @ 00060000 on flash bank 0, size 00020000
Flash: ESMT NAND 128MiB 3.3V 8-bit (128MB) on mt7621-nfi.0
mt7621-nfi.0: Found Fact BBT at block 1023 (offset 0x07fe0000)
rt2880-eth: MAC address from EEPROM is invalid, using default settings.
rt2880-eth: Using MAC address 00:0c:43:00:00:01
eth0: MediaTek MT7530 Gigabit switch

Network started on eth0, inet addr, netmask

Press any key to interrupt autoboot ... 0

Trying to boot firmware from 0x00200000 in flash bank 0 ...
Reading data into memory ...
U-Boot firmware image header detected.
    Image Name:   MIPS OpenWrt Linux-3.10.14
    Data Size:    3433332 Bytes
    Load Address: 80001000
    Entry Point:  80468ce0
Uncompressing data (LZMA) ... done.
Flushing cache ... done.

Starting kernel at 0x80468ce0...

LINUX started...


SDK 5.0.S.0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Linux version 3.10.14 (jenkins@JenkinsServer) (gcc version 4.8.5 (crosstool-NG crosstool-ng-1.22.0) ) #1 SMP Mon Apr 17 17:08:55 CST 2017
[    0.000000]
[    0.000000]  The CPU feqenuce set to 880 MHz
[    0.000000] GCMP present
[    0.000000] CPU0 revision is: 0001992f (MIPS 1004Kc)
[    0.000000] Software DMA cache coherency
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 10000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00000000-0x0bffffff]
[    0.000000]   Normal   [mem 0x0c000000-0x0fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x0fffffff]
[    0.000000] Detected 3 available secondary CPU(s)
[    0.000000] Primary instruction cache 32kB, 4-way, VIPT, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] PERCPU: Embedded 7 pages/cpu @8c204000 s6848 r8192 d13632 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyS1,115200n8 root=/dev/mtdblock5
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Writing ErrCtl register=00000602
[    0.000000] Readback ErrCtl register=00000602
[    0.000000] allocated 524288 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Memory: 251564k/262144k available (4561k kernel code, 10580k reserved, 1208k data, 1584k init, 0k highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:128
[    0.000000] console [ttyS1] enabled
[    0.130000] Calibrating delay loop... 563.20 BogoMIPS (lpj=2816000)
[    0.190000] pid_max: default: 32768 minimum: 301
[    0.190000] Mount-cache hash table entries: 512
[    0.200000] Initializing cgroup subsys memory
[    0.200000] launch: starting cpu1
[    0.200000] launch: cpu1 gone!
[    0.200000] CPU1 revision is: 0001992f (MIPS 1004Kc)
[    0.200000] Primary instruction cache 32kB, 4-way, VIPT, linesize 32 bytes.
[    0.200000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.200000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.260000] Synchronize counters for CPU 1: done.
[    0.270000] launch: starting cpu2
[    0.270000] launch: cpu2 gone!
[    0.270000] CPU2 revision is: 0001992f (MIPS 1004Kc)
[    0.270000] Primary instruction cache 32kB, 4-way, VIPT, linesize 32 bytes.
[    0.270000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.270000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.330000] Synchronize counters for CPU 2: done.
[    0.340000] launch: starting cpu3
[    0.340000] launch: cpu3 gone!
[    0.340000] CPU3 revision is: 0001992f (MIPS 1004Kc)
[    0.340000] Primary instruction cache 32kB, 4-way, VIPT, linesize 32 bytes.
[    0.340000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.340000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.400000] Synchronize counters for CPU 3: done.
[    0.410000] Brought up 4 CPUs
[    0.410000] devtmpfs: initialized
[    0.410000] NET: Registered protocol family 16
[    0.700000] release PCIe RST: RALINK_RSTCTRL = 7000000
[    0.710000] PCIE PHY initialize
[    0.710000] ***** Xtal 40MHz *****
[    0.710000] start MT7621 PCIe register access
[    1.290000] RALINK_RSTCTRL = 7000000
[    1.290000] RALINK_CLKCFG1 = 73ffeff8
[    1.300000]
[    1.300000] *************** MT7621 PCIe RC mode *************

Every firmware I try its hangs at "[ 1.300000] *************** MT7621 PCIe RC mode *************
In case needed I have eeprom programmer, serial adapter.
Any help will be appreciated.

when i upgrade 18.06.4 Wifi auto disconnect


Thu Jul 11 16:04:19 2019 kern.info kernel: [29335.249163] mt76x2e 0000:02:00.0: Firmware Version: 0.0.00
Thu Jul 11 16:04:19 2019 kern.info kernel: [29335.249183] mt76x2e 0000:02:00.0: Build: 1
Thu Jul 11 16:04:19 2019 kern.info kernel: [29335.249191] mt76x2e 0000:02:00.0: Build Time: 201507311614____
Thu Jul 11 16:04:19 2019 kern.info kernel: [29335.267592] mt76x2e 0000:02:00.0: Firmware running!
Thu Jul 11 16:04:19 2019 kern.info kernel: [29335.277584] ieee80211 phy1: Hardware restart was requested
root@OpenWrt:~# cat /etc/openwrt_release
DISTRIB_DESCRIPTION='OpenWrt 18.06.4 r7808-ef686b7292'
root@OpenWrt:~# cat /etc/openwrt_version
root@OpenWrt:~# opkg list-installed|grep mt76
kmod-mt76-core - 4.14.131+2019-03-23-a5f5605f-1
kmod-mt7603 - 4.14.131+2019-03-23-a5f5605f-1
kmod-mt76x02-common - 4.14.131+2019-03-23-a5f5605f-1
kmod-mt76x2 - 4.14.131+2019-03-23-a5f5605f-1
kmod-mt76x2-common - 4.14.131+2019-03-23-a5f5605f-1

Hey guys. I am trying to install OpenWRT but when running following command:
mtd write openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1
I get error:
Couldn't open image file: openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-kernel1.bin!
What may be a problem?

root@XiaoQiang:/extdisks/sda1# ls -la
drwxrwxrwx    1 root     root          4096 Jan  1  1970 .
drwxr-xr-x    3 root     root            60 Oct 29  2018 ..
drwxrwxrwx    1 root     root          4096 Oct 29  2018 .systemconfig
drwxrwxrwx    1 root     root          4096 Jul 12 23:28 System Volume Information
drwxrwxrwx    1 root     root          4096 Oct 29  2018 TDDOWNLOAD
drwxrwxrwx    1 root     root          4096 Jul 13 06:43 ThunderDB
-rwxrwxrwx    1 root     root          4464 Jul 12 23:21 miwifi_ssh.bin
-rwxrwxrwx    1 root     root       1838602 Jul 13 05:59 openwrt-18.06.4-ramips-mt7621-mir3g-squashfs-kernel1.bin
-rwxrwxrwx    1 root     root       3538944 Jul 13 06:00 openwrt-18.06.4-ramips-mt7621-mir3g-squashfs-rootfs0.bin
drwxrwxrwx    1 root     root          4096 Oct 29  2018 xiaomi_config
drwxrwxrwx    1 root     root          4096 Oct 29  2018 ??
drwxrwxrwx    1 root     root          4096 Oct 29  2018 ??
root@XiaoQiang:/extdisks/sda1# mtd write openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1
Couldn't open image file: openwrt-18.06.2-ramips-mt7621-mir3g-squashfs-kernel1.bin!

Welcome. Please try to avoid hijacking or reusing existing topics if they are not about the exact issue you have (or a strongly related one), particularly when it's a long topic that had too many posts already.


You are using the wrong file name. Your file is 18.06.04 while your command looks for 18.06.02.

If your problem isn't solved, please start a new topic.


Does anyone tried WPA3 with Mi R3G? (Using 18.06.04)


I received my Router Today, but the one I get have no USB Port.
Is this the Old Version?

I had a Problem with flashing the Developer Software, when I upload the firmware I get "Verification failed" and after a few trys sometimes the 100% Upload "stay there for 5 Minutes" and then I get a error "Upgrade Failed System Error or root partition full"

Anyone has an idea what I can do? I reset the router a few times but every time the same. The Softwareversion on the router is 2.28.8

Your version without USB is the V2 of R3G and is currently not supported by OpenWRT.
There is a patch on the mailing list, but flashing is much harder and requires a hw programmer as of actual state...

Checkout this thread:

That's a real PITA. I have an "old" 3G, which is not so simple to flash, either, but its worth because of all the great aspects of the 3G: Powerful, cool design, good price.
And now XIAOMI makes it even more difficult to flash the "new" 3G.
One could imagine, there is some type of "Trojan" in the org firmware, XIAOMI (?) has to keep alive ...