Belkin RT3200/Linksys E8450 WiFi AX discussion

Ahh! TIL. Thank you!

I am able to achieve similar speed as when WED was enabled.

Yes, packet steering is enabled with RPS set to standard.

I previously posted about this issue and wanted to share my recent troubleshooting (summarized by chatgpt, apologies) to see if anyone has any ideas for further diagnosing.

I’m seeing a consistent Wi-Fi downlink throughput cap (~450–520 Mbps) on a Belkin RT3200 (MT7622 + mt7915) running OpenWrt 24.10.4, while uplink reaches ~700–800 Mbps. I do not recall this issue on OpenWrt 23.05, where down/up were roughly symmetric.


System details

  • OpenWrt 24.10.4, r28959-29397011cc, Linux 6.6.110 aarch64

  • Wireless: 5 GHz, channel 149 (non-DFS), 80 MHz

  • Security: WPA2-PSK (CCMP)

  • Client: Windows, Intel Wi-Fi 6E AX211


Symptoms

  • Client → AP (uplink): ~700–800 Mbps (iperf3)

  • AP → client (downlink): ~450–520 Mbps

  • Same behavior with:

    • internet speedtests

    • local iperf3

  • CPU not pegged, RSSI and PHY rates look good


Wi-Fi-only reproduction (no VLAN / bridge path)

Windows runs iperf3 server, AP runs client:

Windows (Wi-Fi):
iperf3.exe -s -B <wifi_ip>

AP:
iperf3 -c <wifi_ip> -P 4 -t 30

This is AP → Wi-Fi client only (no Ethernet/DSA/bridge involved) and still caps ~500 Mbps down while uplink is higher.


iw station observations

During downlink testing:

  • High PHY rates, e.g. HE-MCS 10/11, 80 MHz, 2SS

  • Low retries/failures (not interference-limited)

  • Repeatedly see:

    rx bitrate: 24.0 MBit/s
    
    

    which appears to indicate low-rate ACK/control traffic and aligns with TCP downlink being limited despite high PHY.


What I’ve already ruled out

  • VLAN / bridge: AP→client iperf reproduces issue; VLAN filtering on/off and WAN/LAN swaps made no difference

  • CPU / IRQ / offload: IRQ pinning, RPS/XPS tried; no impact

  • RF basics: clean non-DFS channel, WPA2-only, good signal

  • Client fallback: iperf bound to Wi-Fi IP; Ethernet disabled during tests


Suspected cause

Given the directional nature (downlink only), Wi-Fi-only reproduction, good PHY + low retries, and my experience that 23.05 did not behave this way, this looks like a mt76/mt7915 regression or behavior change in newer kernels (5.15 → 6.6), possibly around HE/ACK handling or power-save interactions with Intel AX2xx clients.


Questions

  1. Has anyone else seen ~500 Mbps AP→client caps on mt7915 with 24.10 / kernel 6.6?

  2. Are there known mt76 regressions affecting downlink TCP / ACK pacing, especially with Intel AX211?

  3. Any recommended snapshot, patch, or known workaround—or is 23.05 just a more stable choice for mt7915?

Happy to provide iw dev station dump, wireless config, or test specific snapshots if helpful.

Thanks.

1 Like

There’s something odd on your config.

I have had the same speeds since I got this router and started using OpenWRT since v22.x, then upgraded to all 23.05.x releases, all the 24.10.x releases and now I’m on 25.12.0-rc2.

But, in my case, I do reach speedtests of about 650-700 Mbps, sometimes 750, and upload speeds of 890, 900 Mbps, consistent on what you mention.

However, running iperf3 between my laptop and another device behind the router (to avoid any CPU overhead), I do get consistent 900ish Mbps on both download and upload. Only on internet speed tests is that I get around 700 Mbps.

I have tested with WED enabled and disabled and decided to keep it disabled and it’s stable. Of course HW Flow Offloading and Packet steering enabled with standard flows (none).

I do use 160MHz, tho. Don’t know if that makes a difference. In my laptop, the link speed is 2401Mbps, whereas on 80MHz, the link speed is 1200Mbps.

Thanks for the reply. In the /etc/config/wireless is:

...
config wifi-device 'radio1'
option type 'mac80211'
option path '1a143000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
option band '5g'
option country 'US'
option cell_density '1'
option htmode 'HE80'
option channel '149'
option log_level '2'

config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option encryption 'psk2'
option ieee80211r '1'
option ft_over_ds '0'
option ft_psk_generate_local '1'
option time_advertisement '2'
option time_zone 'GMT0'
option ieee80211k '1'
option bss_transition '1'
...

Looks similar to mine (FT options and such), but I use 160MHz, on channel 36 for my router, and 104 for my dumb AP.

How far are you when doing the tests? The best speeds are achieved only by being very close to the router. WiFi is tricky.

In any case, you should get at least 600-650Mbps download. Less than that is odd.

Not recommended to test with the AP itself. Should test as below instead:

iperf3 server < - > RT3200 < - > iperf3 client

This!

In my case I get around 900 Mbps in iperf3, but there’s no way to achieve this in internet speed tests on WiFi. Only up to 700ish. I can achieve it wired.

Do you have any tips to get more WiFi download speed?

My Linksys E8450 runs OpenWRT 25.12.0-rc2 with Hardware Flow Offloading on, 80Mhz.

Iperf3 test:

  • Server: LAN (Wired), a PC on Debian, 192.168.200.3.
  • Client: LAN (Wi-Fi 6 1200Mbps) , a Minibox PC on Windows 11. (There is a bookshelf between the router and the client)
# iperf3.exe -c 192.168.200.3 -P 10

[SUM]   0.00-10.01  sec   714 MBytes   598 Mbits/sec        sender
[SUM]   0.00-10.03  sec   693 MBytes   580 Mbits/sec        receiver

It's basically around 600Mbps, sometimes 700Mbps.

1 Like

This is my iperf3 using my laptop with a Qualcomm FastConnect 6900 connected to my RT3200 router and my other RT3200 dumb AP as a client (to test the WiFi throughput of the router):

root@CharlieExt:~# iperf3 -c 192.168.1.226
Connecting to host 192.168.1.226, port 5201
[  5] local 192.168.1.2 port 55284 connected to 192.168.1.226 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   103 MBytes   860 Mbits/sec    0   2.11 MBytes
[  5]   1.00-2.00   sec   110 MBytes   918 Mbits/sec    0   2.11 MBytes
[  5]   2.00-3.00   sec   108 MBytes   907 Mbits/sec    0   2.11 MBytes
[  5]   3.00-4.00   sec   106 MBytes   894 Mbits/sec    0   2.11 MBytes
[  5]   4.00-5.00   sec   107 MBytes   895 Mbits/sec    0   2.11 MBytes
[  5]   5.00-6.00   sec   107 MBytes   901 Mbits/sec    0   2.11 MBytes
[  5]   6.00-7.00   sec   108 MBytes   903 Mbits/sec    0   2.11 MBytes
[  5]   7.00-8.00   sec   108 MBytes   909 Mbits/sec    0   2.11 MBytes
[  5]   8.00-9.00   sec   106 MBytes   890 Mbits/sec    0   2.11 MBytes
[  5]   9.00-10.00  sec   108 MBytes   903 Mbits/sec    0   2.11 MBytes




[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.05 GBytes   899 Mbits/sec    0            sender
[  5]   0.00-10.01  sec  1.04 GBytes   896 Mbits/sec                  receiver

iperf Done.

And the reverse test (upload from the AP to the laptop):

root@CharlieExt:~# iperf3 -c 192.168.1.226 -R
Connecting to host 192.168.1.226, port 5201
Reverse mode, remote host 192.168.1.226 is sending
[  5] local 192.168.1.2 port 58818 connected to 192.168.1.226 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   104 MBytes   869 Mbits/sec
[  5]   1.00-2.00   sec   106 MBytes   892 Mbits/sec
[  5]   2.00-3.00   sec   107 MBytes   900 Mbits/sec
[  5]   3.00-4.00   sec   111 MBytes   927 Mbits/sec
[  5]   4.00-5.00   sec   111 MBytes   930 Mbits/sec
[  5]   5.00-6.00   sec   107 MBytes   895 Mbits/sec
[  5]   6.00-7.00   sec   111 MBytes   929 Mbits/sec
[  5]   7.00-8.00   sec   111 MBytes   931 Mbits/sec
[  5]   8.00-9.00   sec   108 MBytes   909 Mbits/sec
[  5]   9.00-10.00  sec   109 MBytes   917 Mbits/sec




[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.06 GBytes   912 Mbits/sec                  sender
[  5]   0.00-10.00  sec  1.06 GBytes   910 Mbits/sec                  receiver

iperf Done.

Pretty much symmetrical.

But running any speed test, I get up to 690-700ish Mbps in downloads, and around 900Mbps in uploads. Running internet speed tests wired, does give me aroung 900 Mbps symmetrical.

I get line rate (low 900’s) over WiFi in the same room as my RT3200 on channel 52 with 80Mz width.

I have never had the need to experiment with 160 MHz width, but I recall reading on the internet (Hah! Now there’s a reliable source reference!) that there is a trade-off between speed at range and channel width. Sorry I can’t give you personal experience, but it might be worth an experiment to see if 80 MHz is as good as (perhaps better?) 160 MHz at longer distances from the AP. 80 MHz makes it easier to avoid channel frequency overlap interference with multiple AP’s too.

Nvrmnd - I see you are already getting near line rate over WiFi with iperf3 now.

Yeah, wireless is fine through iperf3. Internet speed tests are the problem where I get around 650-700 Mbps wireless but around 900 wired. Those are downloads. Uploads are fine on both wireless and wired.

1 Like

Did you enable WED?

The same with WED enabled or disabled.

So, it sounds like I am not alone in this now. Something is happening in the AP->wifi_client download and does not appear to be overloaded cpu.

Could it be that what we are seeing is the same as is reported in the mt7915 driver:

EDIT: Others having similar problems here and not present on 23.05.5

I’m currently using a GL-iNet MT6000, but it is essentially a MT7915E, so it should be similar to the RT3200/E8450.

I’m able to get line speed for download (800Mbps) when tested with my iPhone with Speediest.Net apps, when I’m really close to the AP. It looks about right to me since my iPhone max PHY speed is 1200Mbps. With AX router, since max PHY speed is only 866Mbps, my iPhone can only get around 600Mbps on a good day.

My MT6000 is running on a master tree build from around early October 2025.

Are you using snapshot/master or the stable releases?

I prefer snapshot since the mt76 drivers are most current.

Edit: To add on, sometimes turning down the AP’s TX power might help in signal stability as it might result is a less noisy environment.

It’s been a few months, but I thought I’d follow up on the issue I had since october/november with wifi not working on snapshot. A closed issue on github encouraged me to retry with today’s snapshot. Initially wifi didn’t work, just like before. However, after re-creating my wifi networks on radio2 and radio3 (which look like clones of radio0 and radio1), things now work. Even after a reboot my network comes up. So, hooray I can make it work and I can now be on an up to date software stack. But also: why are there two sets of radios, and why am I obliged to use radio2 and radio3 since some change in october?