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.
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
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
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.
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.
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.
Cool, you made a PR!
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).