wifi: add SSID_NOT_FOUND reason and use it when we can

When the supplicant starts connecting, or gets disconnected, track
whether it ever starts talking to an AP.  Then if the connection fails
as a result of an initial connection timeout or a link timeout, we
can use SSID_NOT_FOUND when we're reasonably sure the AP doesn't
exist.  Clients can use this to show better error messages.

Note that SSID_NOT_FOUND may only be reported when using nl80211
drivers, as WEXT drivers don't provide the status necessary to
determine whether the network exists or not.
This commit is contained in:
Dan Williams
2012-06-28 16:40:47 -05:00
parent 30fe3e1876
commit 29fe6ec830
4 changed files with 27 additions and 4 deletions

View File

@@ -495,6 +495,9 @@ typedef enum {
/* ModemManager not running */
NM_DEVICE_STATE_REASON_MODEM_MANAGER_UNAVAILABLE = 52,
/* The WiFi network could not be found */
NM_DEVICE_STATE_REASON_SSID_NOT_FOUND = 53,
/* Unused */
NM_DEVICE_STATE_REASON_LAST = 0xFFFF
} NMDeviceStateReason;