OpenWrt 50% drop in speed compared to stock GL.iNet FW (MT3000)

Hi all, I'm new to OpenWrt, trying to setup a VPN router, but I encountered an issue from the onset.

I just received an MT3000 and out of the box, when connecting a laptop to WiFi I got around 90mb/s on 2.4GHz and 200mb/s on 5GHz on speedtest.net.

I flashed OpenWrt 23.05.4 and performed the same tests but only got around 45mb/s and 100mb/s on the same tests.

The tests were a few minutes apart, done with the same devices, I tried both with and without security.

I've tried altering a few settings, but they only worsen the issue. I didn't take a note of the stock FW settings, maybe I'll have to flash back and check, is there anything known or obvious that I may be missing to fix this?

Surely this can't be how it's supposed to be?

I’ll guess that this is related to the channel width.

But without configs, that is just a guess.

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

I experimented with different channel widths, but it only decreased the speeds. Default was the best by far. Here's the output from the commands:

root@OpenWrt:~# ubus call system board
{
	"kernel": "5.15.162",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 4",
	"model": "GL.iNet GL-MT3000",
	"board_name": "glinet,gl-mt3000",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "23.05.4",
		"revision": "r24012-d8dd03c46f",
		"target": "mediatek/filogic",
		"description": "OpenWrt 23.05.4 r24012-d8dd03c46f"
	}
}
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd27:9fc7:99ee::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option device 'eth0'
	option proto 'dhcp'

config interface 'wan6'
	option device 'eth0'
	option proto 'dhcpv6'

root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/18000000.wifi'
	option channel '1'
	option band '2g'
	option htmode 'HE20'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt2.4'
	option encryption 'psk2+ccmp'
	option key 'EDIT'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/18000000.wifi+1'
	option channel '36'
	option band '5g'
	option htmode 'HE80'
	option cell_density '0'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'EDIT'
	option encryption 'psk2+ccmp'
	option key 'EDIT'

root@OpenWrt:~# cat /etc/config/dhcp

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'
	option filter_aaaa '0'
	option filter_a '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	option ra_slaac '1'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'

root@OpenWrt:~# cat /etc/config/firewall

You are required to set wifi country code.

I set it and re-checked but it's still the same... 50% less download speed than with GL.iNet FW.

I need to flash back and check the stock configuration, but GL.iNet only provide FW in a .tar archive - can I flash this safely using LuCI?

You can try setting channel width 80mhz to 160mhz in conjunction with the correct country setting?

Also have you also tried to reconnect to wifi with the device in question?

I did found one issue but it was a rare occurence, but i noticed when im far away and then iniating the connection to wifi, there is a rare case the speed would not go higher and in the worst case it locked to 50mb/s download and 50mb/s upload.

When i walk closer it keeps locked to the speed i had where i initially started, only re-connecting to the AP fixed it for me.

I use a mt6000 (same soc) with my own custom compiled OpenWrt, but it was a odd experience it looks like something tracking related isn't/wasn't working?

it doesn't seem to constantly happen though, i observed it before the multicast issue was fixed and even before the recently big mt76 updates, i did not see it happen again on recent builds with latest mt76 commit from master.

Make multiple speed tests and post result link using
https://www.waveform.com/tools/bufferbloat

  • connected to providers port
  • connected to lan port of your OpenWRT router
  • connected to wifi of openwrt router.

Guys I've tried everything, flashing to and from GL.i and back to Wrt and it's the same every time. My speeds with stock GL.i are consistently 185mb/s but performing the same test minutes later on Wrt, using everything exactly the same results in a big drop in speed down to 107mb/s

I've tried pretty much all of the settings in Wrt, I've matched the settings that were in the GL.i FW, tried different bands and channels, country code set, maximum power, tinkered with different other options, but I can't get Wrt to come anywhere near GL.i firmware speeds.

I really don't want to use closed source firmware from GL.i, the reason I chose this device is because it's full supported by Wrt, but I can't live with an 80mb/s drop in speed, does anyone have any idea why this is happening?

I noticed is in the image above, "associated stations" says my laptop that's connected has 300mb/s, but it also says 135mb/s which would possibly translate to around 107mb/s on the speedtest, is there something wrong here?

Try 23.05.3 or wait for 23.05.5, there is wifi regression that transmit side falls back to single antenna (the download you see from the client)

Ok thanks for the tip, I'll give it a try

You can flash directly, no config format changed to mandate typing back configuration.

Great tip man, that fixed it, I can now get over 190mb/s which is even better than stock GL.i:

Is this issue known by devs?

You need better client wifi card...
:man_shrugging:

FWIW, my mt3000 (as dumbap) peaks at around 1600mbit (down, still well above 1gbit up) on 23.05.04 (benchmarked with a Snapdragon X laptop) so that wifi driver cannot be broken that badly...

It is wifi4 speeds.

Yes, the issue is known and a patch is already in. They didn't deem it important enough to release 23.05.5 just because of that change. It will be fixed in 23.05.5 when it gets released.

4 Likes

Ok cool I'll wait for the next release.

There's a known bug that has a patch upstream waiting to be implemented in the next version so I guess yours is unaffected by it or something, mine unfortunately isn't.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.