All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: Johannes Berg <johannes@sipsolutions.net>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: How many null-data probes on connection loss?
Date: Wed, 26 Sep 2018 11:47:03 -0700	[thread overview]
Message-ID: <7ed031b0-19d9-46db-33d9-082999e5ed22@candelatech.com> (raw)
In-Reply-To: <1537986415.28767.17.camel@sipsolutions.net>

On 09/26/2018 11:26 AM, Johannes Berg wrote:
> On Wed, 2018-09-26 at 11:04 -0700, Ben Greear wrote:
>
>> I have been running with mac80211/mlme.c's max_nullfunc_tries set to 5 for many years.
>> Long ago it helped with connectivity issues with lots of vdevs and and/orloaded APs
>> if I recall correctly.
>
> That's different, that's the number of distinct frames mac80211 will
> send.
>
> I thought you were asking about *retries*.

Well, it retries the probe action 5 times in my case.

I am also asking about total amount of retried frames on the air.

>> In fact, I see 62 frames captured on air all with the same sequence number
>> in the test I just did, and subsequent frames with the next seq-no are sent
>> immediately after the first one.  The frames are all right after each other, so
>> I guess this is probably firmware doing lots of HW retransmits and then *also*
>> doing software retransmits in the firmware (my reading of mlme.c indicates it should
>> only probe every 500ms).
>
> Yes.
>
>> I think I'll start by making sure the firmware does not do software retransmits
>> for frames from the driver (self-gen frames are OK to be retransmitted I guess).
>
> You do want it to be doing retries for frames from the driver, since you
> want it to recover from temporary collisions with a microwave and
> whatnot ... just not *that many*, I guess.

 From what I can tell so far, my firmware has this sort of logic:

frame from stack to the driver
   -> send to firmware
   -> in firmware, hardware will do up to X retries (maybe 16 or so, need to check)
   -> On failure, the firmware may re-queue the packet (firmware-software retry)
   -> back to hardware retries (~32 frames on air at this point)
   ...
   Eventually tx-fail notification is sent back to the driver one way or another.

I am thinking it would be best to have the software retry in the firmware
disabled.

Then, when mac80211 sends a null-data frame, you would see at most about
16 of them on air, every 500ms or so until it recovers or considers the
connection lost.

Thanks,
Ben


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


  reply	other threads:[~2018-09-26 18:47 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-25 23:12 How many null-data probes on connection loss? Ben Greear
2018-09-26  8:38 ` Johannes Berg
2018-09-26 18:04   ` Ben Greear
2018-09-26 18:26     ` Johannes Berg
2018-09-26 18:47       ` Ben Greear [this message]
2018-09-26 18:48         ` Johannes Berg
2018-09-26 18:53           ` Ben Greear
2018-09-26 22:21           ` Ben Greear
2018-09-27  7:12             ` Johannes Berg
2018-09-27 15:32               ` Ben Greear
2018-09-28  7:19                 ` Johannes Berg
2018-09-28 15:14                   ` Ben Greear

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=7ed031b0-19d9-46db-33d9-082999e5ed22@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.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.