Support for Xiaomi Wifi R3P Pro?


I tried to build OpenWRT 18.06.2 for anyone to test , but I don't take responsibility for any damages - as I don't have this device and could not test it. Driver currently works only in AP mode.

Image needs to be uploaded in the same way as for 3G router (kernel placed at 0x200000 and 0x600000; rootfs at 0xa00000).


@pjgowtham this one is for you... let me know how it works out...


Same results. I have problems with installing fuse and ntfs and ntfs-3g. Somehow it shows dependency error although i entered --force-depends which shouldnt be necessary i guess?

Here's everything i did from installation of firmware to dmesg

I have one more doubt. The Linux version says 4.14.104. But the dependency error says it needs 4.14.1014-1. I don't know if that could be a problem.


What driver do you use? ??


@pjgowtham, you haven't updated the firmware, so you still on rc1-mt7615e-3.
You have to download openwrt-ramips-mt7621-xiaomi_mir3p-squashfs-sysupgrade.bin, rename it to sysupgrade.bin then put it with winscp to /tmp and then write in putty:

cd /tmp
sysupgrade sysupgrade.bin

PS: my fault, now I see you've updated firmware normaly. Sometimes i'm blind :smile::smile::smile::smile:


The firmware version changed after i performed sysupgrade. I'm attaching before and after images.



@PeLLmEn Thanks for that. It worked


@pjgowtham, thats cool) I think that my stupidity sometimes become usfull :smile::smile::smile::smile:

The only thing I don't understand is why your (for factory.bin ("openwrt-ramips-mt7621-mir3p-squashfs-factory.bin"))

dd if=factory.bin bs=1M count=4 | mtd write - kernel
dd if=factory.bin bs=1M skip=4 | mtd write - ubi

is not the same as (for sysupgrade.bin ("openwrt-ramips-mt7621-xiaomi_mir3p-squashfs-sysupgrade.bin"))

sysupgrade sysupgrade.bin


Yeah, I am puzzled too.


@pellmen i think there's something getting screwed up in the build process... unless @pjgowtham didn't download the right factory.bin file... (which it doesn't sound like).... anyway, it's not your fault it's (eventually) mine :wink:

@pjgowtham all's well that ends well, eh? :wink:


It was meeeee. I am the culprit this time!. I had downloaded the wrong factory.bin image. It's mine this time.


Yes, exactly


@lukasz92 can you write a little instruction how to install your build. The installation is not as simple to 3g as I thought... Maybe we can upgrade to your build from @ilyas openwrt? I can involve testers if I'll understand how to install it.


just unpack and write via mtd(for stock) or via nandwrite(for openwrt)

mtd write /extdisks/sda1/kernel kernel1
mtd write /extdisks/sda1/root rootfs0


I set up samba and it works fine.

I have this problem : The read speed won't cross 30MB/second.The write speed maxes out at 1.7MB/sec. The device i have mounted is a WD 4TB USB 3.0 hard disk. The read speed in stock firmware was also 30MB/sec, didnt check write speed in stock though. I checked them in stock with the same hard disk.

There's also momentary speed dips to 0KB/sec that resolves after 10 seconds.

The cable I am using is CAT6 and its a 1 meter patch cable. I wonder if it's cos of hardware limitations.

root@OpenWrt:~# opkg install kmod-usb3
Package kmod-usb3 (4.14.104-1) installed in root is up to date.
root@OpenWrt:~# insmod kmod-usb3
Failed to find kmod-usb3. Maybe it is a built in module ?


FYI, it was one huge file and not multiple small ones.


I guess you are using NTFS filesystem on your drive...
It's using ntfs-3g driver which is CPU demanding, and I suppose CPU is the bottleneck in your case


@pjgowtham congratulations on finally having samba working :wink:

as for speeds... there could be a number of culprits here.

  1. your physical network speed.

i'm trying out enabling "hsdma" (DMA) and now iperf3 clocks at 933Mbit/sec (on a direct patch from the router to my laptop)... IIRC it was closer to 700Mbit/sec without hsdma. I'll be uploading that shortly. i'm not sure if it's just psychological, but i don't recall ever seeing > 300Mbit on 5G but i've seen 340Mbit rather frequently after enabling hsdma... 2.4G still peaks at 115 (sometimes 120) Mbit...
try downloading iperf3 on your pc (it's already pre-installed on my releases ;)) and see what you're getting (make sure that's not your bottleneck)

  1. USB device speed

granted i don't have a really clever way to test USB speed, on my latest bits i've done something really simple like plugging in a USB stick ("blue") and doing:

# time dd if=/dev/sda1 of=/dev/null bs=1M count=1000
1000+0 records in
1000+0 records out
real	0m 14.03s
user	0m 0.02s
sys	0m 8.77s

assuming i'm not making any false assumptions, that leads me to believe I can read 1000MB in 14 seconds which gives me a read speed of ~71MB/sec (i didn't try writing ;)) my dmesg log says that write buffering is disabled for my device... what does yours say?

  1. Samba speed

I really have no idea what samba overhead is, but there must be some amount of overhead... plus you have ntfs-3g and fuse somewhere in between... those all add overhead. trying to ssh/copy a file I easily peg one of the CPUs on the router... run top on your router while you're trying to copy files and see what's going on...

Having said all of the above, i would guess your bottleneck is 'samba' but test it...

EDIT: in case anyone wants to play around with slightly modified bits (i think i'm done with mt7615... i haven't seen a single panic and i think the speed is satisfactory... the only remaining problem is how you guys are going to get access to it once i push my r3p changes into stock openwrt.... i'm thinking about adding a package/module for mt7615 but that's probably going to be r3p-specific, which isn't a good idea in general.... but i don't have the ability or desire to test other platforms... or DBDC mode either...)

EDIT2: After seeing @lukasz92's post, I decided to compile the mt76/mt7615 module so we can have a baseline for comparing (ie, using the same openwrt/r3p bits we've been testing all along, and trying out the mt76-based module). It turns out it's much easier to compile than mediatek's closed-source code (suprise surprise!) and the kernel module packages are added to the "release" above. But beware, I have in no way tested them (and am too lazy to even load them now...)

EDIT3: @pellmen (always on the bleeding edge .. ;)) testing mt76 is now just an "opkg install" away...


Hi everyone!

I would like to install OpenWRT on my Mi Router R3P PRO and post here my results, so, Is there a step by step guide?

thanks and sorry for my bad english.



Or if you understand russian better than english, here's the link

@ilyas what do you mean under this? I don't understand alittle. Maybe my english is not very good without good practice :smile::smile::smile: