From: Jouni Malinen <j@w1.fi>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Li YanBo <dreamfly281@gmail.com>, Ben Gamari <ben@mw0.ath.cx>,
linux-wireless@vger.kernel.org,
Jose Ignacio Naranjo Hernandez <joseignacio.naranjo@gmail.com>,
Michael Wu <flamingice@sourmilk.net>,
Stefano Brivio <stefano.brivio@polimi.it>
Subject: Re: Suspend/Resume support
Date: Sun, 18 Nov 2007 20:08:20 -0800 [thread overview]
Message-ID: <20071119040820.GK8672@jm.kir.nu> (raw)
In-Reply-To: <1195171869.8147.79.camel@johannes.berg>
On Fri, Nov 16, 2007 at 01:11:09AM +0100, Johannes Berg wrote:
> On the other hand, if you've suspended for a longer period of time, your
> AP will have kicked you off for not responding. This means you need to
> associate again (not even reassociate [1]) if the AP you were associated
> to is even still around.
> [1] the IEEE 802.11 specs define "reassociation" but that requires the
> AP keeping state about you which typically they won't do long
I would use reassociation whenever trying to get back to the same ESS
(when SSID does not change) and the previous BSSID is known. There
cannot be any requirement on the non-AP STA to somehow magically figure
out whether the APs have or have not state from the previous
association.
> I guess the way to handle it would be to send a probe request to the AP
> we're associated with first to see if it's still in range. If it is, we
> need to determine whether we were suspended long enough for it to kick
> us off. It might be possible to do this by sending a null function frame
> to the AP and see if it replies with a deauth notification, I think it
> should if we're not associated [3]. But then again I'm not sure whether
> we should rely on this.
This is perfectly valid way of validating whether the STA is still
associated (see rules on Class 2 and 3 frames in auth/assoc state in
Clause 5.5). In addition, there is no need for the probe request before
sending nullfunc data frame. If the nullfunc data frame is acknowledged,
the AP is still in range. If deauth or disassoc frame is received from
the AP, the association was not valid anymore. This should trigger
re-association.
> Another option would be to send it a reassociate
> request, it should simply respond with an OK, otherwise it sends a
> disassociate so we automatically restart the state machine and send
> appropriate notifications to userspace.
Reassociation will fail unless the STA in in authenticated state, i.e.,
this will need to start with 802.11 authentication. Though, if the
nullfunc data test is used, there is no need for this and it should be
possible to avoid the full cost of running whatever authentication
methods are required in the network (e.g., EAP).
--
Jouni Malinen PGP id EFC895FA
prev parent reply other threads:[~2007-11-19 4:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-15 0:51 Suspend/Resume support Ben Gamari
2007-11-15 3:37 ` Li YanBo
2007-11-16 0:11 ` Johannes Berg
2007-11-16 13:24 ` Kalle Valo
2007-11-16 14:41 ` Johannes Berg
2007-11-19 3:59 ` Jouni Malinen
2007-11-19 14:44 ` Johannes Berg
2007-11-16 14:49 ` Stefano Brivio
2007-11-19 4:08 ` Jouni Malinen [this message]
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=20071119040820.GK8672@jm.kir.nu \
--to=j@w1.fi \
--cc=ben@mw0.ath.cx \
--cc=dreamfly281@gmail.com \
--cc=flamingice@sourmilk.net \
--cc=johannes@sipsolutions.net \
--cc=joseignacio.naranjo@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=stefano.brivio@polimi.it \
/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).