All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jouni Malinen <j@w1.fi>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] AR9462 problems connecting again..
Date: Tue, 24 Feb 2015 20:14:54 +0200	[thread overview]
Message-ID: <20150224181454.GA30859@w1.fi> (raw)
In-Reply-To: <80AA1103-EBCD-4C18-A950-B03FF516E5AC@net.t-labs.tu-berlin.de>

On Tue, Feb 24, 2015 at 06:54:47PM +0100, Thomas H?hn wrote:
> Currently Minstrel_HT just skips EAPOL packets for its rate sampling on non-mrr chips by testing: (info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO)

Yeah, I noticed that when going through the implementation, but it was
indeed only for cases other than ath9k-like drivers.

> On mrr hardware it uses them for probing. 
> But the general MRR-chain should look like this for ath5k and ath9k chips that support 4 mrr chains:
> 
> mrr[0]:= max_tp_rate[0]
> mrr[1]:= max_tp_rate[1]
> mrr[2]:= max_prob_rate
> mrr[3]:= basic_rate

Where is that mrr[3] part implemented? I did not find it when reviewing
the design (hw->max_rates >= 3 is used, but not >= 4) and this does not
match my experiments either when printing out all four values from
ath9k. In every single case I observed, the last entry was unused (idx =
-1) and only MCS values were used (i.e., not even a single case of basic
rate visible; basic rates being 6, 12, 24 Mbps OFDM in this specific
case with the AP that I used in the tests).

> So for Minstrel Sampling Packets as well as for data packets, the 4th mrr stage should use the slowest rate in case all other 3 mrr stages failed with their retry attempts.
> 
> I do see two possible options for control frames like EAPOL to be send out in a more robust fashion:
>  - exclude those frames from AMPDU aggragates 

ath9k does that for IEEE80211_TX_CTL_RATE_CTRL_PROBE which seemed to
get set for the initial EAPOL frames. I guess this could be done more
generically for all EAPOL frames.

>  - change their mrr setup to be more conservative

That mrr[3]:= basic_rate is the part I was really asking for as far as
EAPOL frames are concerned.

-- 
Jouni Malinen                                            PGP id EFC895FA

WARNING: multiple messages have this Message-ID (diff)
From: Jouni Malinen <j@w1.fi>
To: "Thomas Hühn" <thomas@net.t-labs.tu-berlin.de>
Cc: Andrew McGregor <andrewmcgr@gmail.com>,
	"Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	"ath9k-devel@lists.ath9k.org" <ath9k-devel@lists.ath9k.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Kalle Valo <kvalo@codeaurora.org>
Subject: Re: [ath9k-devel] AR9462 problems connecting again..
Date: Tue, 24 Feb 2015 20:14:54 +0200	[thread overview]
Message-ID: <20150224181454.GA30859@w1.fi> (raw)
In-Reply-To: <80AA1103-EBCD-4C18-A950-B03FF516E5AC@net.t-labs.tu-berlin.de>

On Tue, Feb 24, 2015 at 06:54:47PM +0100, Thomas Hühn wrote:
> Currently Minstrel_HT just skips EAPOL packets for its rate sampling on non-mrr chips by testing: (info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO)

Yeah, I noticed that when going through the implementation, but it was
indeed only for cases other than ath9k-like drivers.

> On mrr hardware it uses them for probing. 
> But the general MRR-chain should look like this for ath5k and ath9k chips that support 4 mrr chains:
> 
> mrr[0]:= max_tp_rate[0]
> mrr[1]:= max_tp_rate[1]
> mrr[2]:= max_prob_rate
> mrr[3]:= basic_rate

Where is that mrr[3] part implemented? I did not find it when reviewing
the design (hw->max_rates >= 3 is used, but not >= 4) and this does not
match my experiments either when printing out all four values from
ath9k. In every single case I observed, the last entry was unused (idx =
-1) and only MCS values were used (i.e., not even a single case of basic
rate visible; basic rates being 6, 12, 24 Mbps OFDM in this specific
case with the AP that I used in the tests).

> So for Minstrel Sampling Packets as well as for data packets, the 4th mrr stage should use the slowest rate in case all other 3 mrr stages failed with their retry attempts.
> 
> I do see two possible options for control frames like EAPOL to be send out in a more robust fashion:
>  - exclude those frames from AMPDU aggragates 

ath9k does that for IEEE80211_TX_CTL_RATE_CTRL_PROBE which seemed to
get set for the initial EAPOL frames. I guess this could be done more
generically for all EAPOL frames.

>  - change their mrr setup to be more conservative

That mrr[3]:= basic_rate is the part I was really asking for as far as
EAPOL frames are concerned.

-- 
Jouni Malinen                                            PGP id EFC895FA

  reply	other threads:[~2015-02-24 18:14 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-21 23:34 [ath9k-devel] AR9462 problems connecting again Linus Torvalds
2015-02-21 23:34 ` Linus Torvalds
2015-02-22  6:50 ` [ath9k-devel] " Sujith Manoharan
2015-02-22  6:50   ` Sujith Manoharan
2015-02-22 17:55   ` [ath9k-devel] " Linus Torvalds
2015-02-22 17:55     ` Linus Torvalds
2015-02-22 18:24 ` [ath9k-devel] " Adrian Chadd
2015-02-22 18:24   ` Adrian Chadd
2015-02-22 18:30   ` [ath9k-devel] " Linus Torvalds
2015-02-22 18:30     ` Linus Torvalds
2015-02-22 18:58     ` [ath9k-devel] " Dave Taht
2015-02-22 18:58       ` Dave Taht
2015-02-22 21:45       ` Linus Torvalds
2015-02-22 21:45         ` Linus Torvalds
2015-02-22 21:54         ` Kyle Bassett
2015-02-22 21:56           ` Kyle Bassett
2015-02-22 19:39     ` Adrian Chadd
2015-02-22 19:39       ` Adrian Chadd
2015-02-22 21:50       ` [ath9k-devel] " Linus Torvalds
2015-02-22 21:50         ` Linus Torvalds
2015-02-22 23:00         ` [ath9k-devel] " Linus Torvalds
2015-02-22 23:00           ` Linus Torvalds
2015-02-23  0:54           ` [ath9k-devel] " Adrian Chadd
2015-02-23  0:54             ` Adrian Chadd
2015-02-23  1:41             ` [ath9k-devel] " Linus Torvalds
2015-02-23  1:41               ` Linus Torvalds
2015-02-23  1:55               ` [ath9k-devel] " Adrian Chadd
2015-02-23  1:55                 ` Adrian Chadd
2015-02-23  1:59                 ` [ath9k-devel] " Linus Torvalds
2015-02-23  1:59                   ` Linus Torvalds
2015-02-23  2:05                 ` [ath9k-devel] " Adrian Chadd
2015-02-23  2:05                   ` Adrian Chadd
2015-02-23  5:46               ` [ath9k-devel] " Sujith Manoharan
2015-02-23  5:46                 ` Sujith Manoharan
2015-02-23  6:01                 ` Sujith Manoharan
2015-02-23  6:01                   ` Sujith Manoharan
2015-02-23 10:37               ` Jouni Malinen
2015-02-23 10:37                 ` Jouni Malinen
2015-02-23 10:55                 ` [ath9k-devel] " wim torfs
2015-02-23 10:55                   ` wim torfs
2015-02-23 11:05                   ` [ath9k-devel] " Jouni Malinen
2015-02-23 11:05                     ` Jouni Malinen
2015-02-23 17:17               ` [ath9k-devel] " Jouni Malinen
2015-02-23 17:17                 ` Jouni Malinen
2015-02-23 18:00                 ` [ath9k-devel] " Emmanuel Grumbach
2015-02-23 18:00                   ` Emmanuel Grumbach
2015-02-23 20:06                 ` [ath9k-devel] " Linus Torvalds
2015-02-23 20:06                   ` Linus Torvalds
2015-02-23 20:11                   ` [ath9k-devel] " Linus Torvalds
2015-02-23 20:11                     ` Linus Torvalds
2015-02-23 21:30                   ` [ath9k-devel] " Jouni Malinen
2015-02-23 21:30                     ` Jouni Malinen
2015-02-23 21:53                     ` [ath9k-devel] " Linus Torvalds
2015-02-23 21:53                       ` Linus Torvalds
2015-02-23 22:22                       ` [ath9k-devel] " Adrian Chadd
2015-02-23 22:22                         ` Adrian Chadd
2015-02-23 22:43                         ` [ath9k-devel] " Jouni Malinen
2015-02-23 22:43                           ` Jouni Malinen
2015-02-23 23:00                           ` [ath9k-devel] " Linus Torvalds
2015-02-23 23:00                             ` Linus Torvalds
2015-02-23 23:13                             ` [ath9k-devel] " Jouni Malinen
2015-02-23 23:13                               ` Jouni Malinen
2015-02-24  0:29                           ` [ath9k-devel] " Sujith Manoharan
2015-02-24  0:29                             ` Sujith Manoharan
2015-02-24  2:24                             ` [ath9k-devel] " Andrew McGregor
2015-02-24  2:29                               ` Andrew McGregor
2015-02-24  2:29                                 ` Andrew McGregor
2015-02-24 10:26                                 ` [ath9k-devel] " Jouni Malinen
2015-02-24 10:26                                   ` Jouni Malinen
2015-02-24 11:59                                   ` [ath9k-devel] " Andrew McGregor
2015-02-24 16:58                                   ` Dave Taht
2015-02-24 16:58                                     ` Dave Taht
2015-02-24 17:53                                   ` Thomas Hühn
2015-02-24 17:54                                   ` Thomas Hühn
2015-02-24 17:54                                     ` Thomas Hühn
2015-02-24 18:14                                     ` Jouni Malinen [this message]
2015-02-24 18:14                                       ` Jouni Malinen
2015-02-24 22:38                                       ` Thomas Hühn
2015-02-24 22:38                                         ` Thomas Hühn
2015-02-24 22:50                                         ` Adrian Chadd
2015-02-24 22:50                                           ` Adrian Chadd
2015-02-25 14:53                                         ` Jouni Malinen
2015-02-25 14:53                                           ` Jouni Malinen
2015-02-25 20:52                                           ` Thomas Hühn
2015-02-25 20:52                                             ` Thomas Hühn
2015-02-25  5:00                                       ` Felix Fietkau
2015-02-25  5:00                                         ` Felix Fietkau
2015-02-25 14:47                                         ` Jouni Malinen
2015-02-25 14:47                                           ` Jouni Malinen
2015-02-25 18:14                                           ` Linus Torvalds
2015-02-25 18:14                                             ` Linus Torvalds
2015-02-25 18:25                                             ` Peter Stuge
2015-02-25 18:25                                               ` Peter Stuge
2015-02-25 20:22                                             ` Adrian Chadd
2015-02-25 20:22                                               ` Adrian Chadd
2015-02-26  5:02                                               ` Andrew McGregor
2015-02-26  5:02                                                 ` Andrew McGregor
2015-02-26  5:55                                             ` Linus Torvalds
2015-02-26  5:55                                               ` Linus Torvalds
2015-02-26 10:01                                               ` Arend van Spriel
2015-02-26 10:01                                                 ` Arend van Spriel
2015-02-26 10:20                                             ` Jouni Malinen
2015-02-26 10:20                                               ` Jouni Malinen
2015-02-26 16:04                                               ` Peter Stuge
2015-02-26 16:04                                                 ` Peter Stuge
2015-02-26 19:03                                               ` Adrian Chadd
2015-02-26 19:03                                                 ` Adrian Chadd
2015-02-23  1:24           ` Sujith Manoharan
2015-02-23  1:24             ` Sujith Manoharan

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=20150224181454.GA30859@w1.fi \
    --to=j@w1.fi \
    --cc=ath9k-devel@lists.ath9k.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.