2016-01-29 16:16:01

by Johannes Berg

[permalink] [raw]
Subject: Re: WARNING at net/mac80211/rate.c:513 ieee80211_get_tx_rates [mac80211]

On Fri, 2016-01-29 at 10:12 -0600, Larry Finger wrote:

> Upon further inspection, my log has the line "rtl8821ae 0000:02:00.0
> wlp2s0: disabling HT/VHT due to WEP/TKIP use". I need to fix that
> first.
>
Likely TKIP; enable only WPA2 (CCMP) on the AP.

johannes


2016-01-29 20:04:04

by Linus Torvalds

[permalink] [raw]
Subject: Re: WARNING at net/mac80211/rate.c:513 ieee80211_get_tx_rates [mac80211]

On Fri, Jan 29, 2016 at 11:42 AM, Larry Finger
<[email protected]> wrote:
>
> Thanks for testing.
>
> Upon reflection, it really should check the other WIRELESS_MODE_AC_x bits.
> Johannes' patch was indeed correct.

I just retested with this incremental (and whitespace-damaged) patch:

@@ -139,7 +139,9 @@ static void _rtl_rc_rate_set_series(struct
rtl_priv *rtlpriv,
(wireless_mode == WIRELESS_MODE_N_24G)))
rate->flags |= IEEE80211_TX_RC_MCS;
if (sta && sta->vht_cap.vht_supported &&
- (wireless_mode == WIRELESS_MODE_AC_5G))
+ ((wireless_mode == WIRELESS_MODE_AC_5G) ||
+ (wireless_mode == WIRELESS_MODE_AC_24G) ||
+ (wireless_mode == WIRELESS_MODE_AC_ONLY)))
rate->flags |= IEEE80211_TX_RC_VHT_MCS;
}
}

which brings it in line with Johannes' patch, and it does indeed still work.

I think marking it for stable is also the right thing to do - the
driver clearly doesn't work well in a wide-channel AC environment
otherwise, and I assume it's going to be more and more common..

Linus

2016-01-29 16:54:43

by Larry Finger

[permalink] [raw]
Subject: Re: WARNING at net/mac80211/rate.c:513 ieee80211_get_tx_rates [mac80211]

On 01/29/2016 10:15 AM, Johannes Berg wrote:
> On Fri, 2016-01-29 at 10:12 -0600, Larry Finger wrote:
>>
>> Upon further inspection, my log has the line "rtl8821ae 0000:02:00.0
>> wlp2s0: disabling HT/VHT due to WEP/TKIP use". I need to fix that
>> first.
>>
> Likely TKIP; enable only WPA2 (CCMP) on the AP.

I found and fixed it. The AP was using only 20 MHz channels, but now is
configured for 20/40/80. That duplicates the warning for me and the lack of
throughput even though it associates and authenticates.

Larry



2016-01-29 17:54:12

by Larry Finger

[permalink] [raw]
Subject: Re: WARNING at net/mac80211/rate.c:513 ieee80211_get_tx_rates [mac80211]

Linus,

Attached is a trial patch that fixes the problem on my system. As I told
Johannes earlier, my AP was not configured to use VHT, thus I did not see the
problem.

The test patch that Johannes sent earlier was close. The section needed to add
VHT rates is:

--- a/drivers/net/wireless/realtek/rtlwifi/rc.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rc.c
@@ -138,6 +138,9 @@ static void _rtl_rc_rate_set_series(struct rtl_priv *rtlpriv,
((wireless_mode == WIRELESS_MODE_N_5G) ||
(wireless_mode == WIRELESS_MODE_N_24G)))
rate->flags |= IEEE80211_TX_RC_MCS;
+ if (sta && sta->vht_cap.vht_supported &&
+ (wireless_mode == WIRELESS_MODE_AC_5G))
+ rate->flags |= IEEE80211_TX_RC_VHT_MCS;
}
}

Larry


Attachments:
0001-rtlwifi-Fix-warning-from-ieee80211_get_tx_rates-when.patch (3.15 kB)

2016-01-29 18:39:41

by Linus Torvalds

[permalink] [raw]
Subject: Re: WARNING at net/mac80211/rate.c:513 ieee80211_get_tx_rates [mac80211]

On Fri, Jan 29, 2016 at 9:54 AM, Larry Finger <[email protected]> wrote:
>
> The test patch that Johannes sent earlier was close. The section needed to
> add VHT rates is:

Hmm. This looks pretty much exactly like what I already tried (I had
fixed Johannes' patch to use "vht_cap" already, since it didn't
compile otherwise).

So the only difference is that it only checks WIRELESS_MODE_AC_5G.

But it worked for me this time. I have no idea why.

Maybe Johannes' patch actually always worked for me, but I just had a
transient problem that made me think it didn't. I think I only booted
it once, and went "oh, ok, no network, that didn't work".

Linus

2016-01-29 19:42:55

by Larry Finger

[permalink] [raw]
Subject: Re: WARNING at net/mac80211/rate.c:513 ieee80211_get_tx_rates [mac80211]

On 01/29/2016 12:39 PM, Linus Torvalds wrote:
> On Fri, Jan 29, 2016 at 9:54 AM, Larry Finger <[email protected]> wrote:
>>
>> The test patch that Johannes sent earlier was close. The section needed to
>> add VHT rates is:
>
> Hmm. This looks pretty much exactly like what I already tried (I had
> fixed Johannes' patch to use "vht_cap" already, since it didn't
> compile otherwise).
>
> So the only difference is that it only checks WIRELESS_MODE_AC_5G.
>
> But it worked for me this time. I have no idea why.
>
> Maybe Johannes' patch actually always worked for me, but I just had a
> transient problem that made me think it didn't. I think I only booted
> it once, and went "oh, ok, no network, that didn't work".

Thanks for testing.

Upon reflection, it really should check the other WIRELESS_MODE_AC_x bits.
Johannes' patch was indeed correct.

With my AP setup changed, I get about 100 Mb/s RX using netperf. TX is still bad.

@Johannes: OK if I make you the author of the final version of the patch?

Larry