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 <[EMAIL PROTECTED]>

[PATCH] mac80211: probe for hidden SSIDs

Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---

 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
[EMAIL PROTECTED]
_______________________________________________
NetworkManager-list mailing list
NetworkManager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to