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 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).