Xiaomi Wifi Router 3G - 18.06.X / feedback and help

I've installed 3rd Bootloader Breed, and OpenWrt 18.06.1.
But I cann't change the LAN IP. LuCi keeps telling me cann't apply the changes.
Anybody can help?
Thanks.

1 Like

Everything goes sweet, till I changed the LAN IP from 192.168.1.1 to 192.168.0.1
now I lost every possible connection to the OpenWrt system.
I tried both IP, using webUI and SSH, but none of them works.

2 Likes

that happened to me on 18.06 also... seems like it was not fixed...

1 Like

I bricked mine and i unbricked it by using serial connection.
These links helped me to do this:

For this you will need a usb-serial-connector and a pin ledge.
But it's worth it - you learn a lot again.

Official documentation USB 3.0 and WiFi problems:

or disable the USB3 driver to force fallback to USB2.0. Many current LEDE devices aren't even noticably faster on USB3.0 data transfers compared to 2.0.

Could someone point me how to disable USB3 driver? It seems that USB 3.0 is compiled into the kernel. Removing of kmod-usb3 package does not help. The same with rmmod xhci-hcd.

So, I see a ton of complaints that 2.4 WiFi does not work in pair with OpenWrt if you have connected USB device. Of course, I have external USB card-reader + microSD card.

The same configuration works excellent with stock firmware. But! There is the one significant NOTE! Xiaomi DISABLES USB 3.0 by default in their stock firmware. They even write in GUI that enabling USB 3.0 will gift you a ton of problems for 2.4Gz.

Configuration

Stable 18.06.1

$ lsmod | grep xhci
usbcore               128400  8 ledtrig_usbport,usb_storage,ehci_platform,ehci_hcd,xhci_mtk,xhci_plat_hcd,xhci_pci,xhci_hcd
xhci_hcd               89360  3 xhci_mtk,xhci_plat_hcd,xhci_pci
xhci_mtk                4864  0
xhci_pci                2752  0
xhci_plat_hcd           5632  0

$ opkg list-installed | grep usb3
kmod-usb3 - 4.14.63-1

# check USB 2.0 loaded module
$ lsmod | grep ehci
ehci_hcd               35120  1 ehci_platform
ehci_platform           4832  0
usbcore               128400  8 ledtrig_usbport,usb_storage,ehci_platform,ehci_hcd,xhci_mtk,xhci_plat_hcd,xhci_pci,xhci_hcd

$  lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 14cd:125c Super Top SD card reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/2p, 480M
    |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M

As you can see, Driver=xhci-mtk, USB 3.0.


Why we can't resolve this issue finally and make people happy with OpenWrt? Why should all people move back to stock?

Thanks in advance!

1 Like

That's interesting, and I would test building a firmware without USB3. Maybe you can put the message in the thread about wifi issues on the 3G? Xiaomi Wifi Router 3G - 18.06.x / Wifi issues 2.4GHz + 5GHz

It makes it easier to keep track of the topics.

I just flashed 18.06.1.
Again.
After initiated the password, I exited LuCi without any configuration change, and power off (I mean plug off the power supply) and on, to see what happens.
Bingo, LuCi is dead.
The good news is SSH still alive.
It looks like OpenWrt is not available for Xiaomi router 3g, not yet.

There have been several reports about broken config files when pulling the plug instead of shutting it down properly. Setting the password is a configuration change.

Thanks.
But actually, there is no ¨power off¨ option in LuCi, is it? Only reboot.
What if I need to move the machine to someplace else T_T
Power off in SSH?

Sorry, I usually do it using "poweroff" in the shell so I hadn't noticed. You should probably do a reboot after the first boot and possibly after configuration changes, then.

Great, I will try, thanks.

I have tried once "shutdown" from SSH and then the router didn't boot at all. I had to do full clear to get it boot again :confused: I believe the problem is that there is no (at least externally available) power button.
So I believe it's much safer to reboot and then unplug power.

Is there any guide around to install the Breed bootloader?

Regarding the LAN IP, I find that it's better to change it through SSH in /etc/config/network and then reboot, never had any problems using this way.

Follow the standard steps till you get SSH in the router.
By default, the router LAN IP should be 192.168.31.1

BACKUP the firmware, if you wish.
It's too long to write here, I assume you know how to do it.

Download the BREED firmware, I got it from
https://breed.hackpascal.net/breed-mt7621-xiaomi-r3g.bin
This one is Chinese version, I do't know if there is an English version.

SCP the file breed-mt7621-xiaomi-r3g.bin to the router, I put it into /tmp.

SSH to the router, and execute the command
mtd -r write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader
After it's done,
reboot

Before the power on, press and hold the reset buttom untill the light blinks stable.
If you didn't do it in time, never mind, just power off, and do it again.
Now you should able to access the BREED interface though browser 192.168.1.1

After enabling HW NAT random reboot will occur
Currently using OpenWrt SNAPSHOT r8021-9e58c20

Here's the stack trace:

[ 9226.062793] Unhandled kernel unaligned access[#1]:
[ 9226.067594] CPU: 3 PID: 72 Comm: kworker/3:1 Not tainted 4.14.68 #0
[ 9226.073883] Workqueue: events_long nf_ct_kill_acct [nf_conntrack]
[ 9226.079952] task: 8fd712c0 task.stack: 8fdea000
[ 9226.084457] $ 0   : 00000000 00000001 8e222d98 000d904e
[ 9226.089667] $ 4   : 8f0f348c 00000000 0f55bc3d 00000001
[ 9226.094880] $ 8   : 00000000 00007c00 811ca500 0001225e
[ 9226.100092] $12   : 00000000 00000000 ffffffff 00000764
[ 9226.105306] $16   : 8f0f348c 8e9b7000 8e9b7000 00000000
[ 9226.110519] $20   : 000007da 805a0000 00000019 8f0d0000
[ 9226.115729] $24   : 00000000 8f0c06bc
[ 9226.120938] $28   : 8fdea000 8fdebdc0 805c1760 8f0f0864
[ 9226.126149] Hi    : 00000b32
[ 9226.129011] Lo    : 76457000
[ 9226.131889] epc   : 8f0f086c nf_ct_nat_ext_add+0x218/0x928 [nf_nat]
[ 9226.138129] ra    : 8f0f0864 nf_ct_nat_ext_add+0x210/0x928 [nf_nat]
[ 9226.144363] Status: 11007c03 KERNEL EXL IE
[ 9226.148533] Cause : 40800014 (ExcCode 05)
[ 9226.152517] BadVA : 000d904e
[ 9226.155382] PrId  : 0001992f (MIPS 1004Kc)
[ 9226.159453] Modules linked in: pppoe ppp_async pppox ppp_generic nf_conntrack_ipv6 mt76x2e mt7603e mt76 mac80211 iptable_nat ipt_REJECT ipt_MASQUERADE cfg80211 xt_time
[ 9226.227867] Process kworker/3:1 (pid: 72, threadinfo=8fdea000, task=8fd712c0, tls=00000000)
[ 9226.236177] Stack : 00000000 000007da 805a0000 00000019 8e9b7000 8f0d0208 8f0d021c 8f0caf28
[ 9226.244516]         8e3a82b0 00000010 00000000 8e9b7000 8e9b7000 8e9b7040 00000013 8f0c066c
[ 9226.252857]         805fedc0 805a01b8 8123fdc0 00000001 8e9b7000 8f0c1c30 8fd715d8 80490000
[ 9226.261193]         805a0000 80056a98 8f0d0000 8f0d0000 00000020 00000002 8f0d01a4 8f0cce54
[ 9226.269530]         81242a00 8fd712c0 8f0d01a4 8fd0f180 8123fa40 81242a00 00000000 00000000
[ 9226.277864]         ...
[ 9226.280314] Call Trace:
[ 9226.282764] [<8f0f086c>] nf_ct_nat_ext_add+0x218/0x928 [nf_nat]
[ 9226.288675] Code: 02002025  8e23007c  8e220078 <ac620000> 10400002  00000000  ac430004  24020200  ae22007c
[ 9226.298400]
[ 9226.300064] ---[ end trace bdd2cad862bd9103 ]---

Maybe someone can help me with one strange issue I noticing.
I have work VPN that I bringing up on my laptop.
For a few days, it works correctly. But eventually(after a few days), I start to see issues with connection to remote servers behind VPN over SSH or updating sources from Git also behind VPN.
If I execute

sudo ip li set mtu 1200 dev vpn0

on the laptop it is starting to work.
To fix this with the router I need to reboot it few times and try to enable/disable MSS Clamping in FIirewall. I still haven't discovered the correct way to fix this at the router side.

@bademux and @Maxb66

Can you both make new threads for your issues?

1 Like

Hello i have a problem with my router. I flashed latest OpenWrt from stock Xiaomi FW, my router turned on but then after a couple of minutes it crashed and now is softbricked. Failsafe doesn't work.

Current state:

  1. Power on router
  2. Orange LED is flashing.
  3. Quick blue light.
  4. Router reeboots itself and starting to do the same thing.

I soldered wires to serial on MB, and trying to get SOMETHING on my Raspberry Pi, but when I plug in router to power, nothing shows on Raspberry. Wiring is okay (TX to RX and RX to TX, GND to GND). Yesterday my router didn't want to boot when Raspberry is plugged in Serial port, i have read that plug wire just after boot would help but today router is booting even with Raspberry plugged in.

Can someone help me? Maybe I missed something? Sorry for my bad English...

#edit1 Okay i think i resolved my issue. Someone who use Raspi to unbrick router this may be helpfull. I used /dev/ttyAMA0 for serial connection (many tutorials on web ;use it) and that was wrong for me. I saw that when I type "dmesg | grep tty" i have another serial "/dev/ttyS0" so i tryied that and now i have full bootlog from Mir3g.

To conclude this, if You want to unbrick router with Raspberry UART use:

"apt-get update && apt-get install screen"
"raspi-config" Enable serial and disable shell login via serial
reboot raspberry
"screen /dev/ttyAMA0 115200" (if it doesnt show anything then try "/dev/ttyS0")

I was experiencing the same random reboot issue, which definitely seems HW NAT related. Unfortunately I need HW NAT to saturate my fiber bandwidth, so the only option I had is to avoid OpenWrt while this issue gets resolved.

Hi everyone,

I got the chance to get a Mi router 3G and put OpenWRT 18.06.01 without too much effort.
I installed luci using luci-ssl package and also luci-app-wifi-schedule.

Everything was working fine for few days. I took observation of the box but one day, my equipment connected via the router lan cannot use the WAN port to access the INTERNET.

LAN, Wifi legacy or the WIFI_5G is working correctly, DHCP was OK and lan client get their IP from the router.

The strange things is that luci is not running and there is no way for me to get luci status.
I used "logread -f" and used this link:
https://forum.openwrt.org/t/solved-luci-wont-start-unable-to-find-logs-or-other-clues/15824

But logread don't give me any clue about what's going on with luci.

I'm in the same position as the person in the URL. I have to identify the location of the problem but logread does not give me more information while I try to stop/start luci again using /etc/init.d/uhttpd restart.

Could you help pointing out where to look at ?
The strange thing is that I did not touch the box while everything was working and suddenly my client in router LAN are prevented to go out the LAN.

Thank you for your help !

PS: I could reset the router and restart from scratch but I would like to handle few investigation as I did not touch the box. Maybe a memory leak or a filesystem gets full. As the link above, "df -h" shows that /rom is 100% used but the rest is available at 100%.