Xiaomi Wifi Router 3G - 18.06.x / Wifi issues 2.4GHz + 5GHz

root@Router-BS:~# cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='18.06.4'
DISTRIB_REVISION='r7808-ef686b7292'
DISTRIB_TARGET='ramips/mt7621'
DISTRIB_ARCH='mipsel_24kc'
DISTRIB_DESCRIPTION='OpenWrt 18.06.4 r7808-ef686b7292'
DISTRIB_TAINTS=''
root@Router-BS:~# cat /etc/openwrt_version
root@Router-BS:~# opkg list-installed |grep mt76
kmod-mt76-core - 4.14.131+2019-03-23-a5f5605f-1
kmod-mt7603 - 4.14.131+2019-03-23-a5f5605f-1
kmod-mt76x02-common - 4.14.131+2019-03-23-a5f5605f-1
kmod-mt76x2 - 4.14.131+2019-03-23-a5f5605f-1
kmod-mt76x2-common - 4.14.131+2019-03-23-a5f5605f-1

which mt76 version is inside 18.06.4?
I cant find that commit a5f5605f?

Installed latest snapshot "openwrt-18.06.4-ramips-mt7621-mir3g-squashfs-sysupgrade.tar"
but there is no wireless interface available under LuCI.

Commit hash references the mt76 repo, not the OpenWrt one.

Commit used in 18.06.04 is a5f5605f3246e65341cc11098e8168aff22a824b

I just installed Openwrt 18.06.4 on my MI3G and wanted to share my experience with WiFi so far.
After several reboots (after initial boot i had problems with WAN interface not connecting, seem to be gone now) i set both WiFis to auto-channel and the correct country-code, created an access point on each and everything seems to work fine.
I have noticed that not all of my (officially 5Ghz capable) devices - in particular 2 Nexus 7 2013 - are unable to find the 5Ghz network while all newer devices i have tested can see and connect to it without problems, coverage is also quite good compared to my TP-Link TL-WDR3600.
The Nexus 7 finds the 5Ghz network only if i set the channel to 36 manually.
I have even attached an USB-LTE modem and cannot find any problems with 2,4Ghz networks.

Auto-channel (ACS) is not a good idea in general (as it only selects the first legal channel, without anything more intelligent going on) and with mt76 in particular (which doesn't like this setting at all). Always configure a channel manually, trying to avoid overlap.

but this is wrong and not as intended: AUTO should search for a channel within the legally allowed range that is not croweded and provides best performance.

That is a misunderstanding, respectively wrong expectation, on your side - all it does is selecting the first available (as defined by the hardware constraints and legal limitations, not any more advanced channel survey) channel - not more, not less. While it obviously would be better if it would do a more comprehensive survey, but that's not what is actually implemented right now (patches welcome, I guess).

…and mt76 as currently in the repos doesn't support ACS yet at all (that's going to change, as the corresponding feature addition has been posted a couple of days ago, but it's not quite there right now)

1 Like

Well, I guess the expectation is right, it is just that it is not implemented in that way currently. So I created this feature request to maybe raise awareness for it a bit and track the progress: https://bugs.openwrt.org/index.php?do=details&task_id=2437&order=id&sort=desc

Edit: Driver issue: https://github.com/openwrt/mt76/issues/306

Bugging the developers for a new feature won't speed up https://www.spinics.net/lists/linux-wireless/msg188625.html ("are we there yet?!").

…and no, that won't change the decision which channels to go with in the ACS case (namely the first possible one, without looking at anything else) either, as that's a policy decision done elsewhere.

As I said, I created it mainly to maybe raise awareness a bit and track the progress, as I stated above.

Nonetheless I would argue that it might help speeding things up, although the chances might be low.

Maybe I also misunderstood what is the place for implementation. Because from my understanding it looked not so much like a kernel issue, but rather an issue of correct implementation in OpenWrt (which is why I created an issue there) and in the mt76 drivers from OpenWrt (which is why I created an issue there). But you seem to have linked a mailing list related to kernel drivers. So maybe I misunderstood you in the first place and the problem resides somewhere else.

On the wiki https://openwrt.org/docs/guide-user/network/wifi/basic is said that channel “auto” defaults to the lowest available channel.
But for 2.4 GHz it's better to choice 1, 6, or 11 channels if they are free.
So if the channel 1 is already taken then OpenWrt will take channel 2 while it's better to take channel 6 and if the channel 6 is busy then take 11

That isn't quite the case, the lowest legal channel here would be ch1, ACS will pick that regardless of the surrounding (and nothing but ch1 or ch36 in the 5 GHz band).

Have you tested it on newer versions? Is this still the case? Maybe there is still a bug for that device.

can someone explain me what you will get if u install openwrt on router 3g?

You will get OpenWRT with up to date open source software running on Xiaomi Mi Router 3G...
The original Xiaomi firmware is based on the MTK SDK for the MT7621 chipset which is based on a old OpenWRT version and includes many non open source software packages/drivers...

2 Likes

Will u get DLNA option when put usb?

Please use this topic only for discussion of wifi issues.
For any other questions, please open a new topic (or use the forum search to find a suitable one).

Thanks!

1 Like

I have just installed the 1907 version and the 2.4ghz download is 0.8 Mbit. With the 1806 version the download was about 10mbit.
I have a 500Mb line, why are there all these problems? I had heard that with the 1907 version the wifi is improved but it got worse. Do you have any advice for me?
With 5ghz the maximum download is 130Mbit near the router, is there any way to increase this value too?
Sorry for poor english, i'm italian.

If you want those kind of speeds you're going to have to use the original firmware or Pandora Box fork which uses better proprietary drivers. You're not going to get it on standard OpenWrt..