AQL and the ath10k is *lovely*

@dtaht
It seems that sjpacket was still using the old mainline QCA9984 firmware v131 (several years old) that is currently available in the 22.03 branch. I had all kinds of weird problems with that old firmware v131, including total loss of WIFI connectivity overnight. The new board-2.bin and mainline firmware v157 have gotten rid of all such problems for me.

@sjpacket: please upgrade to the new board-2.bin and firmware v157.

Or you can just use a recent master snapshot since the master branch has been recently updated with the latest board-2.bin and QCA9984 v157 firmware.

1 Like

Can someone with some authority within the OpenWrt developer community help convince the OpenWrt developers to commit the latest linux-firmware package to the 22.03 branch? :slight_smile:

Also, a commit of the recent ATF/RRS + multicast latency fix to the 21.02 branch so the next 21.02.4 release will have nice WIFI again. For the 21.02 branch, only the 21.02.1 release has decent WIFI because 21.02.2, 21.02.3 had the troublesome Virtual time-based airtime scheduler commit

I'm not a hundred percent sure we are out of the woods yet. A couple of days ago I had to rollback my 21.02-rc5 + multicast patches because my partner was constantly complaining that she couldn't open SSH tunnels to connect to the Citrix farm she works on.

After rolling back to 21.02.1 everything is fine again. I've been thinking how to test what's going on, I tried rebooting (just in case it was uptime degradation), removing DSCP rules, disabling SQM, disabling the firewall, nothing helped. However, flent tests where showing good latency and nothing weird.

I'm out of ideas, for now back to 21.02.1 (mt76).

I use multiple different VPN/tunnelling methods (Wireguard, OpenVPN, Strongswan/IPsec, SSLVPN, Websocket/WebTransport tunnelling, Reverse SSH tunnelling) frequently for connectivity to different network environments and I don't have any problem with them when connecting over WIFI. I'm using R7800 master snapshot with NSS acceleration and the latest mainline QCA9984 FW v157.

Did she also try to open SSH tunnel to her Citrix farm by connecting to your router via Ethernet?

Yes, @vochong, we did that to rule out a problem with the tunnels. Rolling back is the only thing that worked. To note, we are using the mt76 driver in our APs. I'll try a few more things this weekend to see if I can pin it to the driver or it's something else.

I just did this and now I have latest firmware and board-2.bin with openwrt 22.03-tip

# head -1 /lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
QCA-ATH10Kw10.4-3.9.0.2-00157

the sha256 of board-2.bin file from kvalo's repo matches the one I have with the recent build.

diff

--- a/package/firmware/linux-firmware/Makefile
+++ b/package/firmware/linux-firmware/Makefile
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk

 PKG_NAME:=linux-firmware
-PKG_VERSION:=20220411
+PKG_VERSION:=20220708
 PKG_RELEASE:=1

 PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=020b11f6412f4956f5a6f98de7d41867d2b30ea0ce81b1e2d206ec9840363849
+PKG_HASH:=0abec827a035c82bdcabdf82aa37ded247bc682ef05861bd409ea6f477bab81d

 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
2 Likes

and the suspense is killing me.

@sjpacket - are we out of the woods yet?

Update: nothing to do with OpenWrt it seems, false alarm.

Latest rc6 (WLAN test/no-SQM):

same test? Do a:

sudo sysctl -w net.ipv4.tcp_ecn=1   

on the server and client?

If this frushinluggin thing is finally stable I have several patches intended to demonstrate less latency... queued up.

You are also demonstrating 100ms rrul_be, which I hope is coming from your client? (Yes, I'm happy it's stable, but...)

Quick test:

T=mt76 # and other test params
for i in 1 2 4 8 16
do
flent -l 30 --socket-stats -x --step-size=.05 --te=upload_streams=$i -t $T-$i tcp_nup
flent -l 30 --socket-stats -x --step-size=.05 --te=download_streams=$i -t $T-$i tcp_ndown
done

a packet cap at the server for the single flow tests would be good.

Or we can all declare victory, clink glasses, and take august off if @sjpacket checks in positive. Anyone going to battlemesh in september? (it's in rome). I'm buying the first round....

Nope, sadly normally it's like this:

192.168.1.1       : [53], 64 bytes, 3.10 ms (3.48 avg, 0% loss)
fd57:11da:b11c::1 : [53], 64 bytes, 2.72 ms (3.90 avg, 0% loss)
192.168.1.1       : [54], 64 bytes, 3.28 ms (3.47 avg, 0% loss)
fd57:11da:b11c::1 : [54], 64 bytes, 2.86 ms (3.88 avg, 0% loss)
192.168.1.1       : [55], 64 bytes, 3.12 ms (3.47 avg, 0% loss)
fd57:11da:b11c::1 : [55], 64 bytes, 3.04 ms (3.87 avg, 0% loss)
192.168.1.1       : [56], 64 bytes, 3.16 ms (3.46 avg, 0% loss)
fd57:11da:b11c::1 : [56], 64 bytes, 2.75 ms (3.85 avg, 0% loss)
192.168.1.1       : [57], 64 bytes, 3.16 ms (3.46 avg, 0% loss)
fd57:11da:b11c::1 : [57], 64 bytes, 3.00 ms (3.83 avg, 0% loss)
192.168.1.1       : [58], 64 bytes, 3.59 ms (3.46 avg, 0% loss)
fd57:11da:b11c::1 : [58], 64 bytes, 2.93 ms (3.82 avg, 0% loss)
192.168.1.1       : [59], 64 bytes, 2.90 ms (3.45 avg, 0% loss)
fd57:11da:b11c::1 : [59], 64 bytes, 3.12 ms (3.81 avg, 0% loss)
192.168.1.1       : [60], 64 bytes, 2.98 ms (3.44 avg, 0% loss)
fd57:11da:b11c::1 : [60], 64 bytes, 2.86 ms (3.79 avg, 0% loss)
192.168.1.1       : [61], 64 bytes, 2.87 ms (3.43 avg, 0% loss)
fd57:11da:b11c::1 : [61], 64 bytes, 3.50 ms (3.79 avg, 0% loss)
192.168.1.1       : [62], 64 bytes, 2.80 ms (3.42 avg, 0% loss)
fd57:11da:b11c::1 : [62], 64 bytes, 2.80 ms (3.77 avg, 0% loss)
192.168.1.1       : [63], 64 bytes, 2.98 ms (3.41 avg, 0% loss)
fd57:11da:b11c::1 : [63], 64 bytes, 2.21 ms (3.75 avg, 0% loss)
192.168.1.1       : [64], 64 bytes, 2.94 ms (3.41 avg, 0% loss)
fd57:11da:b11c::1 : [64], 64 bytes, 2.34 ms (3.72 avg, 0% loss)
192.168.1.1       : [65], 64 bytes, 3.02 ms (3.40 avg, 0% loss)
fd57:11da:b11c::1 : [65], 64 bytes, 2.86 ms (3.71 avg, 0% loss)
192.168.1.1       : [66], 64 bytes, 3.58 ms (3.40 avg, 0% loss)
fd57:11da:b11c::1 : [66], 64 bytes, 2.86 ms (3.70 avg, 0% loss)
192.168.1.1       : [67], 64 bytes, 3.01 ms (3.40 avg, 0% loss)
fd57:11da:b11c::1 : [67], 64 bytes, 2.93 ms (3.69 avg, 0% loss)
192.168.1.1       : [68], 64 bytes, 3.01 ms (3.39 avg, 0% loss)
fd57:11da:b11c::1 : [68], 64 bytes, 2.82 ms (3.67 avg, 0% loss)
192.168.1.1       : [69], 64 bytes, 2.70 ms (3.38 avg, 0% loss)
fd57:11da:b11c::1 : [69], 64 bytes, 3.00 ms (3.66 avg, 0% loss)
[...]
192.168.1.1       : xmt/rcv/%loss = 70/70/0%, min/avg/max = 2.33/3.38/19.9
fd57:11da:b11c::1 : xmt/rcv/%loss = 70/70/0%, min/avg/max = 2.21/3.66/44.5

It goes up to 80-100 ms during bi-directional load. ECN was on in client's configuration. I'll perform a new test with it on in the server/router and perform the 5 rounds you request too.

Hello @dtaht,

I am not sure yet, but initial testing looks promising! I hoping to test this week with more macOS clients, around 30 clients. I only had 4 clients available to test for the past few days.

I will keep you posted on how it goes this week.

thx thx thx thx thx thx thx thx! Virtual beer all round.

1 Like

next step if anyone has energy left

5 Likes

Hey, @dtaht,

As per your request, see below (please ignore the cake_layer4 reference, forgot to remove it from the title).

You can find the packet capture in the shared folder with all the data from the tests, below you can see the console output, just in case is somehow useful.

Command:

T="v22.03-rc6 mt76 WLAN ECN-on loc servs off"; for i in 1 2 4 8 16; do flent -l 30 --socket-stats -x --step-size=.05 --te=upload_streams=$i -H openwrt.lan -t tcp_nup-$i-threads-$T tcp_nup; flent -l 30 --socket-stats -x --step-size=.05 --te=download_streams=$i -H openwrt.lan -t tcp_ndown-$i-threads-$T tcp_ndown; done

Results:

Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193108.679003.tcp_nup-1-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:31:08.679003
  Title: 'tcp_nup-1-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                             avg       median          # data pts
 Ping (ms) ICMP                   :        28.47        32.70 ms              799
 TCP upload avg                   :       585.62          N/A Mbits/s         799
 TCP upload sum                   :       585.62          N/A Mbits/s         799
 TCP upload::1                    :       585.62       584.35 Mbits/s         799
 TCP upload::1::tcp_cwnd          :      1904.41      1853.00                 511
 TCP upload::1::tcp_delivery_rate :       544.27       542.11                 511
 TCP upload::1::tcp_pacing_rate   :       868.92       813.95                 511
 TCP upload::1::tcp_rtt           :        32.26        32.25                 510
 TCP upload::1::tcp_rtt_var       :         0.70         0.18                 510
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193154.022651.tcp_ndown-1-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:31:54.022651
  Title: 'tcp_ndown-1-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        22.20        23.90 ms              800
 TCP download avg :       440.08          N/A Mbits/s         800
 TCP download sum :       440.08          N/A Mbits/s         800
 TCP download::1  :       440.08       439.85 Mbits/s         800
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193239.365757.tcp_nup-2-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:32:39.365757
  Title: 'tcp_nup-2-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                             avg       median          # data pts
 Ping (ms) ICMP                   :        27.90        32.10 ms              799
 TCP upload avg                   :       308.83          N/A Mbits/s         799
 TCP upload sum                   :       617.66          N/A Mbits/s         799
 TCP upload::1                    :       362.88       363.68 Mbits/s         799
 TCP upload::1::tcp_cwnd          :      1187.61      1229.50                 514
 TCP upload::1::tcp_delivery_rate :       338.41       343.73                 514
 TCP upload::1::tcp_pacing_rate   :       543.64       505.55                 514
 TCP upload::1::tcp_rtt           :        32.29        32.94                 514
 TCP upload::1::tcp_rtt_var       :         0.56         0.24                 514
 TCP upload::2                    :       254.78       255.34 Mbits/s         799
 TCP upload::2::tcp_cwnd          :       837.07       883.50                 514
 TCP upload::2::tcp_delivery_rate :       237.87       241.67                 514
 TCP upload::2::tcp_pacing_rate   :       376.14       355.31                 514
 TCP upload::2::tcp_rtt           :        32.56        33.28                 514
 TCP upload::2::tcp_rtt_var       :         0.71         0.38                 514
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193324.821571.tcp_ndown-2-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:33:24.821571
  Title: 'tcp_ndown-2-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        20.60        22.75 ms              800
 TCP download avg :       240.18          N/A Mbits/s         800
 TCP download sum :       480.36          N/A Mbits/s         800
 TCP download::1  :       227.81       235.93 Mbits/s         800
 TCP download::2  :       252.55       250.43 Mbits/s         800
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193410.266754.tcp_nup-4-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:34:10.266754
  Title: 'tcp_nup-4-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                             avg       median          # data pts
 Ping (ms) ICMP                   :        28.66        33.00 ms              797
 TCP upload avg                   :       158.40          N/A Mbits/s         799
 TCP upload sum                   :       633.60          N/A Mbits/s         799
 TCP upload::1                    :       262.82       261.44 Mbits/s         799
 TCP upload::1::tcp_cwnd          :       885.56       890.00                 506
 TCP upload::1::tcp_delivery_rate :       244.02       244.62                 506
 TCP upload::1::tcp_pacing_rate   :       387.62       356.85                 506
 TCP upload::1::tcp_rtt           :        33.78        33.81                 505
 TCP upload::1::tcp_rtt_var       :         0.71         0.35                 505
 TCP upload::2                    :        95.76        98.15 Mbits/s         799
 TCP upload::2::tcp_cwnd          :       326.41       319.00                 506
 TCP upload::2::tcp_delivery_rate :        89.96        90.47                 506
 TCP upload::2::tcp_pacing_rate   :       138.57       132.29                 506
 TCP upload::2::tcp_rtt           :        34.28        34.43                 506
 TCP upload::2::tcp_rtt_var       :         1.25         0.87                 506
 TCP upload::3                    :       169.55       170.97 Mbits/s         799
 TCP upload::3::tcp_cwnd          :       579.42       595.00                 506
 TCP upload::3::tcp_delivery_rate :       158.53       161.07                 506
 TCP upload::3::tcp_pacing_rate   :       247.71       230.77                 506
 TCP upload::3::tcp_rtt           :        34.38        34.28                 506
 TCP upload::3::tcp_rtt_var       :         0.79         0.46                 506
 TCP upload::4                    :       105.47       106.32 Mbits/s         799
 TCP upload::4::tcp_cwnd          :       361.49       347.00                 507
 TCP upload::4::tcp_delivery_rate :        99.02       100.19                 507
 TCP upload::4::tcp_pacing_rate   :       153.41       144.38                 507
 TCP upload::4::tcp_rtt           :        34.49        34.67                 507
 TCP upload::4::tcp_rtt_var       :         1.24         0.87                 507
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193455.945420.tcp_ndown-4-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:34:55.945420
  Title: 'tcp_ndown-4-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        21.70        23.55 ms              799
 TCP download avg :       115.38          N/A Mbits/s         799
 TCP download sum :       461.52          N/A Mbits/s         799
 TCP download::1  :       110.48       111.86 Mbits/s         799
 TCP download::2  :       119.35       118.37 Mbits/s         799
 TCP download::3  :       119.62       118.80 Mbits/s         799
 TCP download::4  :       112.07       114.26 Mbits/s         799
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193541.605603.tcp_nup-8-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:35:41.605603
  Title: 'tcp_nup-8-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                             avg       median          # data pts
 Ping (ms) ICMP                   :        38.98        44.95 ms              798
 TCP upload avg                   :        71.24          N/A Mbits/s         800
 TCP upload sum                   :       569.91          N/A Mbits/s         800
 TCP upload::1                    :        54.49        57.45 Mbits/s         800
 TCP upload::1::tcp_cwnd          :       247.44       261.00                 503
 TCP upload::1::tcp_delivery_rate :        51.56        51.61                 503
 TCP upload::1::tcp_pacing_rate   :        73.68        72.68                 503
 TCP upload::1::tcp_rtt           :        47.63        48.10                 502
 TCP upload::1::tcp_rtt_var       :         1.92         1.62                 502
 TCP upload::2                    :        71.79        70.89 Mbits/s         800
 TCP upload::2::tcp_cwnd          :       321.01       324.00                 503
 TCP upload::2::tcp_delivery_rate :        67.53        67.74                 503
 TCP upload::2::tcp_pacing_rate   :        97.52        92.74                 503
 TCP upload::2::tcp_rtt           :        47.30        47.71                 501
 TCP upload::2::tcp_rtt_var       :         1.67         1.35                 501
 TCP upload::3                    :       128.27       130.44 Mbits/s         800
 TCP upload::3::tcp_cwnd          :       570.46       559.00                 503
 TCP upload::3::tcp_delivery_rate :       121.79       119.15                 503
 TCP upload::3::tcp_pacing_rate   :       176.62       170.56                 503
 TCP upload::3::tcp_rtt           :        47.09        47.47                 503
 TCP upload::3::tcp_rtt_var       :         1.20         0.86                 503
 TCP upload::4                    :        68.24        68.64 Mbits/s         800
 TCP upload::4::tcp_cwnd          :       307.32       315.00                 502
 TCP upload::4::tcp_delivery_rate :        65.02        66.30                 502
 TCP upload::4::tcp_pacing_rate   :        92.76        88.77                 502
 TCP upload::4::tcp_rtt           :        47.38        47.87                 501
 TCP upload::4::tcp_rtt_var       :         1.64         1.29                 501
 TCP upload::5                    :        69.93        68.79 Mbits/s         800
 TCP upload::5::tcp_cwnd          :       318.24       321.00                 503
 TCP upload::5::tcp_delivery_rate :        66.33        66.76                 503
 TCP upload::5::tcp_pacing_rate   :        95.73        90.07                 503
 TCP upload::5::tcp_rtt           :        47.95        48.62                 503
 TCP upload::5::tcp_rtt_var       :         1.68         1.39                 503
 TCP upload::6                    :        54.22        57.73 Mbits/s         800
 TCP upload::6::tcp_cwnd          :       246.80       262.00                 503
 TCP upload::6::tcp_delivery_rate :        51.42        51.52                 503
 TCP upload::6::tcp_pacing_rate   :        73.10        72.51                 503
 TCP upload::6::tcp_rtt           :        47.77        48.42                 500
 TCP upload::6::tcp_rtt_var       :         2.00         1.71                 500
 TCP upload::7                    :        59.84        60.31 Mbits/s         800
 TCP upload::7::tcp_cwnd          :       271.14       280.00                 502
 TCP upload::7::tcp_delivery_rate :        56.57        56.91                 502
 TCP upload::7::tcp_pacing_rate   :        81.25        78.87                 502
 TCP upload::7::tcp_rtt           :        47.49        48.05                 500
 TCP upload::7::tcp_rtt_var       :         1.88         1.60                 500
 TCP upload::8                    :        63.13        63.43 Mbits/s         800
 TCP upload::8::tcp_cwnd          :       284.38       293.00                 503
 TCP upload::8::tcp_delivery_rate :        59.79        60.75                 503
 TCP upload::8::tcp_pacing_rate   :        85.70        82.64                 503
 TCP upload::8::tcp_rtt           :        47.30        47.65                 502
 TCP upload::8::tcp_rtt_var       :         1.67         1.30                 502
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193627.687619.tcp_ndown-8-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:36:27.687619
  Title: 'tcp_ndown-8-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        22.60        25.35 ms              800
 TCP download avg :        55.62          N/A Mbits/s         800
 TCP download sum :       445.00          N/A Mbits/s         800
 TCP download::1  :        55.89        54.35 Mbits/s         800
 TCP download::2  :        54.13        54.49 Mbits/s         800
 TCP download::3  :        55.09        55.05 Mbits/s         800
 TCP download::4  :        56.75        55.62 Mbits/s         800
 TCP download::5  :        56.55        55.50 Mbits/s         800
 TCP download::6  :        55.32        55.41 Mbits/s         800
 TCP download::7  :        55.76        55.47 Mbits/s         800
 TCP download::8  :        55.51        55.00 Mbits/s         800
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_nup test. Expected run time: 40 seconds.
Data file written to ./tcp_nup-2022-08-02T193713.762126.tcp_nup-16-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_nup test run from 2022-08-02 19:37:13.762126
  Title: 'tcp_nup-16-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                                              avg       median          # data pts
 Ping (ms) ICMP                    :        33.74        37.80 ms              793
 TCP upload avg                    :        36.01          N/A Mbits/s         799
 TCP upload sum                    :       576.12          N/A Mbits/s         799
 TCP upload::1                     :        28.76        30.12 Mbits/s         799
 TCP upload::10                    :        25.67        27.46 Mbits/s         799
 TCP upload::10::tcp_cwnd          :        95.99       100.00                 503
 TCP upload::10::tcp_delivery_rate :        23.65        23.78                 503
 TCP upload::10::tcp_pacing_rate   :        35.05        34.67                 503
 TCP upload::10::tcp_rtt           :        40.42        39.64                 501
 TCP upload::10::tcp_rtt_var       :         2.84         2.46                 501
 TCP upload::11                    :        30.61        31.49 Mbits/s         799
 TCP upload::11::tcp_cwnd          :       116.69       117.00                 503
 TCP upload::11::tcp_delivery_rate :        28.25        28.41                 503
 TCP upload::11::tcp_pacing_rate   :        41.84        40.31                 503
 TCP upload::11::tcp_rtt           :        40.86        40.20                 503
 TCP upload::11::tcp_rtt_var       :         2.59         2.26                 503
 TCP upload::12                    :        26.15        27.70 Mbits/s         799
 TCP upload::12::tcp_cwnd          :        98.47       103.00                 503
 TCP upload::12::tcp_delivery_rate :        24.18        24.54                 502
 TCP upload::12::tcp_pacing_rate   :        35.62        35.66                 502
 TCP upload::12::tcp_rtt           :        40.69        40.01                 502
 TCP upload::12::tcp_rtt_var       :         2.88         2.53                 502
 TCP upload::13                    :        38.23        38.13 Mbits/s         799
 TCP upload::13::tcp_cwnd          :       146.37       143.00                 505
 TCP upload::13::tcp_delivery_rate :        35.26        35.29                 505
 TCP upload::13::tcp_pacing_rate   :        52.39        49.84                 505
 TCP upload::13::tcp_rtt           :        40.50        39.60                 505
 TCP upload::13::tcp_rtt_var       :         2.52         2.17                 505
 TCP upload::14                    :        26.64        28.09 Mbits/s         799
 TCP upload::14::tcp_cwnd          :       100.03       103.00                 503
 TCP upload::14::tcp_delivery_rate :        24.68        24.71                 502
 TCP upload::14::tcp_pacing_rate   :        36.28        35.89                 502
 TCP upload::14::tcp_rtt           :        40.63        39.67                 501
 TCP upload::14::tcp_rtt_var       :         2.76         2.31                 501
 TCP upload::15                    :        35.16        35.40 Mbits/s         799
 TCP upload::15::tcp_cwnd          :       133.41       132.00                 504
 TCP upload::15::tcp_delivery_rate :        32.62        33.13                 503
 TCP upload::15::tcp_pacing_rate   :        47.86        45.96                 504
 TCP upload::15::tcp_rtt           :        40.38        39.77                 503
 TCP upload::15::tcp_rtt_var       :         2.64         2.37                 503
 TCP upload::16                    :        34.06        34.34 Mbits/s         799
 TCP upload::16::tcp_cwnd          :       129.24       129.00                 503
 TCP upload::16::tcp_delivery_rate :        31.59        32.07                 502
 TCP upload::16::tcp_pacing_rate   :        46.51        44.67                 502
 TCP upload::16::tcp_rtt           :        40.54        39.85                 501
 TCP upload::16::tcp_rtt_var       :         2.61         2.33                 501
 TCP upload::1::tcp_cwnd           :       108.21       110.00                 503
 TCP upload::1::tcp_delivery_rate  :        26.59        26.75                 502
 TCP upload::1::tcp_pacing_rate    :        39.14        38.29                 503
 TCP upload::1::tcp_rtt            :        40.40        39.77                 501
 TCP upload::1::tcp_rtt_var        :         2.71         2.36                 501
 TCP upload::2                     :        29.44        30.33 Mbits/s         799
 TCP upload::2::tcp_cwnd           :       111.36       113.00                 502
 TCP upload::2::tcp_delivery_rate  :        27.25        27.54                 501
 TCP upload::2::tcp_pacing_rate    :        40.09        39.04                 502
 TCP upload::2::tcp_rtt            :        40.64        40.07                 501
 TCP upload::2::tcp_rtt_var        :         2.68         2.26                 501
 TCP upload::3                     :        28.90        30.49 Mbits/s         799
 TCP upload::3::tcp_cwnd           :       109.48       111.00                 503
 TCP upload::3::tcp_delivery_rate  :        26.71        26.68                 503
 TCP upload::3::tcp_pacing_rate    :        39.61        38.32                 503
 TCP upload::3::tcp_rtt            :        40.76        40.01                 501
 TCP upload::3::tcp_rtt_var        :         2.62         2.36                 501
 TCP upload::4                     :        45.42        45.24 Mbits/s         799
 TCP upload::4::tcp_cwnd           :       174.23       163.50                 504
 TCP upload::4::tcp_delivery_rate  :        42.12        41.87                 504
 TCP upload::4::tcp_pacing_rate    :        62.46        60.10                 504
 TCP upload::4::tcp_rtt            :        40.19        39.41                 504
 TCP upload::4::tcp_rtt_var        :         2.31         2.05                 504
 TCP upload::5                     :        68.95        72.51 Mbits/s         799
 TCP upload::5::tcp_cwnd           :       265.91       243.00                 506
 TCP upload::5::tcp_delivery_rate  :        64.11        60.32                 505
 TCP upload::5::tcp_pacing_rate    :        96.20        89.92                 505
 TCP upload::5::tcp_rtt            :        39.85        39.09                 504
 TCP upload::5::tcp_rtt_var        :         2.09         1.78                 504
 TCP upload::6                     :        49.95        49.82 Mbits/s         799
 TCP upload::6::tcp_cwnd           :       191.41       177.50                 506
 TCP upload::6::tcp_delivery_rate  :        46.30        44.20                 506
 TCP upload::6::tcp_pacing_rate    :        69.20        64.26                 506
 TCP upload::6::tcp_rtt            :        40.01        39.26                 503
 TCP upload::6::tcp_rtt_var        :         2.31         2.00                 503
 TCP upload::7                     :        28.85        29.50 Mbits/s         799
 TCP upload::7::tcp_cwnd           :       109.07       111.00                 503
 TCP upload::7::tcp_delivery_rate  :        26.59        26.83                 502
 TCP upload::7::tcp_pacing_rate    :        39.21        38.22                 503
 TCP upload::7::tcp_rtt            :        40.70        40.26                 503
 TCP upload::7::tcp_rtt_var        :         2.75         2.36                 503
 TCP upload::8                     :        34.91        34.44 Mbits/s         799
 TCP upload::8::tcp_cwnd           :       132.03       130.00                 505
 TCP upload::8::tcp_delivery_rate  :        32.42        32.44                 504
 TCP upload::8::tcp_pacing_rate    :        47.75        45.46                 504
 TCP upload::8::tcp_rtt            :        40.42        39.99                 504
 TCP upload::8::tcp_rtt_var        :         2.51         2.21                 504
 TCP upload::9                     :        44.42        44.79 Mbits/s         799
 TCP upload::9::tcp_cwnd           :       170.34       159.00                 505
 TCP upload::9::tcp_delivery_rate  :        41.23        41.07                 505
 TCP upload::9::tcp_pacing_rate    :        61.27        59.05                 505
 TCP upload::9::tcp_rtt            :        40.13        39.45                 504
 TCP upload::9::tcp_rtt_var        :         2.39         2.03                 504
Starting Flent 2.0.1 using Python 3.10.4.
Starting tcp_ndown test. Expected run time: 40 seconds.
Data file written to ./tcp_ndown-2022-08-02T193801.436883.tcp_ndown-16-threads-v22_03-rc6_mt76_WLAN_ECN-on_loc_servs_off.flent.gz

Summary of tcp_ndown test run from 2022-08-02 19:38:01.436883
  Title: 'tcp_ndown-16-threads-v22.03-rc6 mt76 WLAN ECN-on loc servs off'

                             avg       median          # data pts
 Ping (ms) ICMP   :        22.90        25.70 ms              800
 TCP download avg :        29.42          N/A Mbits/s         800
 TCP download sum :       470.72          N/A Mbits/s         800
 TCP download::1  :        29.29        29.59 Mbits/s         800
 TCP download::10 :        29.27        29.73 Mbits/s         800
 TCP download::11 :        29.56        30.11 Mbits/s         800
 TCP download::12 :        30.02        30.02 Mbits/s         800
 TCP download::13 :        29.16        29.44 Mbits/s         800
 TCP download::14 :        29.72        29.89 Mbits/s         800
 TCP download::15 :        28.78        29.32 Mbits/s         800
 TCP download::16 :        29.20        29.60 Mbits/s         800
 TCP download::2  :        29.85        30.07 Mbits/s         800
 TCP download::3  :        29.01        29.60 Mbits/s         800
 TCP download::4  :        29.61        29.89 Mbits/s         800
 TCP download::5  :        28.98        29.43 Mbits/s         800
 TCP download::6  :        29.02        29.46 Mbits/s         800
 TCP download::7  :        29.71        29.91 Mbits/s         800
 TCP download::8  :        30.30        30.03 Mbits/s         800
 TCP download::9  :        29.24        29.66 Mbits/s         800

Link to data, including packet capture for the one-threaded up and down tests:

Update: I forgot to add:
image

PS. It will be fantastic to meet you all in person in Italy, but I guess that's not on the table for me currently.

thx. 30ms at the median was what I was aiming for (on another chipset entirely), all those years ago.

OSX (?) at this range is doing slightly worse. I wonder what distance will do to this.

It is good to see no degredation in throughput as you add flows. So we are not running out of cpu that way...

But the difference in throughput about 470 vs about 600 between down and up could be any of a number of things - inefficient txop packing, beamforming, retries, signal strength (rssi), minstrel bandwidth probes, but not (probably) the phase of the moon.

This (2016) set of benchmarks was between an osx and linux station vs the ap -> server, and in general the scheduler should force less latency than a single station test.

Honestly, I don't know what it can be. It's been like this for ever. I'm starting to think it has to do with the APs. If I connect my laptop using an USB dongle to another AP which connects to the main AP as a client, I can see the same difference between up and down. It's like AP favors downloading to itself vs uploading to a client. Some more configuration params, hope it helps.

1 Like

Are the wifi lag/stall issues for R7800 fixed in 22.03.0-rc6? What about porting the fixes to 21.02.x? I lost track where we are, lots of discussion in this thread. Thanks for catching me up!

1 Like

@wired

Yes, no more lag/stall issue for R7800 in 22.03.0-rc6.

Now give yourself the challenge to persuade @nbd to commit the same fixes to 21.02.x so the next 21.02.4 release will be golden again.

That would also be a great consolation prize for people running NSS image with PPPoE WAN. PPPoE/NSS is completely broken in 22.03 and Master (both on kernel 5.10 for R7800), so the only way to get NSS acceleration for PPPoE WAN is to revert back to 21.02 (kernel 5.4). But there you are with laggy WIFI issues. It's like being a little kitten trapped from both ends by 2 raccoon comrades-in-crime.

3 Likes