Support for Xiaomi Wifi R3P Pro?

I do not have a UART. Is there any other way to get a boot log?

Thanks for the reply. I am waiting for a UART to arrive in post - may take a week.

normally yes, you can type dmesg and get (most of) the boot log. but in your case it appears your system is hosed, so in that case the answer is no and you need an UART...

@adilson almost certainly you've done something wrong. you need to make sure you're using the development firmware (you can verify this from the web gui) and then make sure you're downloading the proper miwifi_ssh.bin for your router (assuming you went through the registration stage OK)... also make sure your USB stick is formatted with FAT32 (not NTFS). if in doubt, try formatting it again. also, you might not have pressed the pin long enough when booting... try again :slight_smile:

Anyone? :blush:

It's much easier with UART, but it is actually possible to make a blind boot from TFTP server. Do you have uboot? Are you familiar with TFTP?

Are you asking if you should consider installing OpenWRT on Micron NAND? Well, I have Micron NAND and run OpenWRT with no problem. But ONLY on the condition that you have UART cable and know how to use it.

1 Like

So, are you currently on Xiaomi dev firmware? Could you please post what exactly instructions you used?

you'll see it in the bootlog. you'll need to install xiaomi developer firmware and ssh (see the TOH for instructions on how to do that). then run dmesg and you'll see it.... or maybe (for the truly lazy):

dmesg | grep "Bad eraseblock"

if that shows anything, then you have bad blocks... see the post from @PianoTamer a few days ago for an example of a system with bad blocks.

Hi.
I did all the process again, but do not work.

This is the version:

Creating miwifi_ssh.bin:

Register in the app:

FAT32 format:

Cut the power to the router, put the USB drive in the router, press and hold “reset” button (with a paper-clip), power on the router (while holding reset). When the router starts flashing yellow release the reset button.

Trying to access SSH:
05%20AfterbootSSH%20error

Can somebody see some problem?

In my case everything looked the same, excepting the steps of getting a miwifi_ssh.bin file. Here are the steps I followed:

I didn't have to connect the app or do anything else to get that file...
P.S. and if that will give you the same file, then I'd try a different (smaller) USB flash.

1 Like

Can you update the wiki with this info? Thx.

@johnd2 actually anyone can edit the wiki/toh... if you've learned something or have ideas of how it can be made better, go ahead. if you think you need someone to review it, post here and someone will

1 Like

@andreykiselev interesting idea with a smaller flash... most forums claim you need to rename the file as "miwifi.bin" but iirc it tries every *.bin file.... also, @adilson it's been a really really long time since i did this... maybe you aren't keeping the pin pressed for long enough?

I am holding the reset button until the yellow led starts flashing.

Yesss!

I used a smaller 1GB flash drive and did the boot test, it worked perfectly. OpenWRT installed now!

Thank you all for your help, you guys are awesome! Congratulations!

Note: Update this information there in the installation forum.

i have bad block , i installed openwrt but got brick.
Is there any difference in the instructions under the wire? :slight_smile:
After executing the command, the device hangs at the yellow light and does not install.

Login to the router using SSH (192.168.31.1). Username is “root” and the password is what you got when downloading miwifi_ssh.bin
In SSH console (note: you should be able to copy-paste all these lines. For safety's sake, copy-paste each line individually.)

cd /extdisks/sda1 #(can be different if you remove and reinsert the usb stick)
mv openwrt-ramips-mt7621-xiaomi_mir3p-squashfs-factory.bin factory.bin # give it a shorter name
nvram set flag_try_sys1_failed=1
nvram set flag_try_sys2_failed=0
nvram set flag_boot_success=0
nvram commit
dd if=factory.bin bs=1M count=4 | mtd write - kernel1
mtd erase rootfs0
mtd erase rootfs1
mtd erase overlay
dd if=factory.bin bs=1M skip=4 | mtd write - rootfs0
reboot

The usb I am using has a capacity of 32GB, I still use it to update stock firmware and development firmware. do i need to use smaller capacity usb?

OpenWrt should be installed and accessible at 192.168.1.1
Bootlog :

BusyBox v1.19.4 (2017-08-25 14:54:27 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

 -----------------------------------------------------
       Welcome to XiaoQiang!
 -----------------------------------------------------
  $$$$$$\  $$$$$$$\  $$$$$$$$\      $$\      $$\        $$$$$$\  $$\   $$\
 $$  __$$\ $$  __$$\ $$  _____|     $$ |     $$ |      $$  __$$\ $$ | $$  |
 $$ /  $$ |$$ |  $$ |$$ |           $$ |     $$ |      $$ /  $$ |$$ |$$  /
 $$$$$$$$ |$$$$$$$  |$$$$$\         $$ |     $$ |      $$ |  $$ |$$$$$  /
 $$  __$$ |$$  __$$< $$  __|        $$ |     $$ |      $$ |  $$ |$$  $$<
 $$ |  $$ |$$ |  $$ |$$ |           $$ |     $$ |      $$ |  $$ |$$ |\$$\
 $$ |  $$ |$$ |  $$ |$$$$$$$$\       $$$$$$$$$  |       $$$$$$  |$$ | \$$\
 \__|  \__|\__|  \__|\________|      \_________/        \______/ \__|  \__|


root@XiaoQiang:~# cd /extdisks/sda1
root@XiaoQiang:/extdisks/sda1# mv openwrt-ramips-mt7621-xiaomi_mir3p-squashfs-fa
ctory.bin factory.bin
root@XiaoQiang:/extdisks/sda1# nvram set flag_try_sys1_failed=1
root@XiaoQiang:/extdisks/sda1# nvram set flag_try_sys2_failed=0
root@XiaoQiang:/extdisks/sda1# nvram set flag_boot_success=0
root@XiaoQiang:/extdisks/sda1# nvram commit
root@XiaoQiang:/extdisks/sda1# dd if=factory.bin bs=1M count=4 | mtd write - ker
nel1
Unlocking kernel1 ...

Writing from <stdin> to kernel1 ...  [e]4+0 records in
4+0 records out
4194[w] bytes (4.0MB) copied, 1.655483 seconds, 2.4MB/s
root@XiaoQiang:/extdisks/sda1# mtd erase rootfs0
Unlocking rootfs0 ...
Erasing rootfs0 ...

Skipping bad block at 0x640000
Skipping bad block at 0x860000
Skipping bad block at 0x980000
Skipping bad block at 0xf60000   root@XiaoQiang:/extdisks/sda1#
root@XiaoQiang:/extdisks/sda1# mtd erase rootfs1
Unlocking rootfs1 ...
Erasing rootfs1 ...

Skipping bad block at 0xe60000   root@XiaoQiang:/extdisks/sda1#
root@XiaoQiang:/extdisks/sda1# mtd erase overlay
Unlocking overlay ...
Erasing overlay ...
root@XiaoQiang:/extdisks/sda1#
root@XiaoQiang:/extdisks/sda1# dd if=factory.bin bs=1M skip=4 | mtd write - root
fs0
Unlocking rootfs0 ...

Writing from <stdin> to rootfs0 ...  [e]3+1 records in
3+1 records out                                                              [w]3801088 bytes (3.6MB) copied, 1.419553 seconds, 2.6MB/s
root@XiaoQiang:/extdisks/sda1# reboot
root@XiaoQiang:/extdisks/sda1#

So this is the way to install openwrt yon micron units?

My happiness was short lived!

After installing OpenWRT, I realized that luci was not working. I did the proper installations and it worked normally.When I went to configure the wifi, pressing the commit button, the router crashed, it was necessary to restart. After rebooting, find out that all configuration had been lost!

After several reboots, I decided to reinstall firmeware openwrt-ramips-mt7621-xiaomi_mir3p-squashfs-factory.bin through the luci interface, and that was the problem ... the router no longer boots.It's looping, turning the controllers on and off in the given 2 seconds ...

Do you know how I can recover the router from this point?

Adison:

https://openwrt.org/toh/xiaomi/xiaomi_r3p_pro