Xiaomi mi wifi 3 support


Thank you for that feedback.
I don't know why those startup scripts didn't copy over from my files folder.
I'm going to do deeper checks.

For now, I'm just going to upload the basic image with no software built in OTHER THAN adblocker with blocklists and enabled, and the wireless turned on and the same configuration passwords.

I do know that having all those services enabled make the wifi break as I was able to discover. LuCi became barely usable and I had to resort to ssh which was also a little sluggish to delete the start up scripts manually.

I use mainly 5GHz here but all my devices out of range are on 2.4GHz, I haven't witnessed any quality issues with those.

Can you try changing the wattage of the 2.4GHz and see if that improves the quality? Maybe change your channel? I keep it on channel one as it is the lowest frequency and travels the furthest but it is possible others around you are using the same channel making it bad quality.
I wouldn't put it past the driver, though. It's usually the driver support that is bottle-necking the device.


Okie dokie everyone. https://drive.google.com/drive/folders/1hrdSu96NzGc5Gz1_gN9Xjbr-9fnrfgaI?usp=sharing

Plain no frills images and upgrade packs WITH adblocker, blocklists and it's enabled, and the wireless turned on and the same configuration passwords.. Small and quick.

I've tested this on numerous routers doing upgrades from the old and doing fresh flashes from stock. No issues occurred. Everything works =D

Until I can figure out why a few people experienced issues with my previous build, I will only be posting plain images from now.
I'll leave it to others to download all those other fancy things since I may have been the only one that used them.(A traveling router)


I got mine back via serial tftp.
Got lede natcap running fine now. I also tried to do a sysupgrade via natcap to your system but again it turned root into ro, so had to start all over.
Then i tried today's latest ones you just uploaded. First did a sysupgrade via Natcap, no joy
then went back to xiaomi dev and restarted this time loading your latest rootfs0 and kernel1 files and got bootloop.
Something with your build doesn't agree with my board.
Both Natcap and nitrooxid worked fine but no go with yours, don't know why.
I can now go back and forth and recover at will, but obviously don't want too many writes to my NAND.
thanks for all your help and support.
BTW couldn't reply sooner cause someone on this board thought it a good idea to limit daily posts for new users with no way i can find to overcome it even if you send them a blood sample so they prove (a) you're human not a robot and (b) exactly you are ! Go figure !


can you add ssh server active by default ?
I mean, can we have dropbear active by default... so that we can ssh the device for cases like this, that options cannot be saved.


how did you recover? did you have to open the device? where do the serial cable connects?
can you point me to the right direction? I need to unbrick mine.

BTW: limit daily post is one thing, now they limit replies by post... so I cannot continue to reply
"We're sorry, but new users are temporarily limited to 3 replies in the same topic."


there's a video of teardown and serial connection here https://wiki.openwrt.org/toh/xiaomi/mir3 .
then follow the tftp recovery on this page


i got read only fs, tried to revert to stock firmware but now i'm with a kernel panic saying "please append a correct root= boot option"

Can someone help?

Here some logs from startup:


Oh thank goodness. I felt bad my build was doing that to you.

I have tried EVERYTHING to reproduce your problems and I cant. I have NO idea why it is doing that to you but not on my routers.

haha the daily post limit is still boggling man.

I'm just glad you recovered. Whew.


Bear is on there by default but I can add a ssh server to it as well for safe keeps.
I'll probably do that later this week.


I can look over your logs later tonight if I get the chance. I'm teaching another class right now so will be busy.


I'm now using ptp52 firmware and using it as a repeater. isn't the bandwidth going unstable too much?




Finallly! I was able to recover the router using a RaspberryPi as a serial console instead of a TTL. Now I'm back to MiWiFi developer edition...

So, any news on the openwrt image for the Mi3 ?


Where can I get those ?


so I compiled openwrt from source and included these commits from ptpt52:https://github.com/openwrt/openwrt/pull/597/commits
but one issue that i faced was when i flashed a stock router with rootfs0.bin and kernel1.bin everything was fine but router was asking for a password on Luci (it says no password is set but still needed a password to proceed setting a root password via ssh from recovery didnt help either ) do i need to change anything in "menuconfig" ?
or the sources itself needs some touch ups?
i get around that by installing natcap first and using natcaps default password...(router asks for natcaps default password on my own compiled rom after resetting the router to defaults-or a sysupgrade-) ....


How is everyone's experience so far? Have @ptpt52's builds stabilized? @mydarkthawts how's the stability holding with your firmware?

edit: on 17.01.05?


well rip mi r3 ...
the pull request for mirr3 driver got rejected and according to the final post by the admin driver will break in the next kernel version ...unless someone else comes up with a better commit don`t get your hopes high for a stable official release ....


I'm using @ptpt52's build for production. WiFi is not working, when using 2.4 and 5 GHz in parallel. Besides from that, I'm happy. Too bad, it won't be officially supported.


I think I just successfully bricked my r3 by accidentally trying to flash a 3g kernel1 / rootfs0 to a 3 device:
Now immediately after the LAN/WAN port leds flash, the status LED just glows orange. Holding the reset button and connecting a USB stick with a miwifi.bin does nothing.

Hooking up a serial connection via rx/tx/ground shows this (what I would not even call "gibberish", I used 115200 8 1)
▒@▒▒>▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ H▒▒▒~q▒▒▒▒▒`▒▒▒p▒▒▒▒▒▒<▒▒>▒▒▒▒▒▒@▒▒▒▒▒▒▒▒ ▒▒▒▒8▒▒~▒▒▒▒▒▒▒▒▒~▒>▒▒~~>>~>▒~▒▒▒▒▒▒▒▒▒▒▒

Any idea? If not I am willing to send this brick to anyone who wants to try his/her luck.


u need a cp2102 or pl2303 usb to ttl converter..regular serial won't work and it's recoverable, don't worry


OK, I guess you were right: I tried with a pl2303, now I get this:

U-Boot 1.1.3 (Oct 31 2016 - 17:12:26)

Board: Ralink APSoC DRAM:  128 MB
Power on memory test. Memory size= 128 MB...OK!
relocate_code Pointer at: 87fb8000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
!!! nand page size = 2048, addr len=4
Ralink UBoot Version: 4.2.S.1
ASIC 7620_MP (Port5<->None)
DRAM_CONF_FROM: Auto-detection
DRAM component: 1024 Mbits
DRAM bus: 16 bit
Total memory: 128 MBytes
Flash component: NAND Flash
Date:Oct 31 2016  Time:17:12:26
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =128 Mbytes

Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   9: Load Boot Loader code then write to Flash via TFTP.

3: System Boot system code via Flash.
Booting System 2
..ranand_erase_write: offs:40000, count:20000
## Booting image at bc600000 ...
   Image Name:   MIPS OpenWrt Linux-4.14.61
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1961601 Bytes =  1.9 MB
   Load Address: 80001000
   Entry Point:  80001000

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

Starting kernel ...

Thats all, its stuck.
Between the "choose operation" and the "3" is like 100ms, I keep hitting 1 or 4 or 9 ... looks like I went into the serial-write-disabled trap: The tutorial I followed never mentioned "nvram set uart_en=1", it only had "nvram set flag_last_success=1" before the commit. Hmpf