Belkin RT3200/Linksys E8450 WiFi AX discussion

I never tried the stock firmware. We have several new iPhones and iPads connecting and working just fine on a recent snapshot using the opensource driver for reference.

no, i don't have this device, mine is xiaomi ax 3200,but mtk does not have that limit with apple

Just to make sure I'm clear, you mean "no" the Apple devices don't have this AX problem with the stock firmware and driver? Sorry, it's been a long week. :slight_smile:

apple does not have this problem with mtk drivers on openwrt. i do not use stock firmware.

Is this to be expected when running an iperf3 server on WDS client (192.168.1.2) and then running from the WDS AP (192.168.1.1):

root@OpenWrt:~# iperf3 -c 192.168.1.2 --bidir
Connecting to host 192.168.1.2, port 5201
[  5] local 192.168.1.1 port 51050 connected to 192.168.1.2 port 5201
[  7] local 192.168.1.1 port 51066 connected to 192.168.1.2 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec  98.2 MBytes   821 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   0.00-1.00   sec  16.3 MBytes   136 Mbits/sec
[  5][TX-C]   1.00-2.00   sec  90.9 MBytes   765 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   1.00-2.00   sec  15.5 MBytes   131 Mbits/sec
[  5][TX-C]   2.00-3.00   sec   101 MBytes   847 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   2.00-3.00   sec  13.3 MBytes   112 Mbits/sec
[  5][TX-C]   3.00-4.00   sec   106 MBytes   889 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   3.00-4.00   sec  11.7 MBytes  97.9 Mbits/sec
[  5][TX-C]   4.00-5.00   sec  97.0 MBytes   813 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   4.00-5.00   sec  12.9 MBytes   108 Mbits/sec
[  5][TX-C]   5.00-6.00   sec  91.0 MBytes   762 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   5.00-6.00   sec  14.0 MBytes   118 Mbits/sec
[  5][TX-C]   6.00-7.00   sec  77.0 MBytes   648 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   6.00-7.00   sec  16.3 MBytes   137 Mbits/sec
[  5][TX-C]   7.00-8.00   sec   106 MBytes   888 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   7.00-8.00   sec  13.1 MBytes   110 Mbits/sec
[  5][TX-C]   8.00-9.00   sec  97.2 MBytes   818 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   8.00-9.00   sec  13.7 MBytes   115 Mbits/sec
[  5][TX-C]   9.00-10.01  sec  95.9 MBytes   800 Mbits/sec    0   1.94 MBytes
[  7][RX-C]   9.00-10.01  sec  12.5 MBytes   104 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.01  sec   960 MBytes   805 Mbits/sec    0             sender
[  5][TX-C]   0.00-10.01  sec   959 MBytes   803 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.01  sec   140 MBytes   118 Mbits/sec  296             sender
[  7][RX-C]   0.00-10.01  sec   139 MBytes   117 Mbits/sec                  receiver

iperf Done.

That is 800Mbit/s from WDS AP to WDS client, but only 100Mbit/s from WDS client to WDS AP?

Also is it normal to see a lot of TCP retransmissions when uploading to WDS AP from WDS client?

root@OpenWrt:~# iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.2 port 48060 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  53.7 MBytes   449 Mbits/sec  147    171 KBytes
[  5]   1.00-2.00   sec  47.8 MBytes   401 Mbits/sec  119    187 KBytes
[  5]   2.00-3.00   sec  54.4 MBytes   456 Mbits/sec  130    124 KBytes
[  5]   3.00-4.00   sec  50.5 MBytes   424 Mbits/sec  124    171 KBytes
[  5]   4.00-5.00   sec  55.1 MBytes   461 Mbits/sec  118    129 KBytes
[  5]   5.00-6.00   sec  54.4 MBytes   458 Mbits/sec   95    178 KBytes
[  5]   6.00-7.00   sec  53.5 MBytes   449 Mbits/sec  160    164 KBytes
[  5]   7.00-8.00   sec  48.5 MBytes   407 Mbits/sec  103    182 KBytes
[  5]   8.00-9.00   sec  46.0 MBytes   386 Mbits/sec  127    194 KBytes
[  5]   9.00-10.00  sec  48.8 MBytes   410 Mbits/sec  177    165 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   513 MBytes   430 Mbits/sec  1300             sender
[  5]   0.00-10.00  sec   512 MBytes   429 Mbits/sec                  receiver

iperf Done.

@amteza does this correspond with your tests?

I just noticed this yesterday.. or at least the high retransmission rate when transmitting from a 4mac STA interface -> 4mac AP interface. If I switch to OpenWrt master or use the mac80211+hostapd packages from master on 22.03 I no longer see this behavior. So something likely in mac80211 between 22.03 and master seems to have fixed it.

What version are you running?

I haven't had a chance to narrow it down to a specific patch but if I had to guess maybe this is what fixes it: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=eb07020de2b4a5f89579f09f5060d4b9f070a356

2 Likes

Thanks a lot for your insight.

I'm running: OpenWrt 22.03-SNAPSHOT r19776-f579b8538b.

So maybe that patch needs to be backported to 22.03? BTW I'm only using WDS, no vlan?

I am testing on a 4mac interface only (no VLANs) right now as well.

I also just tested bringing back the patch mentioned in my last message and it does indeed solve the issue of high retransmissions.. definitely worth backporting to 22.03.

Summary of bidirectional iperf3 from 4mac STA <-> 4mac AP:

[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec   437 MBytes   367 Mbits/sec    0             sender
[  5][TX-C]   0.00-10.00  sec   429 MBytes   359 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec   755 MBytes   633 Mbits/sec    0             sender
[  7][RX-C]   0.00-10.00  sec   743 MBytes   623 Mbits/sec                  receiver

Downstream (RX) is still favored (which is probably ideal) but not nearly as bad as your first example.. and no retransmissions with the patch. If I just run upstream iperf3 from 4mac STA -> AP performance is also good and no retransmissions:

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   916 MBytes   769 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   908 MBytes   762 Mbits/sec                  receiver
1 Like

Excellent work in getting so quickly to the bottom of this @cmonroe!

@nbd please can you backport the above commit to solve this extreme asymmetry between download and upload in the context of WDS:

[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.01  sec   960 MBytes   805 Mbits/sec    0             sender
[  5][TX-C]   0.00-10.01  sec   959 MBytes   803 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.01  sec   140 MBytes   118 Mbits/sec  296             sender
[  7][RX-C]   0.00-10.01  sec   139 MBytes   117 Mbits/sec                  receiver

and whatever is causing the high number of retransmissions.

using the latest SNAPSHOT - r20877-7d6032f310

[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-300.00 sec  21.2 GBytes   608 Mbits/sec    5             sender
[  5][TX-C]   0.00-300.03 sec  21.2 GBytes   608 Mbits/sec                  receiver
[  7][RX-C]   0.00-300.00 sec  19.6 GBytes   560 Mbits/sec  4522             sender
[  7][RX-C]   0.00-300.03 sec  19.6 GBytes   560 Mbits/sec                  receiver

one direction to remote server:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-300.00 sec  30.3 GBytes   867 Mbits/sec  470             sender
[  5]   0.00-300.02 sec  30.3 GBytes   867 Mbits/sec                  receiver

one way to server on device:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-300.00 sec  35.2 GBytes  1.01 Gbits/sec    0             sender
[  5]   0.00-300.01 sec  35.2 GBytes  1.01 Gbits/sec                  receiver

bidir to server on device:
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-300.00 sec  26.6 GBytes   762 Mbits/sec    1             sender
[  5][TX-C]   0.00-300.02 sec  26.6 GBytes   762 Mbits/sec                  receiver
[  7][RX-C]   0.00-300.00 sec  11.8 GBytes   339 Mbits/sec    7             sender
[  7][RX-C]   0.00-300.02 sec  11.8 GBytes   339 Mbits/sec                  receiver

yes iperf on the device does max the cpu out.
I'm using iperf on a separate machine not on the device. seems rater blalnaced to me. when I hosted iperf on the device it was rather unbalanced.

but yeah retransmits a little high. could just be how it is though with everything on wifi.

The anemic switch is the devices weakest point. if only it had a 2.5gb external port or a 10g port but those are just to expensive still. sigh

No, mate, it does not. Look, the following test is from client WDS to AP WDS:

root@nanohd-downstairs:~# iperf3 -c nanohd-upstairs.lan --bidir
Connecting to host nanohd-upstairs.lan, port 5201
[  5] local 2403:5804:6e::2 port 47878 connected to 2403:5804:6e::3 port 5201
[  7] local 2403:5804:6e::2 port 47890 connected to 2403:5804:6e::3 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec  12.0 MBytes   101 Mbits/sec    0    484 KBytes
[  7][RX-C]   0.00-1.00   sec  22.4 MBytes   188 Mbits/sec
[  5][TX-C]   1.00-2.00   sec  22.2 MBytes   186 Mbits/sec    0    484 KBytes
[  7][RX-C]   1.00-2.00   sec  19.9 MBytes   166 Mbits/sec
[  5][TX-C]   2.00-3.00   sec  15.5 MBytes   131 Mbits/sec    1    484 KBytes
[  7][RX-C]   2.00-3.00   sec  15.3 MBytes   129 Mbits/sec
[  5][TX-C]   3.00-4.00   sec  15.6 MBytes   131 Mbits/sec    0    484 KBytes
[  7][RX-C]   3.00-4.00   sec  15.6 MBytes   131 Mbits/sec
[  5][TX-C]   4.00-5.00   sec  22.0 MBytes   185 Mbits/sec    0    484 KBytes
[  7][RX-C]   4.00-5.00   sec  21.7 MBytes   182 Mbits/sec
[  5][TX-C]   5.00-6.00   sec  26.8 MBytes   225 Mbits/sec    0    484 KBytes
[  7][RX-C]   5.00-6.00   sec  5.85 MBytes  49.1 Mbits/sec
[  5][TX-C]   6.00-7.00   sec  24.1 MBytes   202 Mbits/sec    0    484 KBytes
[  7][RX-C]   6.00-7.00   sec  19.9 MBytes   167 Mbits/sec
[  5][TX-C]   7.00-8.00   sec  21.3 MBytes   179 Mbits/sec    0    484 KBytes
[  7][RX-C]   7.00-8.00   sec  22.6 MBytes   190 Mbits/sec
[  5][TX-C]   8.00-9.01   sec  19.1 MBytes   159 Mbits/sec    1    484 KBytes
[  7][RX-C]   8.00-9.01   sec  21.1 MBytes   176 Mbits/sec
[  5][TX-C]   9.01-10.00  sec  15.9 MBytes   134 Mbits/sec    0    484 KBytes
[  7][RX-C]   9.01-10.00  sec  17.7 MBytes   149 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec   195 MBytes   163 Mbits/sec    2             sender
[  5][TX-C]   0.00-10.01  sec   194 MBytes   162 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec   183 MBytes   153 Mbits/sec  767             sender
[  7][RX-C]   0.00-10.01  sec   182 MBytes   152 Mbits/sec                  receiver

iperf Done.

The network is busy with a Youtube stream and a Facetime call, and WDS connection is only 620-780 Mbps (WiFi 5). So it looks much more balanced than yours; however, I can see a significant number of retransmissions, not as many as you.

And regarding uploading to WDS AP from the WDS client, I don't see the number of retransmissions you see at all; see below:

root@nanohd-upstairs:~# iperf3 -c nanohd-downstairs.lan
Connecting to host nanohd-downstairs.lan, port 5201
[  5] local 2403:5804:6e::3 port 55454 connected to 2403:5804:6e::2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  40.9 MBytes   340 Mbits/sec    0    478 KBytes
[  5]   1.01-2.02   sec  40.1 MBytes   334 Mbits/sec    0    478 KBytes
[  5]   2.02-3.03   sec  40.4 MBytes   336 Mbits/sec    0    478 KBytes
[  5]   3.03-4.03   sec  42.4 MBytes   355 Mbits/sec    0    478 KBytes
[  5]   4.03-5.02   sec  24.5 MBytes   207 Mbits/sec    1    478 KBytes
[  5]   5.02-6.01   sec  39.9 MBytes   336 Mbits/sec    0    478 KBytes
[  5]   6.01-7.00   sec  40.6 MBytes   345 Mbits/sec    0    478 KBytes
[  5]   7.00-8.00   sec  38.5 MBytes   323 Mbits/sec    0    478 KBytes
[  5]   8.00-9.01   sec  40.6 MBytes   339 Mbits/sec    0    478 KBytes
[  5]   9.01-10.00  sec  21.5 MBytes   181 Mbits/sec    2    505 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   369 MBytes   310 Mbits/sec    3             sender
[  5]   0.00-10.00  sec   369 MBytes   309 Mbits/sec                  receiver

iperf Done.

Note this test added a Netflix stream to the test. My wifey just told me to f-off and to stop playing with the network. :smiley:

I'm running in WDS AP version OpenWrt SNAPSHOT, r20876-f38276c9be and in WDS client version OpenWrt SNAPSHOT, r20885-629f2de1a7.

@Lynx, I just noted I've got the patch https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=eb07020de2b4a5f89579f09f5060d4b9f070a356 in both devices.

3 Likes

Right! Further confirmation we need this in 22.03.

a packet capture via tcpdump of your misbehaving test would be interesting. tcpdump -i the_interface -s 128 -w somewherewithstorage.cap

Anyone else having reboot issues? I have two set to reboot once a week. About after three weeks it reboots and doesn’t come back up until I manually go unplug the router and plug it back in. I have v0.6.5 with 22.03 installed.

I asked in the AdGuard Home thread if I need to worry about running out of storage space when installing with opkg on Linksys E8450 / Belkin RT3200, since the wiki mentions a 100MB free disk/flash space requirement. Didn't yet get a clear answer.

But now I'm wondering: the version of AdguardHome in the repository is 0.107.6-1 (this release is 6 months old). I'm on the latest firmware version 22.03.0 - r19685-512e76967f. In the OpenWrt master branch there's version v0.107.12 (committed by @hnyman, now 1 month behind). Latest release is v0.107.16.

What is the reason this package is not fully up to date? I think installing through opkg would be most convenient (also seems to be require less storage space). But I would also like to be fairly up to date.

I believe the package feeds are versioned. Not sure why a latest snapshot would not return a more recent version. I see:

# opkg list | grep adguard
adguardhome - 0.107.12-1 - Free and open source, powerful network-wide ads and trackers blocking DNS server.

Openwrt is a community project. You are welcome to update and create a PR.

EDIT: https://github.com/openwrt/packages/pull/19585

2 Likes

Cool, you made a PR! :slight_smile:

But when would this newer version become available on 22.03.0?

For example when I check Updates in the OpenWrt Software page on my router I see 7 package updates. For example: luci-app-opkg git-22.154.41881-28e92e3 » git-22.273.29004-9f6876b.

I'd love to see the newer version of AdGuard listed there too.

Or can we only have new versions of packages when a new OpenWrt version is released? (and the reason we don't have v0.107.11 and v0.107.12 is because they were committed after the 22.03.0 was made?)

Yes, unless the update is backported. Alternatively, you can use a nightly snapshot.

So @nbd will this be ported to 22.03 given that it apparently significantly improves upload performance in at least WDS context?

Thanks, good to know. In that case I'd rather run AdGuard on my home server (with Docker).

1 Like