Re: NM does not work with iwl4965 device



On Tue, Aug 07, 2007 at 12:28:02AM -0200, Thomas M Steenholdt wrote:

> @@ -2877,6 +2883,14 @@
>   	 */
>   	if (!nm_ap_get_broadcast (ap) && !is_adhoc)
>   	{
> +		/*
> +		 * since using "AP_SCAN 1" for hidden networks, wpa_supplicant
> +		 * does not seem to bring the essid to the device anymore...
> +		 * perhaps this is a wpa_supplicant/wext/driver issue or perhaps this
> +		 * is simply how it is. We set the ESSID here for now.
> +		 */
> +		nm_device_802_11_wireless_set_essid(self, essid);
> +
>   		if (!nm_utils_supplicant_request_with_check (ctrl, "OK", __func__, NULL,
>   				"SET_NETWORK %i scan_ssid 1", nwid))
>   			goto out;

Late to the party, pardon...

FWIW, there _is_ a problem w/ mac80211's pre-authentication scanning.
It doesn't probe for SSID, so it can't see hidden networks.

I have been testing the patch below with some success using the
wireless-tools package.  However, NM still seems unable to get an
association, at least not on the first try.  Sometimes/often the 2nd
or 3rd try works, whereas w/o the patch it basically never succeeds
without some sort of command-line intervention.

Anyway, perhaps you can test w/ the kernel patch below applied?
It is also available in the Fedora rawhide kernels here:

	http://koji.fedoraproject.org/koji/buildinfo?buildID=13001

Thoughts?

John
---

From: John W. Linville <linville tuxdriver com>

[PATCH] mac80211: probe for hidden SSIDs

Signed-off-by: John W. Linville <linville tuxdriver com>
---

 net/mac80211/ieee80211_sta.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
index 007dd08..9f467cc 100644
--- a/net/mac80211/ieee80211_sta.c
+++ b/net/mac80211/ieee80211_sta.c
@@ -3217,7 +3217,10 @@ static int ieee80211_sta_config_auth(struct net_device *dev,
 		return 0;
 	} else {
 		if (ifsta->state != IEEE80211_AUTHENTICATE) {
-			ieee80211_sta_start_scan(dev, NULL, 0);
+			ieee80211_sta_start_scan(dev, ifsta->auto_ssid_sel ?
+							NULL : ifsta->ssid,
+						 ifsta->auto_ssid_sel ?
+							0 : ifsta->ssid_len);
 			ifsta->state = IEEE80211_AUTHENTICATE;
 			set_bit(IEEE80211_STA_REQ_AUTH, &ifsta->request);
 		} else
-- 
John W. Linville
linville tuxdriver com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]