Unbrick Xiaomi mi router 3G


I have a super Xiaomi Router, which has broken due to an update. If I connect a USB TTL device, the recovery interface is unavailable. I'm not a serviceman, I don't know how to fix it.

How can I reprogram the flash memory?
Has anyone done this before?

What update broke the router? Openwrt? Xiaomi?

Did USB serial TTL device previously work with this router?

Debricking R3G

fwiw, if there is no working serial access, there's probably no chance of recovering the router, unless you use a spi flash programmer to copy the ROM from another identical working R3G, to see whether that may fix the problem?

Did USB serial TTL device previously work with this router?

  • Yes, but I accidentally uploaded the wrong firmware version.

copy the ROM from another identical working R3G

  • Can it only be from another router? Isn't there a standard firmware version of openwrt that is compatible with all of router?

If the bootloader still works (text is issued from the serial port as it attempts to boot), use it to restore to stock firmware then redo the OpenWrt installation from the beginning. As shipped, the bootloader has no bootdelay which means you can't use serial to interrupt the boot and restore. The bootloader can be patched but that is best done from a running OpenWrt.

I found a video on how to flash the data without removing the chip.

The question is, which of the many chips should be flashed? :smile:


No such thing exists. It is just not possible.

Where the hell do I get the same firmware? :frowning:

Extract it from the ROM of another identical R3G, if you can't find the rom dump online....

Googling hasn't returned any result to suggest anyone has used a spi flash programmer with a R3G, so there will be steep learning curve too.

Imho, it would be far easier to just bin the router and buy a new one!

Are you sure the bootloader has been trashed, and serial TTL connection does not work?

You have not explained in detail how you bricked the R3G?

The serial port works, but not loading the bootloader, I see a completely uninform interface without menu items.

I found a Russian forum. Maybe it will help solve it my problem.

I don't know about the Russian parts it might be about the V1 which has a NAND chip. If you have a V2 it's a NOR chip and that would not apply.

I have the 4A Gigabit version. One problem with Xiaomi is their model names can be ambiguous.

Did you say you get a bunch of text about the memory and the kernel and stuff like that scrolling out of the serial port when you turn it on? That means the bootloader is running, which is a good sign. There is probably no way to stop or interact with it though. If it says "Autobooting in X seconds" where X is not 0, try hitting return at exactly that time.

May be relevant but it refers to Breed bootloader and Pandarox installed and working on R3G.

These files are supposed to work with R3P, but I think they should also work with R3G.


Can you use something like PuTTY and capture all the boot messages from serial TTL connection when you turn on the R3G, and post here? Any bootloader messages will only appear for a split second under normal circumstances.

You failed to mention 'how' you bricked the R3G despite repeated requests.

As suggested by @mk24, the bootloader may be undamaged. Therefore you may not actually need to replace the bootloader etc.

Unless I'm mistaken, I believe all the instructions you found to install a new bootloader and other firmwares, assumes the original Xiaomi bootloader is working to allow TFTP to function, to be able to install the new files!

May be helpful?

Model: Xiaomi Mi Router 3G
Architecture: MediaTek MT7621 ver:1 eco:3

Here's my backup, hope it helps.

I'm not at home right now. I will take a picture of exactly what I see when I connect via serial port. I will upload a picture next week.

Thank you! What kind of backup is this exactly? Is it a serial port? Or what is this file?


It's stock Xiaomi firmware. I think you should write MTD1-Bootloader.bin partition in first 512KB of flash memory or use MTD0-ALL.bin to overwrite all space in the chip and then get back to OpenWRT.

I don't know what to program it with. I found this video. I need to get one of these programming tools.

Just take the backup files and router to someone else to do it for you.
It's not worth to waste your time unless you have the tools already.