最近在解bug的过程中经常遇到密码正确但处于saved的状态,总结原因有已下几种:
1 在ASSOCIATING阶段由于丢包导致ASSOC REJECT
D/WifiMonitor( 924): Event [IFNAME=wlan0 CTRL-EVENT-DISCONNECTED bssid=08:cc:68:9e:ac:20 reason=3 locally_generated=1]
I/wpa_supplicant(23065): wlan0: CTRL-EVENT-ASSOC-REJECT bssid=0e:bd:51:c7:b6:33 status_code=1
2 在4WAY_HANDSHAKE阶段由于密码错误、丢帧或者弱信号丢包导致WRONG_KEY:
密码错误在4WAY_HANDSHAKE阶段中的2/4次握手会显示wrong key。
如果已经连接过则显示
I/wpa_supplicant(19043): wlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=1 ssid="Onetouch Idol 3 (4.7)" auth_failures=1 duration=5 reason=WRONG_KEY。
丢帧导致连接断开:
wlan: [24597:E :PE ] limHandleMissedBeaconInd: 2121: Sending EXIT_BMPS_IND to SME due to Missed beacon from FW
信号弱导致断开:
I/wpa_supplicant(31023): wlan0: CTRL-EVENT-DISCONNECTED bssid=c8:3a:35:2b:71:30 reason=0
E/WifiStateMachine( 821): NETWORK_DISCONNECTION_EVENT in connected state BSSID=c8:3a:35:2b:71:30 RSSI=-89 freq=2437 was debouncing=false reason=0 ajst=0
reason=0表示因为信号弱而断开。
3 4WAY_HANDSHAK成功但DHCP FAILURE
四步握手成功但获取IP地址失败
E/WifiStateMachine(28360): WifiStateMachine DHCP failure count=0
E/WifiConfigStore(28360): message=DHCP FAILURE
4 被AP踢出,这个原因需要sniffer log分析
reason=2,reason=7,reason=15代表被AP踢出,在kernel log中可以找到对应的deauth信息。
I/wpa_supplicant(28064): wlan0: CTRL-EVENT-DISCONNECTED bssid=c4:14:3c:29:47:05 reason=7
wlan: [28055:E :PE ] limProcessDeauthFrame: 144: Received Deauth frame for Addr: 44:a4:2d:52:bc:a5 (mlm state = eLIM_MLM_LINK_ESTABLISHED_STATE, sme state = 12 systemrole = 3) with reason code 7 from c4:14:3c:29:47:05
I/wpa_supplicant(28064): wlan0: CTRL-EVENT-DISCONNECTED bssid=1c:1d:86:e9:e2:85 reason=15
wlan: [28055:E :PE ] limProcessDeauthFrame: 144: Received Deauth frame for Addr: 44:a4:2d:52:bc:a5 (mlm state = eLIM_MLM_LINK_ESTABLISHED_STATE, sme state = 12 systemrole = 3) with reason code 15 from 1c:1d:86:e9:e2:85
I/wpa_supplicant(28064): wlan0: CTRL-EVENT-DISCONNECTED bssid=c4:14:3c:29:47:25 reason=2
wlan: [28055:E :PE ] limProcessDeauthFrame: 144: Received Deauth frame for Addr: 44:a4:2d:52:bc:a5 (mlm state = eLIM_MLM_LINK_ESTABLISHED_STATE, sme state = 12 systemrole = 3) with reason code 2 from c4:14:3c:29:47:25
5 在信号相差5-10rssi的时候会发生roam,roam是在firmware层发生的,不会断开。
I/WifiHAL (28360): event received NL80211_CMD_ROAM, vendor_id = 0x0
I/wpa_supplicant(28064): wlan0: CTRL-EVENT-CONNECTED - Connection to c4:14:3c:29:47:25 completed [id=0 id_str=]
I/WifiHAL (28360): event received NL80211_CMD_ROAM, vendor_id = 0x0
I/wpa_supplicant(28064): wlan0: CTRL-EVENT-CONNECTED - Connection to c4:14:3c:29:47:05 completed [id=0 id_str=]
I/WifiHAL (28360): event received NL80211_CMD_ROAM, vendor_id = 0x0
I/wpa_supplicant(28064): wlan0: CTRL-EVENT-CONNECTED - Connection to 1c:1d:86:e9:e2:85 completed [id=0 id_str=]
6 在打开auoto join的情况下,也会发生roam,也不会断开
E/WifiStateMachine(28360): WifiStateMachine shouldSwitchNetwork txSuccessRate=0.00 rxSuccessRate=0.00 delta 1000 -> 1000
I/wpa_supplicant(28064): wlan0: CTRL-EVENT-CONNECTED - Connection to 6c:99:89:b0:01:85 completed [id=0 id_str=]
I/wpa_supplicant(28064): wlan0: CTRL-EVENT-DISCONNECTED bssid=6c:99:89:b0:01:85 reason=0
E/WifiStateMachine(28360): WifiStateMachine shouldSwitchNetwork txSuccessRate=0.00 rxSuccessRate=0.00 delta 1000 -> 1000
7 802.11 Association Status Codes
Code 802.11
definition
Explanation
0
Successful
1
Unspecified failure
For example : when there is no ssid specified in an association request
10
Cannot support all requested capabilities in the Capability Information field
Example Test: Reject when privacy bit is set for WLAN not requiring security
11
Reassociation denied due to inability to confirm that association exists
NOT SUPPORTED
12
Association denied due to reason outside the scope of this standard
Example : When controller receives assoc from an unknown or disabled SSID
13
Responding station does not support the specified authentication algorithm
For example, MFP is disabled but was requested by the client.
14
Received an Authentication frame with authentication transaction sequence number out of expected sequence
If the authentication sequence number is not correct.
15
Authentication rejected because of challenge failure
16
Authentication rejected due to timeout waiting for next frame in sequence
17
Association denied because AP is unable to handle additional associated stations
Will happen if you run out of AIDs on the AP; so try associating a large number of stations.
18
Association denied due to requesting station not supporting all of the data rates in the BSSBasicRateSet parameter
Will happen if the rates in the assoc request are not in the BasicRateSet in the beacon.
19
Association denied due to requesting station not supporting the short preamble option
NOT SUPPORTED
20
Association denied due to requesting station not supporting the PBCC modulation
option
NOT SUPPORTED
21
Association denied due to requesting station not supporting the Channel Agility option
NOT SUPPORTED
22
Association request rejected because Spectrum Management capability is required
NOT SUPPORTED
23
Association request rejected because the information in the Power Capability element is unacceptable
NOT SUPPORTED
24
Association request rejected because the information in the Supported Channels element is unacceptable
NOT SUPPORTED
25
Association denied due to requesting station not supporting the Short Slot Time option
NOT SUPPORTED
26
Association denied due to requesting station not supporting the DSSS-OFDM option
NOT SUPPORTED
27-31
Reserved
NOT SUPPORTED
32
Unspecified, QoS-related failure
NOT SUPPORTED
33
Association denied because QAP has insufficient bandwidth to handle another QSTA
NOT SUPPORTED
34
Association denied due to excessive frame loss rates and/or poor conditions on current operating channel
NOT SUPPORTED
35
Association (with QBSS) denied because the requesting STA does not support the QoS facility
If the WMM is required by the WLAN and the client is not capable of it, the association will get rejected.
36
Reserved in 802.11
This is used in our code ! There is no blackbox test for this status code.
37
The request has been declined
This is not used in assoc response; ignore
38
The request has not been successful as one or more parameters have invalid values
NOT SUPPORTED
39
The TS has not been created because the request cannot be honored; however, a suggested TSPEC is provided so that the initiating QSTA may attempt to set another TS with the suggested changes to the TSPEC
NOT SUPPORTED
40
Invalid information element, i.e., an information element defined in this standard for which the content does not meet the specifications in Clause 7
Sent when Aironet IE is not present for a CKIP WLAN
41
Invalid group cipher
Used when received unsupported Multicast 802.11i OUI Code
42
Invalid pairwise cipher
43
Invalid AKMP
44
Unsupported RSN information element version
If you put anything but version value of 1, you will see this code.
45
Invalid RSN information element capabilities
If WPA/RSN IE is malformed, such as incorrect length etc, you will see this code.
46
Cipher suite rejected because of security policy
NOT SUPPORTED
47
The TS has not been created; however, the HC may be capable of creating a TS, in response to a request, after the time indicated in the TS Delay element
NOT SUPPORTED
48
Direct link is not allowed in the BSS by policy
NOT SUPPORTED
49
Destination STA is not present within this QBSS
NOT SUPPORTED
50
The Destination STA is not a QSTA
NOT SUPPORTED
51
Association denied because the ListenInterval is too large
NOT SUPPORTED
200(0xC8)
Unspecified, QoS-related failure. Not defined in IEEE, defined in CCXv4
Unspecified QoS Failure. This will happen if the Assoc request contains more than one TSPEC for the same AC.
201(0xC9)
TSPEC request refused due to AP’s policy configuration (e.g., AP is configured to deny all TSPEC requests on this SSID). A TSPEC will not be suggested by the AP for this reason code. Not defined in IEEE, defined in CCXv4
This will happen if a TSPEC comes to a WLAN which has lower priority than the WLAN priority settings. For example a Voice TSPEC coming to a Silver WLAN. Only applies to CCXv4 clients.
202(0xCA)
Association Denied due to AP having insufficient bandwidth to handle a new TS. This cause code will be useful while roaming only. Not defined in IEEE, defined in CCXv4
203(0xCB)
Invalid Parameters. The request has not been successful as one or more TSPEC parameters in the request have invalid values. A TSPEC SHALL be present in the response as a suggestion. Not defined in IEEE, defined in CCXv4
This happens in cases such as PHY rate mismatch. If the TSRS IE contains a phy rate not supported by the controller, for example. Other examples include sending a TSPEC with bad parameters, such as sending a date rate of 85K for a narrowband TSPEC.
802.11 Deauth Reason Codes
When running a client debug, this code will match the ReasonCode from the output: "Scheduling mobile for deletion with delete Reason x, reasonCode y"
Code
802.11 definition
Explanation
0
Reserved
NOT SUPPORTED
1
Unspecified reason
TBD
2
Previous authentication no longer valid
NOT SUPPORTED
3
station is leaving (or has left) IBSS or ESS
NOT SUPPORTED
4
Disassociated due to inactivity
Do not send any data after association;
5
Disassociated because AP is unable to handle all currently associated stations
TBD
6
Class 2 frame received from nonauthenticated station
NOT SUPPORTED
7
Class 3 frame received from nonassociated station
NOT SUPPORTED
8
Disassociated because sending station is leaving (or has left) BSS
TBD
9
Station requesting (re)association is not authenticated with responding station
NOT SUPPORTED
10
Disassociated because the information in the Power Capability element is unacceptable
NOT SUPPORTED
11
Disassociated because the information in the Supported Channels element is unacceptable
NOT SUPPORTED
12
Reserved
NOT SUPPORTED
13
Invalid information element, i.e., an information element defined in this standard for which the content does not meet the specifications in Clause 7
NOT SUPPORTED
14
Message integrity code (MIC) failure
NOT SUPPORTED
15
4-Way Handshake timeout
NOT SUPPORTED
16
Group Key Handshake timeout
NOT SUPPORTED
17
Information element in 4-Way Handshake different from (Re)Association Request/Probe Response/Beacon frame
NOT SUPPORTED
18
Invalid group cipher
NOT SUPPORTED
19
Invalid pairwise cipher
NOT SUPPORTED
20
Invalid AKMP
NOT SUPPORTED
21
Unsupported RSN information element version
NOT SUPPORTED
22
Invalid RSN information element capabilities
NOT SUPPORTED
23
IEEE 802.1X authentication failed
NOT SUPPORTED
24
Cipher suite rejected because of the security policy
NOT SUPPORTED
25-31
Reserved
NOT SUPPORTED
32
Disassociated for unspecified, QoS-related reason
NOT SUPPORTED
33
Disassociated because QAP lacks sufficient bandwidth for this QSTA
NOT SUPPORTED
34
Disassociated because excessive number of frames need to be acknowledged, but are not acknowledged due to AP transmissions and/or poor channel conditions
NOT SUPPORTED
35
Disassociated because QSTA is transmitting outside the limits of its TXOPs
NOT SUPPORTED
36
Requested from peer QSTA as the QSTA is leaving the QBSS (or resetting)
NOT SUPPORTED
37
Requested from peer QSTA as it does not want to use the mechanism
NOT SUPPORTED
38
Requested from peer QSTA as the QSTA received frames using the mechanism for which a setup is required
NOT SUPPORTED
39
Requested from peer QSTA due to timeout
NOT SUPPORTED
40
Peer QSTA does not support the requested cipher suite
NOT SUPPORTED
46-65535
46--65 535 Reserved
NOT SUPPORTED
98
Cisco defined
TBD
99
Cisco defined Used when the reason code sent in a deassoc req or deauth by the client is invalid – invalid length, invalid value etc
Example: Send a Deauth to the AP with the reason code to be invalid, say zero