2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/include/mgmt/aa_fsm.h#1 $
6 \brief Declaration of functions and finite state machine for SAA/AAA Module.
8 Declaration of functions and finite state machine for SAA/AAA Module.
11 /*******************************************************************************
12 * Copyright (c) 2009 MediaTek Inc.
14 * All rights reserved. Copying, compilation, modification, distribution
15 * or any other use whatsoever of this material is strictly prohibited
16 * except in accordance with a Software License Agreement with
18 ********************************************************************************
21 /*******************************************************************************
24 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
25 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
26 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
27 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
28 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
29 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
30 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
31 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
32 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
33 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
34 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
35 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
36 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
38 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
39 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
40 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
41 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
42 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
44 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
45 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
46 * OF LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
47 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
48 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
50 ********************************************************************************
57 * [MT6620 Wi-Fi][Driver] Reduce join failure count limit to 2 for faster re-join for other BSS
58 * 1. short join failure count limit to 2
59 * 2. treat join timeout as kind of join failure as well
63 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
66 * [WPD00003833][MT6620 and MT5931] Driver migration
67 * refine TX-DONE callback.
70 * [WPD00003833][MT6620 and MT5931] Driver migration
72 * 2) add ucTxSeqNum for tracking frames which needs TX-DONE awareness
73 * 3) add configuration options for CNM_MEM and RSN modules
74 * 4) add data path for management frames
75 * 5) eliminate rPacketInfo of MSDU_INFO_T
78 * [WPD00003833][MT6620 and MT5931] Driver migration
79 * add buildable & linkable ais_fsm.c
81 * related reference are still waiting to be resolved
84 * [WPD00003833][MT6620 and MT5931] Driver migration
85 * add aa_fsm.h, ais_fsm.h, bss.h, mib.h and scan.h.
87 * 03 10 2010 kevin.huang
88 * [BORA00000654][WIFISYS][New Feature] CNM Module - Ch Manager Support
90 * Add Channel Manager for arbitration of JOIN and SCAN Req
92 * 02 04 2010 kevin.huang
93 * [BORA00000603][WIFISYS] [New Feature] AAA Module Support
94 * Add AAA Module Support, Revise Net Type to Net Type Index for array lookup
96 * 01 11 2010 kevin.huang
97 * [BORA00000018]Integrate WIFI part into BORA for the 1st time
98 * Add Deauth and Disassoc Handler
100 * Nov 24 2009 mtk01461
101 * [BORA00000018] Integrate WIFI part into BORA for the 1st time
102 * Revise MGMT Handler with Retain Status
104 * Nov 23 2009 mtk01461
105 * [BORA00000018] Integrate WIFI part into BORA for the 1st time
113 /*******************************************************************************
114 * C O M P I L E R F L A G S
115 ********************************************************************************
118 /*******************************************************************************
119 * E X T E R N A L R E F E R E N C E S
120 ********************************************************************************
123 /*******************************************************************************
125 ********************************************************************************
127 /* Retry interval for retransmiting authentication-request MMPDU. */
128 #define TX_AUTHENTICATION_RETRY_TIMEOUT_TU 100 // TU.
130 /* Retry interval for retransmiting association-request MMPDU. */
131 #define TX_ASSOCIATION_RETRY_TIMEOUT_TU 100 // TU.
133 /* Wait for a response to a transmitted authentication-request MMPDU. */
134 #define DOT11_AUTHENTICATION_RESPONSE_TIMEOUT_TU 512 // TU.
136 /* Wait for a response to a transmitted association-request MMPDU. */
137 #define DOT11_ASSOCIATION_RESPONSE_TIMEOUT_TU 512 // TU.
139 /* The maximum time to wait for JOIN process complete. */
140 #define JOIN_FAILURE_TIMEOUT_BEACON_INTERVAL 20 // Beacon Interval, 20 * 100TU = 2 sec.
142 /* Retry interval for next JOIN request. */
143 #define JOIN_RETRY_INTERVAL_SEC 10 // Seconds
145 /* Maximum Retry Count for accept a JOIN request. */
146 #define JOIN_MAX_RETRY_FAILURE_COUNT 2 // Times
148 /*******************************************************************************
150 ********************************************************************************
152 typedef enum _ENUM_AA_STATE_T {
154 SAA_STATE_SEND_AUTH1,
155 SAA_STATE_WAIT_AUTH2,
156 SAA_STATE_SEND_AUTH3,
157 SAA_STATE_WAIT_AUTH4,
158 SAA_STATE_SEND_ASSOC1,
159 SAA_STATE_WAIT_ASSOC2,
160 AAA_STATE_SEND_AUTH2,
161 AAA_STATE_SEND_AUTH4, // We may not use, because P2P GO didn't support WEP and 11r
162 AAA_STATE_SEND_ASSOC2,
163 AA_STATE_RESOURCE, // A state for debugging the case of out of msg buffer.
167 /*******************************************************************************
168 * P U B L I C D A T A
169 ********************************************************************************
172 /*******************************************************************************
173 * P R I V A T E D A T A
174 ********************************************************************************
177 /*******************************************************************************
179 ********************************************************************************
182 /*******************************************************************************
183 * F U N C T I O N D E C L A R A T I O N S
184 ********************************************************************************
186 /*----------------------------------------------------------------------------*/
187 /* Routines in saa_fsm.c */
188 /*----------------------------------------------------------------------------*/
191 IN P_ADAPTER_T prAdapter,
192 IN P_STA_RECORD_T prStaRec,
193 IN ENUM_AA_STATE_T eNextState,
194 IN P_SW_RFB_T prRetainedSwRfb
198 saaFsmSendEventJoinComplete (
199 IN P_ADAPTER_T prAdapter,
200 WLAN_STATUS rJoinStatus,
201 P_STA_RECORD_T prStaRec,
206 saaFsmRunEventStart (
207 IN P_ADAPTER_T prAdapter,
208 IN P_MSG_HDR_T prMsgHdr
212 saaFsmRunEventTxDone (
213 IN P_ADAPTER_T prAdapter,
214 IN P_MSDU_INFO_T prMsduInfo,
215 IN ENUM_TX_RESULT_CODE_T rTxDoneStatus
219 saaFsmRunEventTxReqTimeOut (
220 IN P_ADAPTER_T prAdapter,
221 IN P_STA_RECORD_T prStaRec
225 saaFsmRunEventRxRespTimeOut (
226 IN P_ADAPTER_T prAdapter,
227 IN P_STA_RECORD_T prStaRec
231 saaFsmRunEventRxAuth (
232 IN P_ADAPTER_T prAdapter,
233 IN P_SW_RFB_T prSwRfb
237 saaFsmRunEventRxAssoc (
238 IN P_ADAPTER_T prAdapter,
239 IN P_SW_RFB_T prSwRfb
243 saaFsmRunEventRxDeauth (
244 IN P_ADAPTER_T prAdapter,
245 IN P_SW_RFB_T prSwRfb
249 saaFsmRunEventRxDisassoc (
250 IN P_ADAPTER_T prAdapter,
251 IN P_SW_RFB_T prSwRfb
255 saaFsmRunEventAbort (
256 IN P_ADAPTER_T prAdapter,
257 IN P_MSG_HDR_T prMsgHdr
260 /*----------------------------------------------------------------------------*/
261 /* Routines in aaa_fsm.c */
262 /*----------------------------------------------------------------------------*/
264 aaaFsmRunEventRxAuth (
265 IN P_ADAPTER_T prAdapter,
266 IN P_SW_RFB_T prSwRfb
270 aaaFsmRunEventRxAssoc (
271 IN P_ADAPTER_T prAdapter,
272 IN P_SW_RFB_T prSwRfb
276 aaaFsmRunEventTxDone (
277 IN P_ADAPTER_T prAdapter,
278 IN P_MSDU_INFO_T prMsduInfo,
279 IN ENUM_TX_RESULT_CODE_T rTxDoneStatus
282 /*******************************************************************************
284 ********************************************************************************
287 #endif /* _AA_FSM_H */