From: Dan Williams <dcbw@redhat.com>
To: Dave <kilroyd@googlemail.com>
Cc: Pavel Roskin <proski@gnu.org>,
linux-wireless@vger.kernel.org,
orinoco-devel@lists.sourceforge.net
Subject: Re: [PATCH 01/19] orinoco: Add ESSID specific scanning for Agere fw
Date: Fri, 08 Aug 2008 10:51:58 -0400 [thread overview]
Message-ID: <1218207118.32033.12.camel@localhost.localdomain> (raw)
In-Reply-To: <489B6458.8050206@gmail.com>
On Thu, 2008-08-07 at 22:08 +0100, Dave wrote:
> Dan Williams wrote:
> > On Thu, 2008-08-07 at 19:43 +0100, Dave wrote:
> >> That said, what's wrong with the ap_scan=2 mode? You've stated it's not
> >> great (and I'm prepared to believe it), but what is the actual problem?
>
> > But the problem with ap_scan=2 is really about the failure window.
> > ap_scan=2 basically dumps a load of options on the driver, and unless
> > the options _exactly_ match the configuration of the AP, you won't
> > connect. The supplicant isn't able to make intelligent choices about
> > which networks in its config file match the scan result, thus there's a
> > lot more potential for failure unless you know exactly what your network
> > is set up to do, and these capabilities aren't always exposed through
> > beacons. So ap_scan=2 just opens up a huge window of failure and stuff
> > can't ever Just Work because no intelligence can be applied.
>
> Wouldn't a different mode of operation in wpa_supplicant solve this (see below)? Then get rid of the mode selection via wpa_supplicant.conf by selecting mode based on drivers error responses (and/or reported capabilities).
Maybe; as long as the modes are not actually exposed or configurable in
any way. However, since drivers are so horribly inconsistent and since
WEXT doesn't promote consistency, I tend to think having automatically
chosen modes like this would cause more problems than we have now...
> ap_scan=3:
> * wpa_supplicant requests scan with SIOCSIWSCAN
> * driver reports scan complete with wireless event SIOCGIWSCAN
> * wpa_supplicant reads scan results with SIOCGIWSCAN (multiple call if a larget buffer is needed)
> * wpa_supplicant decides which SSID to use based on scan results
> * wpa_supplicant configures driver to associate with an SSID (SIOCSIWMODE, SIOCSIWGENIE, SIOCSIWAUTH, SIOCSIWESSID)
>
> SIOCSIWSCAN not supported? => ap_scan=2
If a driver doesn't support SIOCSIWSCAN it'll get a big fat NAK for
kernel inclusion. Any driver that doesn't support scan shouldn't be
used.
I assume you mean "specific SSID scanning" though, right? That's
basically what NM does right now; if the driver doesn't support SSID
scan capabilities, NM requests that the supplicant use ap_scan=2.
Basically, I don't think any of this is really a problem any more. The
supplicant should probably ignore a result of EOPNOTSUPP when calling
SIOCSIWAP during the association run. ap_scan certainly shouldn't be
overloaded more than it is now. I don't think the supplicant locking in
the BSSID and controlling roaming in the supplicant based on BSSID is
all that useful since the firmware or stack usually does what it wants
anyway. Besides, it's sort of insane to specify 10 different network
blocks with a common SSID but different everything else. That's an
indication of a horribly broken network for starters, and secondly you
simply shouldn't need to lock multiple network blocks with a common SSID
down to different BSSIDs in the first place really.
If we really want to handle roaming in the supplicant, we shouldn't be
overloading ap_scan any more. We should be thinking about this from the
ground up and not trying to shove a round peg into a square hole.
ap_scan just isn't suitable for actually handling roaming.
Dan
next prev parent reply other threads:[~2008-08-08 14:50 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-02 10:14 [PATCH 00/19] orinoco: WPA for Agere based cards kilroyd
2008-08-02 10:14 ` [PATCH 01/19] orinoco: Add ESSID specific scanning for Agere fw kilroyd
2008-08-02 10:14 ` [PATCH 02/19] orinoco: Update scan translation kilroyd
2008-08-02 10:14 ` [PATCH 03/19] orinoco: Specify all three parameters to every Hermes command kilroyd
2008-08-02 10:14 ` [PATCH 04/19] orinoco: Move EXPORT_SYMBOL declarations next to exported function kilroyd
2008-08-02 10:14 ` [PATCH 05/19] orinoco: Add function to execute Hermes initialisation commands synchronously kilroyd
2008-08-02 10:14 ` [PATCH 06/19] orinoco: Move firmware download functionality into new module kilroyd
2008-08-02 10:14 ` [PATCH 07/19] orinoco: Make firmware download logic more generic kilroyd
2008-08-02 10:14 ` [PATCH 08/19] orinoco: Extend hermes_dld routines for Agere firmware kilroyd
2008-08-02 10:14 ` [PATCH 09/19] orinoco: Invoke firmware download in main driver kilroyd
2008-08-02 10:14 ` [PATCH 10/19] orinoco: Fix transmit for Agere/Lucent with fw 9.x kilroyd
2008-08-02 10:14 ` [PATCH 11/19] orinoco: address checkpatch typedef warning kilroyd
2008-08-02 10:14 ` [PATCH 12/19] orinoco: Use extended Agere scans available on 9.x series firmwares kilroyd
2008-08-02 10:14 ` [PATCH 13/19] orinoco: Don't use boolean parameter to record encoding type kilroyd
2008-08-02 10:14 ` [PATCH 14/19] orinoco: Split wevent work thread from wevent sending kilroyd
2008-08-02 10:14 ` [PATCH 15/19] orinoco: Use a macro to define wireless handlers kilroyd
2008-08-02 10:14 ` [PATCH 16/19] orinoco: Add WE-18 ioctls for WPA kilroyd
2008-08-02 10:14 ` [PATCH 17/19] orinoco: Send association events to userspace kilroyd
2008-08-02 10:14 ` [PATCH 18/19] orinoco: Process bulk of receive interrupt in a tasklet kilroyd
2008-08-02 10:14 ` [PATCH 19/19] orinoco: Add MIC on TX and check on RX kilroyd
2008-08-02 10:22 ` [PATCH 15/19] orinoco: Use a macro to define wireless handlers kilroyd
2008-08-04 4:48 ` [PATCH 01/19] orinoco: Add ESSID specific scanning for Agere fw Pavel Roskin
2008-08-04 15:34 ` Dan Williams
2008-08-05 16:22 ` Jean Tourrilhes
2008-09-02 23:06 ` Jean Tourrilhes
2008-09-08 12:48 ` Pavel Roskin
2008-09-08 16:45 ` Jean Tourrilhes
2008-09-08 18:32 ` Jean Tourrilhes
2008-09-09 18:37 ` Dave
2008-09-09 19:33 ` Jean Tourrilhes
2008-09-09 21:20 ` Tomas Winkler
2008-09-09 21:44 ` Jean Tourrilhes
2008-09-13 4:17 ` Pavel Roskin
2008-09-15 21:17 ` Jean Tourrilhes
2008-08-05 21:15 ` Pavel Roskin
2008-08-05 21:50 ` Dave
2008-08-05 21:55 ` Dan Williams
2008-08-05 22:48 ` Pavel Roskin
2008-08-06 13:13 ` Dan Williams
2008-08-06 13:48 ` Pavel Roskin
2008-08-06 19:26 ` Dave
2008-08-06 19:29 ` Dave
2008-08-06 20:56 ` Dan Williams
2008-08-06 21:03 ` Dan Williams
2008-08-06 21:08 ` Dave
2008-08-07 2:48 ` Dan Williams
2008-08-07 18:43 ` Dave
2008-08-07 19:42 ` Dan Williams
2008-08-07 20:17 ` Dave
2008-08-07 20:46 ` Dan Williams
2008-08-07 21:08 ` Dave
2008-08-08 14:51 ` Dan Williams [this message]
2008-08-04 3:57 ` [PATCH 00/19] orinoco: WPA for Agere based cards Pavel Roskin
2008-08-04 23:09 ` Dave
2008-08-04 23:28 ` Dan Williams
2008-08-06 0:37 ` Pavel Roskin
2008-08-06 18:33 ` Dave
2008-08-06 21:01 ` Dan Williams
2008-08-07 8:06 ` Jouni Malinen
2008-08-06 21:28 ` [PATCH 12/19] orinoco: Use extended Agere scans available on 9.x series firmwares kilroyd
2008-08-05 22:38 ` [Orinoco-devel] [PATCH 00/19] orinoco: WPA for Agere based cards Pavel Roskin
2008-08-08 0:02 ` Dave
2008-08-05 22:59 ` Pavel Roskin
2008-08-05 23:46 ` Dave
2008-08-06 0:41 ` [Orinoco-devel] " Pavel Roskin
2008-08-05 22:22 ` [PATCH 07/19] orinoco: Make firmware download logic more generic kilroyd
2008-08-05 22:22 ` [PATCH 09/19] orinoco: Invoke firmware download in main driver kilroyd
2008-08-05 22:22 ` [PATCH 12/19] orinoco: Use extended Agere scans available on 9.x series firmwares kilroyd
2008-08-20 19:28 ` [PATCH 00/19] orinoco: WPA for Agere based cards John W. Linville
2008-08-20 20:49 ` Dave
2008-08-20 21:06 ` Larry Finger
2008-08-20 21:07 ` Johannes Berg
2008-08-20 21:22 ` Johannes Berg
2008-08-20 23:07 ` Dave
2008-08-21 6:42 ` Johannes Berg
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=1218207118.32033.12.camel@localhost.localdomain \
--to=dcbw@redhat.com \
--cc=kilroyd@googlemail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=orinoco-devel@lists.sourceforge.net \
--cc=proski@gnu.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).