Re: All '0' in agg_status

Kwang Min Kim gwondori at nimbus.kr
Tue Feb 14 00:26:37 PST 2017


I have two questions.

1. As a result of debugging 'ath10k' and 'mac80211', if there is a problem, ADDBA request and DELBA request are receive at 'station' side at the same time.
   Could it be this?


2. The code below seems to fix the problem. (I did not consider the impact elsewhere.)
   Is it the correct code? How do I fix the incorrect code?

--- net/mac80211/iface.c
+++ net/mac80211/iface.c
@@ -1260,10 +1265,14 @@
                        mutex_lock(&local->sta_mtx);
                        sta = sta_info_get_bss(sdata, rx_agg->addr);
                        if (sta)
+                       {
+/*
                                __ieee80211_stop_rx_ba_session(sta,
                                                        rx_agg->tid,
                                                        WLAN_BACK_RECIPIENT, 0,
                                                        false);
+ */
+                       }
                        mutex_unlock(&local->sta_mtx);
                } else if (ieee80211_is_action(mgmt->frame_control) &&
                           mgmt->u.action.category == WLAN_CATEGORY_BACK) {




---------------

Kim Kwang Min

Mobile +82 010-5521-6393 
Mail gwondori at nimbus.kr 






-----Original Message-----
From: "Kwang Min Kim"<gwondori at nimbus.kr> 
To: "Adrian Chadd"<adrian at freebsd.org>; <ath10k at lists.infradead.org>; 
Cc: 
Sent: 2017-01-19 (목) 19:26:44
Subject: Re: All '0' in agg_status
 
hi, adrian

firmware: 10.2.4.59-2

chipset: qca9880

driver version: backports-4.4.2

Thanks.

---------------

Kim Kwang Min

Mobile +82 010-5521-6393 
Mail gwondori at nimbus.kr 






-----Original Message-----
From: "Adrian Chadd"<adrian at freebsd.org> 
To: "김광민"<gwondori at nimbus.kr>; 
Cc: "ath10k at lists.infradead.org"<ath10k at lists.infradead.org>; "강경완"<bigskang at nimbus.kr>; 
Sent: 2017-01-18 (수) 16:40:26
Subject: Re: All '0' in agg_status
 
hiya

which firmware, chipset, driver version is this with?


-adrian





-----Original Message-----
From: "김광민"<gwondori at nimbus.kr> 
To: <ath10k at lists.infradead.org>; 
Cc: "강경완"<bigskang at nimbus.kr>; 
Sent: 2017-01-17 (화) 20:30:22
Subject: All '0' in agg_status
 
Very rarely, I experience the problem that packets are serious dropped even though all wireless states(iwconfig, iw wlan0 info, fw_stats, etc.) are OK.

This problem occurs only after the AP and station are badly(?) connected, and once the connection is established normally, this problem does not occur on the good connection. And once this problem occurred, it won't be fixed by itself until the AP and the station are reconnected.

I have investigated and I have found two differences between the good connection and the bad connection.

The one is the error messages on dmesg,
    <...>
    [ 2826.432784] wlan0: Limiting TX power to 21 (24 - 3) dBm as advertised by 04:f0:21:20:38:09
    [ 2827.296925] wlan0: Rx A-MPDU request on 04:f0:21:20:38:09 tid 0 result 0 
    [ 2827.297483] wlan0: Rx BA session stop requested for 04:f0:21:20:38:09 tid 0 recipient reason: 0 <--- from this line
    [ 2827.297578] wlan0: Rx A-MPDU request on 04:f0:21:20:38:09 tid 0 result 0 
    [ 2827.298694] wlan0: Rx BA session stop requested for 04:f0:21:20:38:09 tid 0 recipient reason: 0 
    [ 2829.074439] wlan0: Rx A-MPDU request on 04:f0:21:20:38:09 tid 6 result 0                              <-- to this line
    <...>
The another difference is in "agg_status" file on Station side (/sys/kernel/debug/ieee80211/phy0/netdev:wlan0/stations/XX:XX:XX:XX:XX:XX/agg_status).
As my investigation, the file of the AP side always have one or two '1' at the second column. And the file of the station side without problem also have one or two '1'. But, there is no '1' in the file on the station where the problem occurred.
    #more /sys/kernel/debug/ieee80211/phy0/netdev\:wlan0/stations/*/agg_status
    next dialog_token: 0x1
    TID                RX        DTKN        SSN                TX        DTKN        pending
    00                0        0x00        0x000                0        0x00        000
    01                0        0x00        0x000                0        0x00        000
    02                0        0x00        0x000                0        0x00        000
    03                0        0x00        0x000                0        0x00        000
    04                0        0x00        0x000                0        0x00        000
    05                0        0x00        0x000                0        0x00        000
    06                0        0x00        0x000                0        0x00        000
    07                0        0x00        0x000                0        0x00        000
    08                0        0x00        0x000                0        0x00        000
    09                0        0x00        0x000                0        0x00        000
    10                0        0x00        0x000                0        0x00        000
    11                0        0x00        0x000                0        0x00        000
    12                0        0x00        0x000                0        0x00        000
    13                0        0x00        0x000                0        0x00        000
    14                0        0x00        0x000                0        0x00        000
    15                0        0x00        0x000                0        0x00        000

Could you tell me what I have to do?
Should one more '1' exist at the second columns of "agg_status"? In other words, is it problem if there is no '1' in the second column of agg_status?

If you know how to fix this, please let me know that. 

---------------

Kim Kwang Min

Mobile +82 010-5521-6393 
Mail gwondori at nimbus.kr  





More information about the ath10k mailing list