From: Dan Williams <dcbw@redhat.com>
To: "Chatre, Reinette" <reinette.chatre@intel.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
ipw3945-devel@lists.sourceforge.net, abertensu@yahoo.com,
Johannes Berg <johannes@sipsolutions.net>
Subject: Re: FW: [ipw3945-devel] iwl3945: disassociation from AP (reason=4) andtimeout, a solution
Date: Mon, 31 Mar 2008 17:41:36 -0400 [thread overview]
Message-ID: <1206999696.20744.2.camel@localhost.localdomain> (raw)
In-Reply-To: <D936D925018D154694D8A362EEB08920040FA26C@orsmsx416.amr.corp.intel.com>
On Mon, 2008-03-31 at 14:17 -0700, Chatre, Reinette wrote:
> Forwarding this to linux-wireless where there is more knowledge about
> association. The attached patch is also to the mac80211 stack, so we
> need to involve the mac80211 maintainer.
>
> Reinette
>
> On Friday, March 28, 2008 4:00 PM, Andres Bertens wrote:
>
> > Hi,
> >
> > Recently I moved from ipw3945 to iwl3945 and I was having an AP
> > association timeout after some inactivity.
> > Card is Intel 3945bg, router is DLink DI524, driver is
> > compat-wireless-2.6 (2008-03-28) or older and mode is (WEP, open) on
> > linux-2.6.24.4. It does not recover magically.
> >
> > The trace is:
> >
> > wlan0: RX disassociation from 00:17:9a:63:d2:21 (reason=4)
> > wlan0: disassociated
> > wlan0: associate with AP 00:17:9a:63:d2:21
> > wlan0: RX ReassocResp from 00:17:9a:63:d2:21 (capab=0x431 status=17
> > aid=1) wlan0: AP denied association (code=17)
> > wlan0: associate with AP 00:17:9a:63:d2:21
> > wlan0: RX AssocResp from 00:17:9a:63:d2:21 (capab=0x431 status=17
> > aid=1073) wlan0: AP denied association (code=17)
> > wlan0: associate with AP 00:17:9a:63:d2:21
> > wlan0: RX AssocResp from 00:17:9a:63:d2:21 (capab=0x431 status=17
> > aid=1073) wlan0: AP denied association (code=17)
> > wlan0: association with AP 00:17:9a:63:d2:21 timed out
> >
> > After browsing the internet, I found a lot of people with the same
> > problem and no solution. So, I dived into the code and found a simple
> > solution: ignore disassociation. When a new request arrives to the
> > wireless, a reconnection is done automatically.
Ignoring the disassociation from the AP is suspect... wouldn't the AP
be releasing resources associated with the station, requiring a
reassociate/reauth from the station? Reason 4 seems to mean "Inactivity
timer expired and station was disassociated".
A better solution would be to queue up a reassocation worker if the AP
kicked you off for reason 4, maybe?
Dan
> > I patched the code, modifying net/mac80211/ieee80211_sta.c, and trace
> > is as follow:
> >
> > wlan0: RX disassociation for reason=4 received from 00:17:9a:63:d2:21
> > - ignored
> > wlan0: RX deauthentication from 00:17:9a:63:d2:21 (reason=6)
> > wlan0: deauthenticated
> > wlan0: authenticate with AP 00:17:9a:63:d2:21
> > wlan0: RX authentication from 00:17:9a:63:d2:21 (alg=0 transaction=2
> > status=0)
> > wlan0: authenticated
> > wlan0: associate with AP 00:17:9a:63:d2:21
> > wlan0: RX ReassocResp from 00:17:9a:63:d2:21 (capab=0x431 status=0
> > aid=2) wlan0: associated
> >
> > and these entries repeats in time. As you can see, the disassociation
> > still ocurrs but a new request afterwards generates a deauthentication
> > (reason=6) and a reconnection takes place (transparent to the user).
> >
> > Attached is patch to compat-wireless-2.6 (2008-03-28). Please note
> > that this is for iwl3945+dlink+WEP combination (according to other
> > people, it seems to work for other combinations).
> >
> > Hope this help.
> >
> > Regards,
> > Andres Bertens
>
>
> plain text document attachment (compat-wireless-2.6-ap-timeout.patch),
> "compat-wireless-2.6-ap-timeout.patch"
> diff -Naur compat-wireless-2008-03-28/net/mac80211/ieee80211_sta.c compat-wireless-2008-03-28-new/net/mac80211/ieee80211_sta.c
> --- compat-wireless-2008-03-28/net/mac80211/ieee80211_sta.c 2008-03-28 01:14:15.000000000 -0400
> +++ compat-wireless-2008-03-28-new/net/mac80211/ieee80211_sta.c 2008-03-28 16:19:57.000000000 -0400
> @@ -1809,6 +1809,15 @@
>
> reason_code = le16_to_cpu(mgmt->u.disassoc.reason_code);
>
> +/* ABU */
> + if( reason_code == 4 ) {
> + printk(KERN_DEBUG "%s: RX disassociation for reason=4 "
> + "received from %s - ignored\n",
> + dev->name, print_mac(mac, mgmt->sa));
> + return;
> + }
> +/* ABU */
> +
> printk(KERN_DEBUG "%s: RX disassociation from %s"
> " (reason=%d)\n",
> dev->name, print_mac(mac, mgmt->sa), reason_code);
>
next prev parent reply other threads:[~2008-04-01 11:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-31 21:17 FW: [ipw3945-devel] iwl3945: disassociation from AP (reason=4) andtimeout, a solution Chatre, Reinette
2008-03-31 21:41 ` Dan Williams [this message]
2008-04-01 12:03 ` Johannes Berg
2008-04-01 13:45 ` Andres Bertens
2008-04-01 16:42 ` Johannes Berg
2008-04-02 15:35 ` Andres Bertens
2008-04-03 22:03 ` Andres Bertens
2008-04-04 11:46 ` Tomas Winkler
2008-04-01 14:25 ` [ipw3945-devel] FW: " John W. Linville
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=1206999696.20744.2.camel@localhost.localdomain \
--to=dcbw@redhat.com \
--cc=abertensu@yahoo.com \
--cc=ipw3945-devel@lists.sourceforge.net \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=reinette.chatre@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.