From: Larry Finger <Larry.Finger@lwfinger.net>
To: Dan Williams <dcbw@redhat.com>
Cc: Michael Buesch <mb@bu3sch.de>,
linville@tuxdriver.com, netdev@vger.kernel.org,
Johannes Berg <johannes@sipsolutions.net>
Subject: Re: [PATCH] softmac: Fix WX and association related races
Date: Thu, 28 Sep 2006 10:16:31 -0500 [thread overview]
Message-ID: <451BE74F.3010908@lwfinger.net> (raw)
In-Reply-To: <1159455169.2642.30.camel@localhost.localdomain>
Dan Williams wrote:
> On Thu, 2006-09-28 at 16:43 +0200, Michael Buesch wrote:
>> On Thursday 28 September 2006 16:37, Dan Williams wrote:
>>> On Thu, 2006-09-28 at 16:27 +0200, Johannes Berg wrote:
>>>> On Thu, 2006-09-28 at 10:19 -0400, Dan Williams wrote:
>>>>
>>>>> I'd buy that argument. When the driver gets the deauth message,
>>>>> shouldn't it be sending an IWAP 00:00:00:00:00:00 wireless event to
>>>>> userspace?
>>>> I thought we did that since a long time now, didn't you actually develop
>>>> the initial patch?
>>> Yes, I think I did. My point here wasn't that the driver is _not_
>>> sending those messages (it almost certainly is), but what's _implied_ by
>>> those messages. Namely that, if you're using a tool like wpa_supplicant
>>> and/or NM, when you get a deauth from the AP and send the IWAP event,
>>> all bets are off because the tool will likely override whatever the
>>> driver thinks its doing.
>>>
>>> I'm somewhat ambiguous on just how much policy a driver should try to
>>> enforce. I guess I'm OK with reassociation with the _same_ credentials.
>>> But what airo does with "auto_wep" is very nearly, if not completely,
>>> crossing the line [1]. The real question is, how much should drivers
>>> really do, and how much should they leave to userspace?
>> IMO a driver should implement absolutely _zero_ policy, as this
>> is the only way to get the same (default) policy for different
>> cards. A driver should _only_ provide generic events for
>> userspace tools to make decisions.
>> A "I got a deauth" event is really enough for userspace to
>> know what to do.
>
> As a counterpoint, does every developer _really_ want to run
> wpa_supplicant just to use a WEP-encrypted connection where you may
> occasionally get kicked off?
>
> I think it's clear that with WPA, it's pretty nearly impossible to do
> reauth/reassoc because you need a user-space supplicant, right? But WEP
> doesn't require any interaction other than the 2- or 4-stage handshake
> for open or shared key, and that's already done in the driver.
>
> I'd say that handling WEP reauth/reassoc in the driver is probably fine
> [1] since many drivers already try to do this, but I believe it's
> probably inappropriate for anything more than WEP. It's probably also
> impossible to do with any sort of more-than-WEP roaming, maybe even WEP
> roaming.
>
> Dan
>
> [1] with a suitable timeout or #tries clamp so it doesn't try forever.
> airo does the auto_wep thing twice before failing and sending IWAP
> 00:00:... I believe.
>
>>> Dan
>>>
>>> [1] if the auth mode (open or shared-key) doesn't work, airo schedules a
>>> timer and bumps the auth mode to the other one automatically, and tries
>>> reassociation.
Thanks for the educational discourse here. I have quite a bit of food for thought.
First of all, my problem is quite likely caused by a buggy AP. It is a Linksys WRT54G V5, which is
one of those with a VxWorks kernel, not Linux. I have already reported one bug to Linksys, which
they have neither acknowledged nor fixed! In that case, SoftMAC had to be modified as a work-around.
I don't know why the deauthentication is being sent. The reason is not logged, which will be my
first change in the code. The second place to look is why SoftMAC reports the network is unknown
when the MAC printed is that of my AP.
Once I know more about the above points, I'll likely be back with more questions. Once I get the
response to the deauthentication to be better behaved, I will retry Michael's patch. The main
difficulty in all of this is that it happens even less frequently than the NETDEV WATCHDOG timeouts,
which were bad enough to troubleshoot.
Thanks again,
Larry
next prev parent reply other threads:[~2006-09-28 15:16 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-27 15:26 [PATCH] softmac: Fix WX and association related races Michael Buesch
2006-09-27 16:18 ` Larry Finger
2006-09-27 17:50 ` Michael Buesch
2006-09-27 21:11 ` Christian
2006-09-27 21:21 ` Christian
2006-09-27 22:23 ` Benjamin Herrenschmidt
2006-09-28 0:43 ` Larry Finger
2006-09-28 1:04 ` Benjamin Herrenschmidt
2006-09-28 4:09 ` Larry Finger
2006-09-28 12:55 ` Michael Buesch
2006-09-28 14:19 ` Dan Williams
2006-09-28 14:27 ` Johannes Berg
2006-09-28 14:37 ` Dan Williams
2006-09-28 14:43 ` Michael Buesch
2006-09-28 14:52 ` Dan Williams
2006-09-28 15:13 ` Michael Buesch
2006-09-28 17:33 ` Jouni Malinen
2006-09-28 15:16 ` Larry Finger [this message]
2006-09-28 15:29 ` Michael Buesch
2006-09-28 15:35 ` Michael Wu
2006-09-28 15:52 ` Larry Finger
2006-09-28 16:31 ` Jason Lunz
2006-09-28 17:04 ` Larry Finger
2006-09-28 17:14 ` Michael Buesch
2006-09-28 17:40 ` Larry Finger
2006-09-28 14:43 ` Johannes Berg
2006-09-27 22:20 ` Benjamin Herrenschmidt
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=451BE74F.3010908@lwfinger.net \
--to=larry.finger@lwfinger.net \
--cc=dcbw@redhat.com \
--cc=johannes@sipsolutions.net \
--cc=linville@tuxdriver.com \
--cc=mb@bu3sch.de \
--cc=netdev@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 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).