Xiaomi WiFi Router 3G

I found this device. It's in pre-sail for 50USD.

Inside there are:
CPU1: MediaTek MT7621A (880 MHz, 2 cores)
FLA1: 128 MiB
RAM1: 256 MiB
USB ports: 1 (3.0)
WI1 chip1: MediaTek MT7603EN (2x2:2)
WI2 chip1: MediaTek MT7612EN (2x2:2)
LAN: 2x 10/100/1000
WAN: 1x10/100/1000
Bootloader U-Boot
Source: https://wikidevi.com/wiki/Xiaomi_MiWiFi_3G

I believe it's a new device. The price compered to the spec is (In my opinion) great. What do you think guys? Will it get some love from LEDE?

Installation instructions provided by @dissent1:

  1. Unbox router

  2. Connect to the router using WiFi

  3. Goto http://192.168.31.1

  4. Go through the wizard to set passwords for the router + wifi

  5. Reconnect to the router using WiFi

  6. Goto http://192.168.31.1

  7. Logon and find the page where you can upgrade the firmware look for a big yellow dot with an “i” inside. You will see the version number of the router and there is a button below where you can browse for a file.

  8. Flash miwifi_r3g_firmware_c2175_2.25.122.bin (developer firmware) and wait a few minutes.
    Download https://play.google.com/store/apps/details?id=com.xiaomi.router to your phone/tablet (there is also an iOS app)

  9. Open “Mi Wi-Fi” app (and sign-up) and sign-in to your account. Router will be detected and added to your account (assuming you are connected to the WiFi on the router and the routers WAN port is connected to Internet).

  10. On a PC, visit https://d.miwifi.com/rom/ssh and sign-in to you account. You will get to a page that should display your router, the root password and a download button. Hit the button to get miwifi_ssh.bin

  11. Format USB drive using FAT32 and copy miwifi_ssh.bin, lede-ramips-mt7621-mir3g-squashfs-kernel1.bin and lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin to the USB drive

  12. Cut the power 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. Wait until router has rebooted and you should (finally…) have SSH access.

  13. Login to the router using SSH using the “root” as username and the (root) “password” from https://d.miwifi.com/rom/ssh

  14. In SSH console

    cd /extdisks/sda1 (can be different if you remove and reinsert the usb stick)

    mtd write lede-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1

    mtd write lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin rootfs0

    nvram set flag_try_sys1_failed=1

    nvram commit

    reboot

  15. LEDE should be installed and available at 192.168.1.1 (with WiFi disabled I assume)
    Upgrading to a newer snapshot can be done using the regular methods (from the command-line using sysupgrade or through LuCI) using lede-ramips-mt7621-mir3g-squashfs-sysupgrade.tar

Known Issues:

  1. Some users are reporting having troubles with connecting to the 2.4 Ghz network related to this entry in the syslog:

    daemon.notice hostapd: wlan0: STA XX:XX:XX:XX:XX:XX IEEE 802.11: did not acknowledge authentication response

4 Likes

Seems good! similar hw: https://wikidevi.com/wiki/MediaTek_MT7621

gigabit ports and more powerful cpu being the only advantages.

wl chips being disadvantage as such (especially 2.4ghz MT7603EN with it's bad support).

i'd not bother.

I believe that the 2.4Ghz chip is not the same as in (for example) DIR-860L. The D-Link chip is faulty and has a lot of stability and performance issues. The WiFi chip in Xiaomi WiFi Router (3G) should have a more stable 2.4Ghz network.

In my opinion Gb/s ports and dual core CPU are huge advantage. Lots of people are having faster connections then 100 Mb/s.

Got one in hand today.
Where the start loading LeDe in it? :slight_smile:

Lede doesn't support this device.

Then I believe it's a great opportunity to start developing the necessary support. Wouldn't you agree?

Can you send some pictures of the router from the outside and inside of the device? I believe the photos of internal chips would be very helpful.

But this device supports LeDe/OpenWRT since it runs on it.
It's matter of time that LeDe support this.

I can but not today. Just waiting MiWiFi release of developer rom for rooting it from official way.

Do you know if the procedure to get ssh is similar to Xiaomi wifi mini?
I read here: http://en.miui.com/thread-64391-1-1.html that for the wifi mini you would need to download a dev rom in order to enable SSH, but unfortunately, I can't find the dev rom for the wifi 3G on Xiaomi website.

Are you able to enable SSH with the original rom which arrived with the router?

http://koolshare.cn/thread-119327-1-1.html

At this moment only uart.

Thanks, do you know if there are already instructions for enabling ssh (or installing lede) using uart ?

https://github.com/lede-project/source/pull/1299
Console access is only through UART now. There should be a developer firmware later as usual, that will make ssh access available.

2 Likes

Thanks @dissent1, looks very promising.

Could you please share what are the next steps required to flash LEDE using UART ?
Assuming I already compiled LEDE from sources (including your commit for mir3g), disassembled the router, soldered the UART connector and connected to PC using UART to USB cable.

Installation steps are described in that PR:)

  • copy lede-ramips-mt7621-mir3g-squashfs-kernel1.bin and lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin to usb disk
  • switch to /extdisks/sda1/
  • run: mtd write lede-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1
  • run: mtd write lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin rootfs0
  • run: mtd erase kernel0
  • run: reboot
1 Like

@dissent1 I am looking into your PR and I am wondering what did you do to kernel0 partition.
In DTS there is comment that you deleted kernel0 partition and renamed it to kernel_erase but it looks like you did not erase the whole partition since the original kernel0 partition ends in 0x600000 and you have deleted it until 0x400000

In DTS I've just renamed kernel0 into kernel_erase for others to o remind that it should be erased with 'mtd erase kernel0' while on stock firmware.
0x400000 is the size of the partition, not an end address

Thanks,that makes sense