linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@openwrt.org>
To: "Jouni Malinen" <j@w1.fi>,
	"Thomas Hühn" <thomas@net.t-labs.tu-berlin.de>
Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
	Andrew McGregor <andrewmcgr@gmail.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: Wed, 25 Feb 2015 18:00:08 +1300	[thread overview]
Message-ID: <54ED56D8.9030806@openwrt.org> (raw)
In-Reply-To: <20150224181454.GA30859@w1.fi>

On 2015-02-25 07:14, Jouni Malinen wrote:
> 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).
Minstrel_ht does *NOT* use mrr[3], nor should it. For normal data
packets, a little packet loss under tough conditions is good, otherwise
we risk lots of wasted airtime and bufferbloat.

>> 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.
I agree.

>>  - 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.
I don't think we need that. If we just exclude EAPOL from both probing
and aggregation, it should be safe. While it's connecting, that leaves
in low rates in the retry chain anyway.

If it still fails often enough to be noticeable under normal conditions,
there must be something seriously wrong outside of rate control, and we
should not paper over it with a crude band-aid workaround.

- Felix

  parent reply	other threads:[~2015-02-25  5:00 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-21 23:34 AR9462 problems connecting again Linus Torvalds
2015-02-22  6:50 ` Sujith Manoharan
2015-02-22 17:55   ` Linus Torvalds
2015-02-22 18:24 ` Adrian Chadd
2015-02-22 18:30   ` Linus Torvalds
2015-02-22 18:58     ` [ath9k-devel] " Dave Taht
2015-02-22 21:45       ` Linus Torvalds
     [not found]         ` <CAM9PttgYK3e75c2XZ6G2nPXw=UR95-xVwO0LBqrXRPFcABkgTA@mail.gmail.com>
2015-02-22 21:56           ` Kyle Bassett
2015-02-22 19:39     ` Adrian Chadd
2015-02-22 21:50       ` Linus Torvalds
2015-02-22 23:00         ` Linus Torvalds
2015-02-23  0:54           ` Adrian Chadd
2015-02-23  1:41             ` Linus Torvalds
2015-02-23  1:55               ` Adrian Chadd
2015-02-23  1:59                 ` Linus Torvalds
2015-02-23  2:05                 ` Adrian Chadd
2015-02-23  5:46               ` [ath9k-devel] " Sujith Manoharan
2015-02-23  6:01                 ` Sujith Manoharan
2015-02-23 10:37               ` Jouni Malinen
2015-02-23 10:55                 ` wim torfs
2015-02-23 11:05                   ` Jouni Malinen
2015-02-23 17:17               ` Jouni Malinen
2015-02-23 18:00                 ` Emmanuel Grumbach
2015-02-23 20:06                 ` Linus Torvalds
2015-02-23 20:11                   ` Linus Torvalds
2015-02-23 21:30                   ` Jouni Malinen
2015-02-23 21:53                     ` Linus Torvalds
2015-02-23 22:22                       ` Adrian Chadd
2015-02-23 22:43                         ` Jouni Malinen
2015-02-23 23:00                           ` Linus Torvalds
2015-02-23 23:13                             ` Jouni Malinen
2015-02-24  0:29                           ` Sujith Manoharan
     [not found]                             ` <CAA_e5Z4zuDMS+CJvFbw4F5M9OZxgS-NZzL2E3d3GSvpRr_TbQw@mail.gmail.com>
2015-02-24  2:29                               ` Andrew McGregor
2015-02-24 10:26                                 ` Jouni Malinen
2015-02-24 16:58                                   ` [ath9k-devel] " Dave Taht
2015-02-24 17:54                                   ` Thomas Hühn
2015-02-24 18:14                                     ` Jouni Malinen
2015-02-24 22:38                                       ` Thomas Hühn
2015-02-24 22:50                                         ` Adrian Chadd
2015-02-25 14:53                                         ` Jouni Malinen
2015-02-25 20:52                                           ` Thomas Hühn
2015-02-25  5:00                                       ` Felix Fietkau [this message]
2015-02-25 14:47                                         ` Jouni Malinen
2015-02-25 18:14                                           ` Linus Torvalds
2015-02-25 18:25                                             ` Peter Stuge
2015-02-25 20:22                                             ` Adrian Chadd
2015-02-26  5:02                                               ` Andrew McGregor
2015-02-26  5:55                                             ` Linus Torvalds
2015-02-26 10:01                                               ` Arend van Spriel
2015-02-26 10:20                                             ` Jouni Malinen
2015-02-26 16:04                                               ` Peter Stuge
2015-02-26 19:03                                               ` Adrian Chadd
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=54ED56D8.9030806@openwrt.org \
    --to=nbd@openwrt.org \
    --cc=andrewmcgr@gmail.com \
    --cc=ath9k-devel@lists.ath9k.org \
    --cc=j@w1.fi \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mcgrof@do-not-panic.com \
    --cc=thomas@net.t-labs.tu-berlin.de \
    --cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).