From: petrosilius <petrosilius@posteo.de>
To: Koen Vandeputte <koen.vandeputte@citymesh.com>,
linux-wireless@vger.kernel.org
Subject: Re: [Bugreport] ath9k dynack not working/low performance on 5 & 10MHz Bandwidth
Date: Tue, 9 Nov 2021 11:55:51 +0000 [thread overview]
Message-ID: <79ae2f1b-66cb-9182-a639-8fbb6f1fabd9@posteo.de> (raw)
In-Reply-To: <a7e37fa2-5fe7-6a39-d72d-9e3723540331@citymesh.com>
Hi Koen,
did you find time to look further into this?
regards,
julian
On 13.07.21 16:34, Koen Vandeputte wrote:
>
> On 22.06.21 20:54, Petrosilius wrote:
>> On 22.06.21 14:03, Koen Vandeputte wrote:
>>> Thanks for confirming that.
>>>
>>> What would really help is a small table showing this:
>>>
>>> Real physical distance? (in m)
>>> ack_to reported while stressing the link:
>>>
>>> 20MHz: xx
>>> 10 MHz: yy
>>> 5 MHz: zz
>>>
>>> I'll try to simulate the issue somewhere in the next days.
>>>
>>>
>>> Please do note that ongoing effort is currently going on to improve
>>> dynack on lower distances.
>>>
>>> It was observed and reported by me to Lorenzo that ack_to was way
>>> higher than fixed settings when
>>> real distance is <6km
>>>
>>> Some testing patches were cooked and tested in the field last month
>>> covering long and short distances (1km up to 24km)
>>> and these are matching fixed distance ack_to very close now. (speeds
>>> using dynack were also higher than fixed settings)
>>> It's not finalized yet.
>>>
>>> Also do note that dynack only shows (any) benefit when having links
>>> >3km
>>> Below that, timing jitter and processing time seems to have more
>>> influence on ack_to than actual distance.
>>>
>>> Regards,
>>>
>>> Koen
>>>
>> Here the testresults
>>
>> real physical distance: 1m
>>
>> BW: 20mhz
>> ackto: 50
>> iperf3
>> [ ID] Interval Transfer Bitrate Retr
>> [ 5] 0.00-10.00 sec 86.4 MBytes 72.4 Mbits/sec 0
>> sender
>> [ 5] 0.00-10.01 sec 86.0 MBytes 72.0 Mbits/sec
>> receiver
>>
>> BW: 5mhz
>> ackto: 50
>> iperf3
>> [ ID] Interval Transfer Bitrate Retr
>> [ 5] 0.00-10.01 sec 45.2 KBytes 37.0 Kbits/sec 14
>> sender
>> [ 5] 0.00-10.07 sec 5.66 KBytes 4.60 Kbits/sec
>> receiver
>>
>> BW: 10mhz
>> ackto: 50
>> iperf3
>> [ ID] Interval Transfer Bitrate Retr
>> [ 5] 0.00-10.00 sec 127 KBytes 104 Kbits/sec 30
>> sender
>> [ 5] 0.00-14.10 sec 107 KBytes 62.4 Kbits/sec
>> receiver
>>
>> Also longer iperf3 tests didnt change anything on this behaviour.
>>
>> After this test we were actually able to get the ack_to doing something
>> for 5mhz (ack_to 641 - ~12MBit iperf3) and 10mhz (ack_to 258 - ~14MBit
>> iperf3) by doing some random wifi-restarts (using openwrt 'wifi'
>> command) and reboots, but this is not really reproducible.
>>
>> We got the gutfeeling that there might be some issue reseting of the
>> dynack part when changing the bandwidths. This might explain, why for
>> the test above the ack_to doesnt change at all from the 50 of the 20Mhz
>> BW. Or is this normal behaviour that the ack_to doesnt change after a
>> bandwidth change?
>>
>> Another observation: Is it normal that 'iw dev' doesnt show 5 & 10 MHz,
>> but always 20 MHz? (We verified that we actually get 5/10MHz Channels by
>> checking visibility of the AP with other clients).
>>
>> To rule out a hardware problem: We used the same hardware successfully
>> on a 8km/20MHz link with dynack.
>>
>> Regards,
>>
>> Julian
>>
> I can simulate the issue.
>
> The problem is that IBSS starts at the highest value (to guarantee
> connection), but it takes forever to get enough valid samples to
> actually reach the optimal value through EWMA:
>
> [ 48.060768] ath: phy0: ACK timeout 600 slottime 298
> [ 51.155507] wlan0: Trigger new scan to find an IBSS to join
> [ 53.104609] wlan0: Selected IBSS BSSID ac:c5:2a:a3:61:c9 based on
> configured SSID
> [ 53.160471] ath: phy0: rx sample 46297 [h 0-t 1]
> [ 53.160522] ath: phy0: {74:4d:28:14:d9:94} tx sample 46163 [dur
> 72][h 0-t 1]
> [ 53.160533] ath: phy0: ack_ts 46297 st_ts 46163 st_dur 72 [0-0]
> [ 53.160542] ath: phy0: 74:4d:28:14:d9:94 to 465 [62]
> [ 53.160550] ath: phy0: ACK timeout 465 slottime 231
> [ 53.165973] ath: phy0: rx sample 51368 [h 1-t 2]
> [ 53.166027] ath: phy0: {74:4d:28:14:d9:94} tx sample 51098 [dur
> 208][h 1-t 2]
> [ 53.166038] ath: phy0: ack_ts 51368 st_ts 51098 st_dur 208 [1-1]
> [ 53.166047] ath: phy0: 74:4d:28:14:d9:94 to 364 [62]
> [ 53.170739] ath: phy0: rx sample 56568 [h 2-t 3]
> [ 53.170791] ath: phy0: {74:4d:28:14:d9:94} tx sample 56222 [dur
> 284][h 2-t 3]
> [ 53.170801] ath: phy0: ack_ts 56568 st_ts 56222 st_dur 284 [2-2]
> [ 53.170811] ath: phy0: 74:4d:28:14:d9:94 to 288 [62]
> [ 54.169095] ath: phy0: rx sample 1054919 [h 3-t 4]
> [ 54.169148] ath: phy0: {74:4d:28:14:d9:94} tx sample 1054598 [dur
> 260][h 3-t 4]
> [ 54.169159] ath: phy0: ack_ts 1054919 st_ts 1054598 st_dur 260 [3-3]
> [ 54.169169] ath: phy0: 74:4d:28:14:d9:94 to 231 [61]
> [ 54.173970] ath: phy0: rx sample 1059800 [h 4-t 5]
> [ 54.174024] ath: phy0: {74:4d:28:14:d9:94} tx sample 1059511 [dur
> 228][h 4-t 5]
> [ 54.174035] ath: phy0: ack_ts 1059800 st_ts 1059511 st_dur 228 [4-4]
> [ 54.174044] ath: phy0: 74:4d:28:14:d9:94 to 188 [61]
> ...
> [ 326.925123] ath: phy0: ACK timeout 156 slottime 76
> ...
> [ 653.145142] ath: phy0: ACK timeout 132 slottime 64
> ...
> [ 926.928758] ath: phy0: ACK timeout 114 slottime 55
>
> (static optimal value is 28 .. so it will take a lot longer ..)
>
>
> Above log is with an iperf session running in the background. :-s
>
> Will look further into this ..
>
> Regards,
>
> Koen
>
prev parent reply other threads:[~2021-11-09 11:56 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-18 11:13 [Bugreport] ath9k dynack not working/low performance on 5 & 10MHz Bandwidth Petrosilius
2021-06-22 9:54 ` Koen Vandeputte
2021-06-22 10:12 ` Petrosilius
2021-06-22 10:40 ` Sebastian Gottschall
2021-06-22 11:54 ` Koen Vandeputte
2021-07-08 22:02 ` Peter Seiderer
2021-06-22 11:52 ` Koen Vandeputte
2021-06-22 11:53 ` Petrosilius
2021-06-22 12:03 ` Koen Vandeputte
2021-06-22 18:54 ` Petrosilius
2021-06-22 21:01 ` Koen Vandeputte
2021-07-13 14:34 ` Koen Vandeputte
2021-07-14 5:38 ` Sebastian Gottschall
2021-11-09 11:55 ` petrosilius [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=79ae2f1b-66cb-9182-a639-8fbb6f1fabd9@posteo.de \
--to=petrosilius@posteo.de \
--cc=koen.vandeputte@citymesh.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox