I got the chance to do some network sniffing with one of our network guys today. We've noticed that the SSID parameter issued by NetworkManager with cards using the iwl drivers is empty. On a previous version of NM (FC6) on a machine with the 2945 card the same parameter comes across with the SSID properly set. NetworkManger has been having some problems with hidden networks recently and this would seem to be a very big pointer into why. When NM probes the AP with an empty (or broadcast) SSID it will respond only with the SSIDs that it is broadcasting. To connect to hidden networks NM needs to probe the AP with the SSID parameter set. I have some dump files but need to go over them to make sure they don't need to be sanitized before posting them in a public space.
This is somewhat intricate, there are a few parts. First, NetworkManager. NM will tell wpa_supplicant to use the "scan_ssid=1" option when the network is hidden (or at least it should). NM doesn't do anything with probe requests at all, it defers it to wpa_supplicant. Second, wpa_supplicant. If given the "scan_ssid=1" option for a network, it _should_ tell the driver to generate a specific SSID probe request during the scans. Third, the driver. The driver has to respect the specific SSID probe request given to it by wpa_supplicant. Not many drivers do... So it's possible that the bug is in any one of these 3 places. We'd need to see from /var/log/messages what NM thinks its doing, and then possibly update your copy of wpa_supplicant with one that logs output to a file. Either that, or turn on debugging in the driver. What driver are you using? What kernel version? Can you attach the output of lspci? thanks...
I've submitted an upstream kernel patch that Linville has been backporting to the Fedora 2.6.23 kernels that allows NM to make an intelligent decision whether or not to use ap_scan=1 or ap_scan=2. I've updated NetworkManager to pass the correct ap_scan value when the driver supports scanning specific SSIDs. *** This bug has been marked as a duplicate of 373841 ***