[patch] Unable to associate with already associated network on ipw3945 hardware

Dan Williams dcbw at redhat.com
Tue Sep 4 08:10:03 EDT 2007


On Tue, 2007-09-04 at 12:29 +0200, Reinhard Tartler wrote:
> Hey there,
> 
> This is a forward for a bug filed by Scott Robinson against the
> wpasupplicant package in ubuntu. You can see the bug report here:
> 
> https://bugs.launchpad.net/ubuntu/+source/wpasupplicant/+bug/135442
> 
> Text follows:
> 
> > the ipw3945 driver does not send an association event in the case of a
> > requested association to the already associated AP.
> > 
> > wpasupplicant expects this but won't request a disassociation due to
> > the bssid never being filled in its internal view of the wireless
> > interface.
> >
> > The attached patch can be placed in the debian/patches directory for
> > wpasupplicant and will fill in the data structures and request a
> > disassociation, thereby solving the problem.

I'd say, fix the driver.  I had to fix this in libertas too, because
that's the correct place to do it.

If a userspace process calls SIOCSIWESSID or SIOCSIWAP, then the driver
is expected to return the association event no matter what, even if the
card is already associated to the AP.

Dan

> The patch is here:
> 
> --- wpa_supplicant/wpa_supplicant.c.orig	2007-05-28 10:26:55.000000000 -0700
> +++ wpa_supplicant/wpa_supplicant.c	2007-08-24 19:08:22.000000000 -0700
> @@ -2107,6 +2107,11 @@
>  	wpa_printf(MSG_DEBUG, "RSN: flushing PMKID list in the driver");
>  	wpa_drv_flush_pmkid(wpa_s);
>  
> +	/* Disassociate the interface on startup, as WPAS has presumptions
> +	 * about the whole mess. */
> +	wpa_supplicant_get_bssid(wpa_s, wpa_s->bssid);
> +	wpa_supplicant_disassociate(wpa_s, WLAN_REASON_UNSPECIFIED);
> +
>  	wpa_s->prev_scan_ssid = BROADCAST_SSID_SCAN;
>  	wpa_supplicant_req_scan(wpa_s, interface_count, 100000);
>  	interface_count++;
> 
> 
> Jouni, can you please comment on this? Is this patch okay for your tree?
> 




More information about the HostAP mailing list