> Because in the case of hidden SSIDs, wpa_supplicant pretty much says to > use ap_scan=2. > > There are a few problems here: > > 1) Historically, some drivers worked better with ap_scan=1 (madwifi), > others worked better with ap_scan=2 (many fullmac drivers) > > 2) scan_ssid=1 hasn't worked consistently on all drivers because it's > pretty new and many drivers don't support it yet. This is supposed to > make the driver/firmware send out probe request for the SSID in > question. > > So basically, we're up shit creek without a paddle. You have to use > ap_scan=2 on some cards because they don't support specific-ssid > scanning (with scan_ssid=1) to find the BSS you want to connect to, but > some cards can handle ap_scan=1+scan_ssid=1 OK. Fun. I'm pretty sure mac80211 handles ap_scan=1/scan_ssid=1 fine, sending probe requests for that specific SSID. > NM has logic to cache the BSSIDs of APs you've connected to before, and > to match those up with an SSID when it sees them in the scan list if the > AP isn't broadcasting the SSID. Unfortunately, that information isn't > available to wpa_supplicant because wpa_supplicant doesn't have an > interface to handle that sort of thing. Therefore, when faced with an a > request to connect to a hidden network, wpa_supplicant must rely > _entirely_ on the driver Doing The Right Thing with scan_ssid=1 or > ap_scan=2, and that almost never works due to inconsistency in driver > implementation. Who invented hidden SSIDs anyway? Well, I guess I can actually test this now that I finally have a second mac80211-based wireless card, although iwl4965 is special wrt. scanning. I guess the trick will be to make ap_scan=2 work although ap_scan=1/scan_ssid=1 works much better :( We can fix that in nl80211 by making sure that scan_ssid is implemented right away and whoever has nl80211 support needs to support that so that we can rely on it... johannes
Attachment:
signature.asc
Description: This is a digitally signed message part