Linux wireless drivers development
 help / color / mirror / Atom feed
From: "Lars Ericsson" <Lars_Ericsson@telia.com>
To: "'Johannes Berg'" <johannes@sipsolutions.net>
Cc: <linux-wireless@vger.kernel.org>, <rt2400-devel@lists.sourceforge.net>
Subject: RE: Roaming issues: AP deauthentication.
Date: Wed, 27 Feb 2008 21:25:01 +0100	[thread overview]
Message-ID: <008401c8797e$d5352810$0b3ca8c0@gotws1589> (raw)
In-Reply-To: <1204134256.6309.31.camel@johannes.berg>

Hi, 

I have split my issues into individual discussions:

> AP deauthentication.
> =====================
> When any of the ieee80211_rx_mgmt_deauth() or 
> ieee80211_rx_mgmt_disassoc() are executed, the mac layer takes two
actions.
> 1) Tells wpa_supplicant what had happened.
> 2) Start reestabliching the connaction again.
> 
> The later action will stop or significantly delay the decisions/action 
> taken by wpa_supplicant as a result of action 1. Normally the 
> supplicant will start an AP scan.
> But the mac layer is busy with reestablishing the link and will not 
> start any scan action.
>
> Does associating actually block scanning?
> 
> If it doesn't, it really should.  There's been a number of problems 
> over the years with scan requests screwing up association because the 
> card is on a different channel and misses the association/auth 
> exchanges.  To ensure that association/authentication is as robust as 
> possible, the driver should refuse scans while association is ongoing.
>
>
> My patches simply put the mac layer in IEEE80211_DISABLED state and 
> wait for the supplicant to decide.
>
> That would break supplicant-less operation which we can't do.
>
>
> Good point.


The patch might not work for all use cases, 
but might be configurable for the wpa_supplicant.


The following trace is an example before the patch 
where the STA roams from 60:00 to 84:20:
===========================================================
<4>[  513.630484] LaE: ieee80211_associated: bssid=00:0f:24:d1:60:00, diff=
419, bcnt= 9, last: rssi=-78, signa= 23, noise=  0 
<7>[  513.964713] wlan0: RX deauthentication from 00:0f:24:d1:60:00
(reason=2)
<7>[  513.964761] wlan0: deauthenticated
<7>[  514.963454] wlan0: authenticate with AP 00:0f:24:d1:60:00
<7>[  514.965015] wlan0: RX authentication from 00:0f:24:d1:60:00 (alg=0
transaction=2 status=0)
<7>[  514.965060] wlan0: authenticated
<7>[  514.965089] wlan0: associate with AP 00:0f:24:d1:60:00
<7>[  514.975332] wlan0: RX ReassocResp from 00:0f:24:d1:60:00 (capab=0x431
status=0 aid=43)
<7>[  514.975387] wlan0: associated
<7>[  514.975429] wlan0: CTS protection enabled (BSSID=00:0f:24:d1:60:00)
<7>[  515.002555] HW CONFIG: channel=1 freq=2412 phymode=2
<7>[  515.066225] HW CONFIG: channel=2 freq=2417 phymode=2
<7>[  515.130252] HW CONFIG: channel=3 freq=2422 phymode=2
<7>[  515.194672] HW CONFIG: channel=4 freq=2427 phymode=2
<7>[  515.258189] HW CONFIG: channel=5 freq=2432 phymode=2
<7>[  515.322688] HW CONFIG: channel=6 freq=2437 phymode=2
<7>[  515.386038] HW CONFIG: channel=7 freq=2442 phymode=2
<7>[  515.450156] HW CONFIG: channel=8 freq=2447 phymode=2
<7>[  515.514878] HW CONFIG: channel=9 freq=2452 phymode=2
<7>[  515.578011] HW CONFIG: channel=10 freq=2457 phymode=2
<7>[  515.642574] HW CONFIG: channel=11 freq=2462 phymode=2
<7>[  515.706186] HW CONFIG: channel=12 freq=2467 phymode=2
<7>[  515.769983] HW CONFIG: channel=13 freq=2472 phymode=2
<7>[  515.835163] HW CONFIG: channel=7 freq=2442 phymode=2
<7>[  515.846340] wlan0: set_encrypt - unknown addr 00:0e:d7:ac:84:20
<7>[  515.848784] HW CONFIG: channel=1 freq=2412 phymode=2
<7>[  515.851425] wlan0: Initial auth_alg=0
<7>[  515.851585] wlan0: authenticate with AP 00:0f:24:d1:60:00
<6>[  515.858226] phy0 -> rt2x00mac_conf_tx: Info - Configured TX ring 0 -
CWmin: 4, CWmax: 10, Aifs: 2.
<6>[  515.858287] phy0 -> rt2x00mac_conf_tx: Info - Configured TX ring 1 -
CWmin: 4, CWmax: 10, Aifs: 2.
<6>[  515.858328] phy0 -> rt2x00mac_conf_tx: Info - Configured TX ring 2 -
CWmin: 4, CWmax: 10, Aifs: 2.
<6>[  515.858370] phy0 -> rt2x00mac_conf_tx: Info - Configured TX ring 3 -
CWmin: 4, CWmax: 10, Aifs: 2.
<6>[  515.858411] phy0 -> rt2x00mac_conf_tx: Info - Configured TX ring 4 -
CWmin: 4, CWmax: 10, Aifs: 2.
<6>[  515.858453] phy0 -> rt2x00mac_conf_tx: Info - Configured TX ring 7 -
CWmin: 5, CWmax: 10, Aifs: 2.
<7>[  515.859260] wlan0: Initial auth_alg=0
<7>[  515.859417] wlan0: authenticate with AP 00:0e:d7:ac:84:20
<7>[  515.865693] wlan0: RX authentication from 00:0e:d7:ac:84:20 (alg=0
transaction=2 status=0)
<7>[  515.865866] wlan0: authenticated
<7>[  515.866060] wlan0: associate with AP 00:0e:d7:ac:84:20
<7>[  515.868272] wlan0: RX ReassocResp from 00:0e:d7:ac:84:20 (capab=0x431
status=0 aid=218)
<7>[  515.868437] wlan0: associated
<7>[  515.870163] phy0: Added STA 00:0e:d7:ac:84:20
<7>[  515.870353] wlan0: WMM queue=2 aci=0 acm=0 aifs=3 cWmin=15 cWmax=1023
burst=0


After the patch it looks as follows:
where the STA roams from 60:00 to 64:f0:
===========================================================
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.008642] wlan0: RX
deauthentication from 00:0f:24:d1:60:00 (reason=2)
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.008691] wlan0:
deauthenticated
Feb 26 09:07:43 (none) user.warn kernel: [ 1146.008712] LaE:
[ieee80211_rx_mgmt_deauth] set IEEE80211_DISABLED
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.146694] HW CONFIG:
channel=1 freq=2412 phymode=2
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.220021] HW CONFIG:
channel=6 freq=2437 phymode=2
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.291429] HW CONFIG:
channel=7 freq=2442 phymode=2
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.368633] HW CONFIG:
channel=11 freq=2462 phymode=2
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.435768] HW CONFIG:
channel=13 freq=2472 phymode=2
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.508241] HW CONFIG:
channel=7 freq=2442 phymode=2
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.520670] wlan0: set_encrypt
- unknown addr 00:0e:d7:ca:64:f0
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.521289] HW CONFIG:
channel=13 freq=2472 phymode=2
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.523450] wlan0: Initial
auth_alg=0
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.528055] wlan0: authenticate
with AP 00:0f:24:d1:60:00
Feb 26 09:07:43 (none) user.info kernel: [ 1146.528888] phy0 ->
rt2x00mac_conf_tx: Info - Configured TX ring 0 - CWmin: 4, CWmax: 10, Aifs:
2.
Feb 26 09:07:43 (none) user.info kernel: [ 1146.528948] phy0 ->
rt2x00mac_conf_tx: Info - Configured TX ring 1 - CWmin: 4, CWmax: 10, Aifs:
2.
Feb 26 09:07:43 (none) user.info kernel: [ 1146.528989] phy0 ->
rt2x00mac_conf_tx: Info - Configured TX ring 2 - CWmin: 4, CWmax: 10, Aifs:
2.
Feb 26 09:07:43 (none) user.info kernel: [ 1146.529030] phy0 ->
rt2x00mac_conf_tx: Info - Configured TX ring 3 - CWmin: 4, CWmax: 10, Aifs:
2.
Feb 26 09:07:43 (none) user.info kernel: [ 1146.529072] phy0 ->
rt2x00mac_conf_tx: Info - Configured TX ring 4 - CWmin: 4, CWmax: 10, Aifs:
2.
Feb 26 09:07:43 (none) user.info kernel: [ 1146.529114] phy0 ->
rt2x00mac_conf_tx: Info - Configured TX ring 7 - CWmin: 5, CWmax: 10, Aifs:
2.
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.540333] wlan0: Initial
auth_alg=0
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.540389] wlan0: authenticate
with AP 00:0e:d7:ca:64:f0
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.542411] wlan0: RX
authentication from 00:0e:d7:ca:64:f0 (alg=0 transaction=2 status=0)
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.542464] wlan0:
authenticated
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.542493] wlan0: associate
with AP 00:0e:d7:ca:64:f0
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.550157] wlan0: RX
ReassocResp from 00:0e:d7:ca:64:f0 (capab=0x431 status=0 aid=164)
Feb 26 09:07:43 (none) user.debug kernel: [ 1146.550210] wlan0: associated


/Lars


  reply	other threads:[~2008-02-27 20:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-27 13:44 Roaming issues Lars Ericsson
2008-02-27 13:59 ` Luis R. Rodriguez
2008-02-27 16:28 ` Johannes Berg
2008-02-27 17:36   ` Dan Williams
2008-02-27 17:44     ` Johannes Berg
2008-02-27 20:25       ` Lars Ericsson [this message]
2008-02-28 15:57         ` Roaming issues: AP deauthentication Johannes Berg
2008-02-27 20:27       ` Roaming issues: Monitoring of a usable link to the AP Lars Ericsson
2008-02-28 11:22         ` Lars Ericsson
2008-02-28 16:00           ` Johannes Berg
2008-02-27 20:30       ` Roaming issues: Timeout handling Lars Ericsson

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='008401c8797e$d5352810$0b3ca8c0@gotws1589' \
    --to=lars_ericsson@telia.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=rt2400-devel@lists.sourceforge.net \
    /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