reassotiation bug (same ESSID)
Hans Meine <[email protected]>
| Newsgroups | gmane.linux.drivers.ipw2100.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi!
Some time ago, I had severe problems with connecting to my access point -
wpa_supplicant would keep alternating between ASSOCIATING and SCANNING modes.
After some research, I found the attached patch in some bugzilla (IIRC,
unfortunately I cannot find the exact source again with a quick search right
now). It solved the problem and I assumed that it would be applied some day.
(Actually, I would have liked to add a "works fine for me" comment to the
bugzilla, but I was too busy until now.)
Lately, I upgraded to linux-2.6.20.1 which contains a recent ipw2200 version:
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.0kmpr
(Consequently, Gentoo masked the ipw2200 ebuilds.)
Unfortunately, I still had to apply the patch (luckily, it *did* apply,
although with an offset of >300 lines.. ;-) ).
In the ChangeLog (http://ipw2200.sourceforge.net/news.php) I found:
> * Reassociate even if set the same essid (thanks to Bill Moss)
BTW: Both for versions 1.1.3 _and_ 1.1.4?
That seems to be about the opposite of what's needed for my access point (a
D-Link DI-624+). Now I want to make sure that this patch (or a similar one)
goes in, since it is 100% needed for WPA with access points like mine.
Please tell me if I should try again to find the exact Bugzilla entry, but I
thought you might already know about it?
Ciao, / / .o.
/--/ ..o
/ / ANS ooo
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
ipw2100-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipw2100-devel
ipw2200-1.1.3-wpa-fix2.patch
(text/x-diff, 754 B)
diff -urp ipw2200-1.1.3/ipw2200.c ipw2200-1.1.3-new/ipw2200.c
--- ipw2200-1.1.3/ipw2200.c 2006-06-12 14:07:45.000000000 +0800
+++ ipw2200-1.1.3-new/ipw2200.c 2006-07-26 13:57:18.000000000 +0800
@@ -9480,6 +9480,16 @@ static int ipw_wx_set_essid(struct net_d
priv->config |= CFG_STATIC_ESSID;
+ /* Do not force reassociating if the new essid is the same as the
+ * current one and we are already associated.
+ */
+ if (priv->essid_len == length && !memcmp(priv->essid, extra, length)
+ && (priv->status & (STATUS_ASSOCIATED | STATUS_ASSOCIATING))) {
+ IPW_DEBUG_WX("ESSID set to current ESSID.\n");
+ mutex_unlock(&priv->mutex);
+ return 0;
+ }
+
IPW_DEBUG_WX("Setting ESSID: '%s' (%d)\n", escape_essid(extra, length),
length);
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBF8HLPJ8iuK6bBAPMRAuZMAJ9MjFk2R1HFlECikh193g9x8blkZwCg3lVj +HPrBlmlu+PVkbgQpP3RRfs= =m7Ij -----END PGP SIGNATURE-----