Bought MT6000 to replace E8450 for Black Friday, same weird problem with download speed

So I got the MT6000 for about $112, hoping it would solve a weird problem I've been having on the good ol' E8450: unreliable and wavering download speedtest results, despite rock-solid upload speeds.

(Everything here was done over ethernet, on SNAPSHOT, on both routers.)

I have a 1Gbps symmetrical fiber connection and previously got a reliable ~942 Mbps down & up with my ISP's own speedtest server.

At some point in the recent past (squiggly line), the download portion of speedtests started to behave... weirdly. During most tests it ramps up quickly to 600, 700, even 800 Mbps, but then ramps down just as quickly and settles into the low hundreds as the final result:

The upload portion of all tests goes to max speed ~942 Mbps, and stays there.

bandicam 2025-11-30 19-27-44-573(1)


IMPORTANT, WEIRD CONTEXT

When the wireless radios are disabled, speed tests over ethernet are the perfect ~942 Mbps down & up, symmetrical (as it should be).

This has to mean something.

(It's not the result of any wireless client's traffic, I checked.)


After exhausting all troubleshooting, I figured it could be device or configuration specific, so I bought the MT6000 hoping to get a fresh start, but the same thing is happening. (All I did with the brand new MT6000 was upload a freshest SNAPSHOT build last night off of Firmware Selector.)

Is there a known bug in SNAPSHOT currently that's causing this?

Anyone else with E8450 or MT6000 encountering the same or have any feedback?

I'm at wit's end and disappointed that the MT6000 didn't fix it, so now I think it's a me problem or else more of you would be here trying to figure it out, too.

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 (red circle; this works best in the 'Markdown' composer view in the blue oval):

Screenshot 2025-10-20 at 8.14.14 PM

Remember to redact passwords, VPN keys, 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
root@OpenWrt:~# ubus call system board
{
        "kernel": "6.12.59",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 4",
        "model": "GL.iNet GL-MT6000",
        "board_name": "glinet,gl-mt6000",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r32151-f614322d28",
                "target": "mediatek/filogic",
                "description": "OpenWrt SNAPSHOT r32151-f614322d28",
                "builddate": "1764446919"
        }
}
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        list ipaddr '127.0.0.1/8'

config globals 'globals'
        option dhcp_default_duid '[redacted]'
        option ula_prefix '[redacted]'
        option packet_steering '2'
        option steering_flows '256'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'
        list ports 'lan5'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ip6assign '60'
        list ipaddr '192.168.0.1/24'

config interface 'wan'
        option device 'eth1'
        option proto 'static'
        option ipaddr '[redacted]'
        option netmask '[redacted]'
        option gateway '[redacted]'

config interface 'wan6'
        option device 'eth1'
        option proto 'dhcpv6'
        option disabled '1'
        option reqaddress 'try'
        option reqprefix 'auto'
        option norelease '1'

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

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

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'Slow'
        option encryption 'sae-mixed'
        option key '[redacted]'
        option ocv '0'

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

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'Quicky'
        option encryption 'sae-mixed'
        option key '[redacted]'
        option ocv '0'

config wifi-iface 'wifinet2'
        option device 'radio0'
        option mode 'ap'
        option ssid 'SlowThings'
        option encryption 'psk2'
        option key '[redacted]'
        option network 'lan'

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

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '0'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'
        list address '/caddy.lan/192.168.0.206'
        list server '192.168.0.143'
        option addmac '1'
        option boguspriv '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'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'
        option dns_service '0'
        list dhcp_option '6,192.168.0.143,192.168.0.1'
        list dhcp_option '42,192.168.0.1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'
        option leasetime '12h'
        option start '100'
        option limit '150'

config odhcpd 'odhcpd'
        option leasefile '/tmp/odhcpd.leases'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'
        option piofolder '/tmp/odhcpd-piofolder'
        option hostsdir '/tmp/hosts'

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

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option synflood_protect '1'
        option flow_offloading '1'
        option flow_offloading_hw '1'

config zone
        option name 'lan'
        list network 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'DROP'
        option masq '1'
        option mtu_fix '1'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

Disable offloads as the first step.

Check your interrupts as well for CPU distribution.

cat /proc/interrupts

I don't know how to interpret this, but here you go:

root@OpenWrt:~# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
 11:    2763969    2276257    4966357    2947820     GICv3  30 Level     arch_timer
 24:          0          0          0          0   mt-eint   9 Edge      keys
 61:          1          0          0          0   mt-eint  46 Level     mdio-bus:01
 62:          9          0          0          0   mt-eint  47 Level     mdio-bus:07
 81:         19          0          0          0   mt-eint  66 Level     mt7530
116:         23          0          0          0     GICv3 155 Level     ttyS0
120:    4718117          0          0          0     GICv3 229 Level     15100000.ethernet
121:    3557553          0          0          0     GICv3 230 Level     15100000.ethernet
122:          0          0          0          0     GICv3 142 Level     wdt_bark
123:       2467          0          0          0     GICv3 175 Level     11230000.mmc
124:          0          0          0          0     GICv3 205 Level     xhci-hcd:usb1
125:          0         15          0          0    mt7530   0 Edge      mt7530-0:00
126:          0          0          0          0    mt7530   1 Edge      mt7530-0:01
127:          0          0          0          0    mt7530   2 Edge      mt7530-0:02
128:          0          4          0          0    mt7530   3 Edge      mt7530-0:03
129:          0          0          0          0     GICv3 148 Level     10320000.crypto
130:          0          0          0          0     GICv3 149 Level     10320000.crypto
131:          0          0          0          0     GICv3 150 Level     10320000.crypto
132:          0          0          0          0     GICv3 151 Level     10320000.crypto
133:   29691487          0          0          0     GICv3 245 Level     mt7915e
IPI0:      4681       4430     179390      11676       Rescheduling interrupts
IPI1:   4435826    6784369   29530077   10525150       Function call interrupts
IPI2:         0          0          0          0       CPU stop interrupts
IPI3:         0          0          0          0       CPU stop NMIs
IPI4:         0          0          0          0       Timer broadcast interrupts
IPI5:         0          0          0          0       IRQ work interrupts
IPI6:         0          0          0          0       CPU backtrace interrupts
IPI7:         0          0          0          0       KGDB roundup interrupts
Err:          0

No difference with any offload setting (disabled, software, hardware).

So why you enabled them?

Now - network/global disable steering

Install luci-app-irqbalance and enable it

Done, no change.

Hmm also a possibility is the client being the blame, a really easy way to verify that is with a different device.

Not so long ago I had this with steam going even as low as 50mb/s the ssd was the blame.

1 Like

Have you ruled out an ISP problem?

Yes, I can reliably get full symmetric 1Gbps speed if the WiFi radios aren't initialized.

This started in mid October on my E8450 and I'm thinking is a bug in SNAPSHOT at this point. I haven't tried 24.10 series.

Have you tried with different wifi encryption or no encryption?

Kr

No, just your provider throttling speedtest.net

I just tested my MT-6000:

root@MT-6000:~# ubus call system board
{
        "kernel": "6.12.59",
        "hostname": "MT-6000",
        "system": "ARMv8 Processor rev 4",
        "model": "GL.iNet GL-MT6000",
        "board_name": "glinet,gl-mt6000",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r32187-5bdf1b8d9c",
                "target": "mediatek/filogic",
                "description": "OpenWrt SNAPSHOT r32187-5bdf1b8d9c",
                "builddate": "1764597956"
        }
}

My phone is connected via wifi 5GHz (iperf3 wifi > WAN: 800 Mb/s)

My PC is doing iperf3 testing both ways connected to an iperf3 server on the wan and I got symmetrical 940 Mb/s LAN<>WAN

Irqbalance enabled
Hardware offloading enabled

So my MT6000 is working as intended

2 Likes

It's their own speed test server and they're a fiber ISP so that seems unlikely, but possible.

Your test seems to prove it is a problem with my setup, then. But I'm at a dead end trying to figure out what happened and how to reverse it.

As I said, the exact same thing was happening on my E8450. I got the MT6000 to try a fresh start and my first speed test on it (while wireless radios were still offline) was a perfect symmetrical 1Gbps test. As soon as WiFi radios are initialized, the GIF in my first post is what happens.

Try more speed tests
/ https://www.waveform.com/tools/bufferbloat
/ speed.cloudflare.com
/ fast.com

Well, I'll be darned and I may be here to eat crow, but I'm still confused and concerned with the HUGE variance between the different speed tests... which one do I trust? Is my equipment & service OK after all?

Results: https://www.waveform.com/tools/bufferbloat?test-id=607e2975-a9aa-4049-b9d7-6d41419aefd8

CloudFlare doesn't seem able to saturate my connection:

And Fast.com shows very low download speed yet max upload speed, just like Speedtest.net:

well, you can't if they throttle.

I always try iperf3 on public servers for a more direct to direct connection without possible cloud servers which can be notorious for doing that.

But another issue can be the harddrive as what i posted earlier, some hard drives probably most of them have some kind of boost feature, especially on nvmes there are qlc, and tlc nands, and one has more resistance to writing than the other with keeping up the boost.

Back then I had a crucial nvme, and after idle for some time and then writing with steam download i had high speeds, but for longer writes the speed dropped dramaticly, but also kept slow.

My guess is that these disks with already this type of bad nand (qlc) and probably also some tearing close at the edge of life, it becomes much more sensitive to the smallest download what it needs to write, it then already decreases, so if the download size differs per test site it may be aswell triggering that difference.