From: Sam Leffler <sam@errno.com>
To: Stuffed Crust <pizza@shaftnet.org>
Cc: Jeff Garzik <jgarzik@pobox.com>,
Johannes Berg <johannes@sipsolutions.net>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: wireless: recap of current issues (configuration)
Date: Mon, 16 Jan 2006 09:54:15 -0800 [thread overview]
Message-ID: <43CBDDC7.9060504@errno.com> (raw)
In-Reply-To: <20060116172817.GB8596@shaftnet.org>
Stuffed Crust wrote:
> On Sun, Jan 15, 2006 at 11:53:55AM -0800, Sam Leffler wrote:
>
>>The above is a great synopsis but there is more. For example to support
>>roaming (and sometimes for ap operation) you want to do background
>>scanning; this ties in to power save mode if operating as a station.
>
>
> Opportunistic roaming is one of those things that has many knobs to
> twiddle, and depends a lot on the needs of the users.
>
> But we're not actually in powersave mode -- the 802.11 stack can spit
> out the NULL frames to tell the AP to buffer traffic for us. This is
> trivial to do.
The way you implement bg scanning is to notify the ap you are going into
power save mode before you leave the channel (in sta mode). Hence bg
scanning and power save operation interact.
>
> Scans should be specified as "non-distruptive" so the hardware driver
> has to twiddle whatever bits are necessary to return the hardware to the
> same state that it was in before the scan kicked in. Beyond that, the
> scanning smarts are all in the 802.11 stack. The driver should be as
> dumb as possible. :)
See above. Doing bg scanning well is a balancing act and restoring
hardware state is the least of your worries (hopefully); e.g. what's the
right thing to do when you get a frame to transmit while off-channel
scanning, how often should you return to the bss channel?
>
> Background scanning, yes -- but there are all sorts of different
> thresholds and types of 'scanning' to be done, depending on how
> disruptive you are willing to be, and how capable the hardware is. Most
> thin MACs don't filter out foreign BSSIDs on the same channel when
> you're joined, which makes some things a lot easier.
Er, you need to listen to at least beacons from other ap's if you're in
11g so you can detect overlapping bss and enable protection. There are
other ways to handle this but that's one.
>
>
>>Further you want to order your channel list to hit the most likely
>>channels first in case you are scanning for a specific ap--e.g. so you
>>can stop the foreground scan and start to associate.
>
>
> With my scenarios, the driver performs the sweep in the order it was
> given -- if the hardware supports it, naturally.
Channel ordering is useful no matter who specifies it. If you offload
the ordering to the upper layers then they need to be aware of the
regdomain constraints. Probably not a big deal but then you need to
synchronize info between layers or export it. And there's other
regdomain-related info that may want to be considered such as max
txpower. I'm just saying if you want to do a good job there's lots of
work here.
>
>
>>In terms of beacon miss processing some parts have a hardware beacon
>>miss interrupt based on missed consecutive beacons but others require
>>you to detect beacon miss in software. Other times you need s/w bmiss
>>detection because you're doing something like build a repeater when
>>the station virtual device can't depend on the hardware to deliver a
>>bmiss interrupt.
>
>
> Of course. The stack is going to need a set of timers regardless of the
> hardware's capabilities, but having (sane) hardware beacon miss
> detection capabilities makes it a bit more robust.
>
>
>>Scanning (and roaming) is really a big can 'o worms.
>
>
> Oh, I know. I've burned out many brain cells trying to build
> supportable solutions for our customers.
I don't recall seeing well-developed scanning code in either of the
proposed stacks.
Sam
next prev parent reply other threads:[~2006-01-16 17:54 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20060113195723.GB16166@tuxdriver.com>
2006-01-13 21:26 ` wireless: recap of current issues (intro) John W. Linville
[not found] ` <20060113213011.GE16166@tuxdriver.com>
2006-01-13 22:19 ` wireless: recap of current issues (configuration) John W. Linville
2006-01-13 22:32 ` Johannes Berg
2006-01-14 1:17 ` Stuffed Crust
2006-01-14 9:28 ` Johannes Berg
2006-01-14 13:47 ` Krzysztof Halasa
2006-01-14 22:07 ` Jeff Garzik
2006-01-15 15:20 ` Stuffed Crust
2006-01-15 19:05 ` Samuel Ortiz
2006-01-16 17:09 ` Stuffed Crust
2006-01-16 18:51 ` Samuel Ortiz
2006-01-16 19:06 ` John W. Linville
2006-01-16 20:16 ` Samuel Ortiz
2006-01-16 21:06 ` Stuffed Crust
2006-01-16 22:24 ` Alan Cox
2006-01-16 23:02 ` John W. Linville
2006-01-17 18:41 ` Stuffed Crust
2006-01-17 18:54 ` Kyle Moffett
2006-01-15 19:53 ` Sam Leffler
2006-01-16 17:28 ` Stuffed Crust
2006-01-16 17:54 ` Sam Leffler [this message]
2006-01-16 19:40 ` Stuffed Crust
2006-01-16 20:14 ` Sam Leffler
2006-01-16 20:58 ` Stuffed Crust
2006-01-16 18:39 ` Dan Williams
2006-01-16 19:07 ` Samuel Ortiz
2006-01-16 19:50 ` Stuffed Crust
2006-01-16 20:10 ` Samuel Ortiz
2006-01-15 12:40 ` Stefan Rompf
2006-01-15 15:51 ` Johannes Berg
2006-01-15 17:53 ` Stefan Rompf
2006-01-15 20:08 ` Sam Leffler
2006-01-15 20:11 ` Johannes Berg
2006-01-17 22:20 ` Stefan Rompf
2006-01-15 19:39 ` Sam Leffler
2006-01-16 0:06 ` Mike Kershaw
2006-01-16 14:23 ` Jiri Benc
2006-01-16 14:55 ` Johannes Berg
2006-01-16 17:33 ` Stuffed Crust
2006-01-16 18:00 ` Sam Leffler
2006-01-16 20:16 ` Stuffed Crust
2006-01-14 0:05 ` Krzysztof Halasa
2006-01-14 23:41 ` Dan Williams
2006-01-15 16:18 ` Stuffed Crust
2006-01-15 9:35 ` feyd
[not found] ` <20060113213126.GF16166@tuxdriver.com>
2006-01-13 22:20 ` wireless: recap of current issues (compatibility) John W. Linville
2006-01-13 22:33 ` Johannes Berg
2006-01-14 13:44 ` Krzysztof Halasa
[not found] ` <20060113213237.GH16166@tuxdriver.com>
2006-01-13 22:24 ` wireless: recap of current issues (other issues) John W. Linville
2006-01-13 22:35 ` Johannes Berg
2006-01-13 23:02 ` Johannes Berg
2006-01-14 22:09 ` Jeff Garzik
2006-01-15 0:54 ` John W. Linville
2006-01-15 1:51 ` David S. Miller
2006-01-15 11:23 ` Arnaldo Carvalho de Melo
2006-01-15 15:39 ` Stuffed Crust
2006-01-17 23:36 ` wireless: recap of current issues (other issues / fake ethernet) Stefan Rompf
2006-01-18 16:32 ` Stuffed Crust
[not found] ` <20060113213311.GI16166@tuxdriver.com>
2006-01-13 22:25 ` wireless: recap of current issues (actions) John W. Linville
2006-01-13 22:36 ` Johannes Berg
2006-01-14 22:11 ` Jeff Garzik
2006-01-15 0:56 ` John W. Linville
2006-01-16 14:44 ` Johannes Berg
[not found] ` <20060113213200.GG16166@tuxdriver.com>
2006-01-13 22:22 ` wireless: recap of current issues (stack) John W. Linville
2006-01-13 22:34 ` Johannes Berg
2006-01-13 23:03 ` Chase Venters
2006-01-14 10:46 ` Simon Kelley
2006-01-14 23:29 ` Dan Williams
2006-01-14 13:51 ` Michael Buesch
2006-01-17 17:38 ` Jean Tourrilhes
2006-01-14 14:13 ` Ulrich Kunitz
2006-01-15 4:42 ` Pete Zaitcev
2006-01-15 10:04 ` Ulrich Kunitz
[not found] ` <43C80F9A.8020203@candelatech.com>
2006-01-13 22:49 ` wireless: recap of current issues 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=43CBDDC7.9060504@errno.com \
--to=sam@errno.com \
--cc=jgarzik@pobox.com \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pizza@shaftnet.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).