Bricked Xiaomi Mi WiFi Router 3. Stuck in infinite loop

Tried to install OpenWRT on my Xiaomi Mi WiFi Router 3 and bricked it. So, I wanted to try recovering it and connected a TTL-USB dongle to it.

Then, there are these observations.

If I connect the PC to router but do not connect the router to the power, the serial console is empty.

If I connect the PC to router, and then connect the router to the power, the LED on the router does not turn on and the console is empty.

If I connect the router to the power, and then connect the PC to the router, the LED on the router turns on and the serial console shows me a log of something in the middle of the process. So I have to do this really fast to see what was going on.

Here is what I've captured:

Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
commandline uart_en=1 factory_mode=0 mem=128m
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 128

Starting kernel ...

[    0.000000] Linux version 4.14.89 (ador@ubuntu) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7365-95daf4c441)) #0 Tue Dec 18 17:25:50 2018
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[    0.000000] Linux version 4.14.89 (ador@ubuntu) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7365-95daf4c441)) #0 Tue Dec 18 17:25:50 2018
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[    0.000000] Linux version 4.14.89 (ador@ubuntu) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7365-95daf4c441)) #0 Tue Dec 18 17:25:50 2018
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6

And so on -- those last five lines are being repeated infinitively.

What's happening?

First confirm that you are using the proper logic levels with that adapter before connecting it again. Most current routers need no more than 3.3 V logic levels and 5 V TTL levels potentially can fry them.

Are you only connecting RX, TX, and ground? V+, Vcc, Vss, V3.3, or whatever it might be labeled should be left disconnected.

It's also not clear what is happening from your logs -- there is no indication that the kernel panics or otherwise fails to run. Once you resolve your serial issues, you'd be looking for what happens just before the boot loader is restarted.

Thanks for your reply!

The adapter has 3.3 V logic levels.

I'm connecting Rx to Tx, Tx to Rx and ground to ground. I left the V3.3 wire disconnected.

Still, that's all I get. And having to connect the power source before the adapter makes me miss the start of the log.

Hi there. I have been having the same exact problem as the OP. It was because I tried to flash Openwrt using the guide and firware from the 4pda forums. I got through the steps but when I rebooted it stopped and since then only the orange/red led shows up and never turns blue. I then decided to access it through the serial console but I have the same repeating output as OP described. Please help us on this. I desperately want to revive this router although I'd rather buy me a different one if its gonna cost me a lot more for the price of this router. I hope someone can help us. Thanks in advance.

If the image you installed is not an "official" OpenWrt image (namely directly from downloads.openwrt.org), then you should contact the maker of the image for support.

My recommendation would be to install a current image that is produced by the OpenWrt project according to the OpenWrt instructions. The Xiaomi devices are summarized at https://openwrt.org/toh/xiaomi/start


The referenced forum appears to be in Russian only, making support of any instructions hosted there challenging for English-speakers. It also appears, from that search, to be a year or two old.


suggests that this is not an OpenWrt build being used.

Eventually, I've resolved the problem.

The thing is that the option to load via TFTP is offered before those lines I've mentioned in the first post are shown. So, I needed to interact with the router earlier.

For whatever reason, I did manage to do so the following way (I have no clue why this works, I've just seen it works accidentally and continued to it the same way):

  1. Disconnect everything.
  2. Connect the dongle to the computer, and connect the router to the dongle except for the Rx wire (for whatever reason, but otherwise the router won't start with dongle connected).
  3. Connect the router to the power source, and when it starts blinking its lights, quickly connect the Rx wire and start the console as fast as possible.
  4. You'll see the option selection countdown. Press 1 while moving at the speed of light.
  5. Voila.

This is tough to perform as you have to act very quickly. The whole connecting things and pressing buttons sequence has to happen in 2-3 seconds. You can attach so buttons to the wires to make it simpler.

3 Likes

Hi Borodean, could you help explain to me how I can send the numbers using a serial console, windows 10 or Linux, thanks in advanced

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.