2020-05-07 03:24:58

by Venkateswara Naralasetty

[permalink] [raw]
Subject: [PATCHv4] ath10k : Fix channel survey dump

Channel active/busy time are showing incorrect(less than previous or
sometimes zero) for successive survey dump command.

example:
Survey data from wlan0
frequency: 5180 MHz [in use]
channel active time: 54995 ms
channel busy time: 432 ms
channel receive time: 0 ms
channel transmit time: 59 ms
Survey data from wlan0
frequency: 5180 MHz [in use]
channel active time: 32592 ms
channel busy time: 254 ms
channel receive time: 0 ms
channel transmit time: 0 ms

This patch fix this issue by assigning 'wmi_bss_survey_req_type'
as 'WMI_BSS_SURVEY_REQ_TYPE_READ' which accumulate survey data in
FW and send survey data to driver upon the driver request. Wrap around
is taken care by FW.

hardware used : QCA9984
firmware ver : ver 10.4-3.5.3-00057

hardware used : QCA988X
firmware ver : 10.2.4-1.0-00047

Tested-by: Markus Theil <[email protected]>
Signed-off-by: Venkateswara Naralasetty <[email protected]>
---
v4:
* updated signed-off-by

v3:
* Rebased on TOT and added Tested-by

drivers/net/wireless/ath/ath10k/mac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index a1147cc..9330b52 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -7275,7 +7275,7 @@ ath10k_mac_update_bss_chan_survey(struct ath10k *ar,
struct ieee80211_channel *channel)
{
int ret;
- enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR;
+ enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ;

lockdep_assert_held(&ar->conf_mutex);

--
2.7.4


2020-05-17 02:31:42

by John Deere

[permalink] [raw]
Subject: Re: [PATCHv4] ath10k : Fix channel survey dump


On 5/7/20 11:03 AM, Venkateswara Naralasetty wrote:
> Channel active/busy time are showing incorrect(less than previous or
> sometimes zero) for successive survey dump command.
>
> example:
> Survey data from wlan0
> frequency: 5180 MHz [in use]
> channel active time: 54995 ms
> channel busy time: 432 ms
> channel receive time: 0 ms
> channel transmit time: 59 ms
> Survey data from wlan0
> frequency: 5180 MHz [in use]
> channel active time: 32592 ms
> channel busy time: 254 ms
> channel receive time: 0 ms
> channel transmit time: 0 ms
>
> This patch fix this issue by assigning 'wmi_bss_survey_req_type'
> as 'WMI_BSS_SURVEY_REQ_TYPE_READ' which accumulate survey data in
> FW and send survey data to driver upon the driver request. Wrap around
> is taken care by FW.
>
> hardware used : QCA9984
> firmware ver : ver 10.4-3.5.3-00057
>
> hardware used : QCA988X
> firmware ver : 10.2.4-1.0-00047
>
> Tested-by: Markus Theil <[email protected]>
> Signed-off-by: Venkateswara Naralasetty <[email protected]>
> ---
> v4:
> * updated signed-off-by
>
> v3:
> * Rebased on TOT and added Tested-by
>
> drivers/net/wireless/ath/ath10k/mac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index a1147cc..9330b52 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -7275,7 +7275,7 @@ ath10k_mac_update_bss_chan_survey(struct ath10k *ar,
> struct ieee80211_channel *channel)
> {
> int ret;
> - enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR;
> + enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ;
>
> lockdep_assert_held(&ar->conf_mutex);
>
>


I have tested this on a QCA9980 device on a TP-Link Archer A7v5 with the
firmware version 10.2.4.70.70.

[root@Archer-A7v5 ~]# uptime
10:18:40 up 7 days, 3:52, load average: 0.03, 0.01, 0.00


It has been working fine:

Survey data from wlan0
frequency: 5240 MHz [in use]
noise: -101 dBm
channel active time: 593724580 ms
channel busy time: 9706985 ms
channel receive time: 2053580 ms
channel transmit time: 6473058 ms

Tested-by: John Deere <[email protected]>

2020-05-17 02:31:42

by John Deere

[permalink] [raw]
Subject: Re: [PATCHv4] ath10k : Fix channel survey dump


On 5/7/20 11:03 AM, Venkateswara Naralasetty wrote:
> Channel active/busy time are showing incorrect(less than previous or
> sometimes zero) for successive survey dump command.
>
> example:
> Survey data from wlan0
> frequency: 5180 MHz [in use]
> channel active time: 54995 ms
> channel busy time: 432 ms
> channel receive time: 0 ms
> channel transmit time: 59 ms
> Survey data from wlan0
> frequency: 5180 MHz [in use]
> channel active time: 32592 ms
> channel busy time: 254 ms
> channel receive time: 0 ms
> channel transmit time: 0 ms
>
> This patch fix this issue by assigning 'wmi_bss_survey_req_type'
> as 'WMI_BSS_SURVEY_REQ_TYPE_READ' which accumulate survey data in
> FW and send survey data to driver upon the driver request. Wrap around
> is taken care by FW.
>
> hardware used : QCA9984
> firmware ver : ver 10.4-3.5.3-00057
>
> hardware used : QCA988X
> firmware ver : 10.2.4-1.0-00047
>
> Tested-by: Markus Theil <[email protected]>
> Signed-off-by: Venkateswara Naralasetty <[email protected]>
> ---
> v4:
> * updated signed-off-by
>
> v3:
> * Rebased on TOT and added Tested-by
>
> drivers/net/wireless/ath/ath10k/mac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index a1147cc..9330b52 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -7275,7 +7275,7 @@ ath10k_mac_update_bss_chan_survey(struct ath10k *ar,
> struct ieee80211_channel *channel)
> {
> int ret;
> - enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR;
> + enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ;
>
> lockdep_assert_held(&ar->conf_mutex);
>
>


I have tested this on a QCA9980 device on a TP-Link Archer A7v5 with the
firmware version 10.2.4.70.70.

[root@Archer-A7v5 ~]# uptime
10:18:40 up 7 days, 3:52, load average: 0.03, 0.01, 0.00


It has been working fine:

Survey data from wlan0
frequency: 5240 MHz [in use]
noise: -101 dBm
channel active time: 593724580 ms
channel busy time: 9706985 ms
channel receive time: 2053580 ms
channel transmit time: 6473058 ms

Tested-by: John Deere <[email protected]>

2020-05-20 06:52:51

by Markus Theil

[permalink] [raw]
Subject: Re: [PATCHv4] ath10k : Fix channel survey dump

I've seen this patch got dropped again from the ath.git pending branch.
On which hw/firmware combination did it fail to operate?

On 5/17/20 4:26 AM, John Deere wrote:
>
> On 5/7/20 11:03 AM, Venkateswara Naralasetty wrote:
>> Channel active/busy time are showing incorrect(less than previous or
>> sometimes zero) for successive survey dump command.
>>
>> example:
>> Survey data from wlan0
>>     frequency:                      5180 MHz [in use]
>>     channel active time:            54995 ms
>>     channel busy time:              432 ms
>>     channel receive time:           0 ms
>>     channel transmit time:          59 ms
>> Survey data from wlan0
>>     frequency:                      5180 MHz [in use]
>>     channel active time:            32592 ms
>>     channel busy time:              254 ms
>>     channel receive time:           0 ms
>>     channel transmit time:          0 ms
>>
>> This patch fix this issue by assigning 'wmi_bss_survey_req_type'
>> as 'WMI_BSS_SURVEY_REQ_TYPE_READ' which accumulate survey data in
>> FW and send survey data to driver upon the driver request. Wrap around
>> is taken care by FW.
>>
>> hardware used : QCA9984
>> firmware ver  : ver 10.4-3.5.3-00057
>>
>> hardware used : QCA988X
>> firmware ver  : 10.2.4-1.0-00047
>>
>> Tested-by: Markus Theil <[email protected]>
>> Signed-off-by: Venkateswara Naralasetty <[email protected]>
>> ---
>> v4:
>>   * updated signed-off-by
>>
>> v3:
>>   * Rebased on TOT and added Tested-by
>>
>>   drivers/net/wireless/ath/ath10k/mac.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c
>> b/drivers/net/wireless/ath/ath10k/mac.c
>> index a1147cc..9330b52 100644
>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>> @@ -7275,7 +7275,7 @@ ath10k_mac_update_bss_chan_survey(struct ath10k
>> *ar,
>>                     struct ieee80211_channel *channel)
>>   {
>>       int ret;
>> -    enum wmi_bss_survey_req_type type =
>> WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR;
>> +    enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ;
>>         lockdep_assert_held(&ar->conf_mutex);
>>  
>
>
> I have tested this on a QCA9980 device on a TP-Link Archer A7v5 with
> the firmware version 10.2.4.70.70.
>
> [root@Archer-A7v5 ~]# uptime
>  10:18:40 up 7 days,  3:52,  load average: 0.03, 0.01, 0.00
>
>
> It has been working fine:
>
> Survey data from wlan0
>     frequency:            5240 MHz [in use]
>     noise:                -101 dBm
>     channel active time:        593724580 ms
>     channel busy time:        9706985 ms
>     channel receive time:        2053580 ms
>     channel transmit time:        6473058 ms
>
> Tested-by: John Deere <[email protected]>
>
> _______________________________________________
> ath10k mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/ath10k

--
Markus Theil

Technische Universität Ilmenau, Fachgebiet Telematik/Rechnernetze
Postfach 100565
98684 Ilmenau, Germany

Phone: +49 3677 69-4582
Email: markus[dot]theil[at]tu-ilmenau[dot]de
Web: http://www.tu-ilmenau.de/telematik

2020-05-20 13:57:52

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCHv4] ath10k : Fix channel survey dump

Markus Theil <[email protected]> writes:

> I've seen this patch got dropped again from the ath.git pending branch.
> On which hw/firmware combination did it fail to operate?

It's deferred at the moment:

https://patchwork.kernel.org/patch/11532357/

The conclusion from the other thread was not clear for me, so I put it
into deferred and will take a closer look once I have time.

--
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches