wpa_supplicant 狀態機的切換以及事件驅動
- WIFI事件型別
- pre-shared key may be incorrect 認證密碼錯誤
- EVENT_ASSOC_TIMED_OUT 連線超時
- EVENT_AUTH_TIMED_OUT 認證超時
- EVENT_SCAN_RESULTS 掃描完成,返回掃描結果
- EVENT_AUTH 認證完成事件
- EVENT_DEAUTH 認證解除
- EVENT-STATE-CHANGE 狀態機變化事件
- enum wpa_event_type
- {
- EVENT_ASSOC,
- EVENT_DISASSOC,
- EVENT_MICHAEL_MIC_FAILURE,
- EVENT_SCAN_RESULTS,//【掃描結果】
- EVENT_ASSOCINFO,//【連線資訊】
- EVENT_INTERFACE_STATUS, //【網絡卡狀態】
- EVENT_PMKID_CANDIDATE,
- EVENT_STKSTART,
- EVENT_TDLS,
- EVENT_FT_RESPONSE,
- EVENT_IBSS_RSN_START,
- EVENT_AUTH, //【認證成功】
- EVENT_DEAUTH, //【認證解除】
- EVENT_ASSOC_REJECT, //【拒絕連線】
- EVENT_AUTH_TIMED_OUT, //【認證超時】
- EVENT_ASSOC_TIMED_OUT,//【連線超時】
- EVENT_WPS_BUTTON_PUSHED,
- EVENT_TX_STATUS,
- EVENT_RX_FROM_UNKNOWN,
- EVENT_RX_MGMT,
- EVENT_REMAIN_ON_CHANNEL,
- EVENT_CANCEL_REMAIN_ON_CHANNEL,
- EVENT_RX_PROBE_REQ,
- EVENT_NEW_STA,
- EVENT_EAPOL_RX,
- EVENT_SIGNAL_CHANGE,//【訊號變化】
- EVENT_INTERFACE_ENABLED,
- EVENT_INTERFACE_DISABLED, //【網絡卡介面不可用】
- EVENT_CHANNEL_LIST_CHANGED,
- EVENT_INTERFACE_UNAVAILABLE,
- EVENT_BEST_CHANNEL,
- EVENT_UNPROT_DEAUTH,
- EVENT_UNPROT_DISASSOC,
- EVENT_STATION_LOW_ACK,
- EVENT_IBSS_PEER_LOST,
- EVENT_DRIVER_GTK_REKEY,
- EVENT_SCHED_SCAN_STOPPED,
- EVENT_DRIVER_CLIENT_POLL_OK,
- EVENT_EAPOL_TX_STATUS,
- EVENT_CH_SWITCH,
- EVENT_WNM,
- EVENT_CONNECT_FAILED_REASON,
- EVENT_DFS_RADAR_DETECTED,
- EVENT_DFS_CAC_FINISHED,
- EVENT_DFS_CAC_ABORTED,
- EVENT_DFS_NOP_FINISHED,
- EVENT_SURVEY,
- EVENT_SCAN_STARTED, //【開始掃描】
- EVENT_AVOID_FREQUENCIES,
- EVENT_NEW_PEER_CANDIDATE,
- EVENT_ACS_CHANNEL_SELECTED,
- EVENT_DFS_CAC_STARTED,
- }
- <p><span style="font-family: Arial, Helvetica, sans-serif;">wpa_supplicant 狀態機的切換</span></p>adb logcat | findstr "wpa_supplicant:.wlan0:.State:"
- 1.一次開啟WIFI自動連線的過程
- 09-29 20:53:59.796 4882 4882 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 20:54:00.155 4882 4882 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 20:54:00.891 4882 4882 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 09-29 20:54:02.369 4882 4882 D wpa_supplicant: wlan0: State: SCANNING -> ASSOCIATING
- 09-29 20:54:02.415 4882 4882 D wpa_supplicant: wlan0: State: ASSOCIATING -> ASSOCIATED
- 09-29 20:54:02.469 4882 4882 D wpa_supplicant: wlan0: State: ASSOCIATED -> 4WAY_HANDSHAKE
- 09-29 20:54:02.502 4882 4882 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- 09-29 20:54:02.522 4882 4882 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->GROUP_HANDSHAKE
- 09-29 20:54:02.529 4882 4882 D wpa_supplicant: wlan0: State: GROUP_HANDSHAKE -> COMPLETED
- 2.手動關閉WIFI的過程
- 09-29 20:56:08.605 5306 5306 D wpa_supplicant: wlan0: State: COMPLETED -> DISCONNECTED
- 09-29 20:56:08.606 5306 5306 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 3.開啟WIFI 自動連線 手動關閉WIFI全過程
- 09-29 20:57:25.864 5835 5835 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 20:57:26.556 5835 5835 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 09-29 20:57:27.962 5835 5835 D wpa_supplicant: wlan0: State: SCANNING -> ASSOCIATING
- 09-29 20:57:28.020 5835 5835 D wpa_supplicant: wlan0: State: ASSOCIATING -> ASSOCIATED
- 09-29 20:57:28.060 5835 5835 D wpa_supplicant: wlan0: State: ASSOCIATED -> 4WAY_HANDSHAKE
- 09-29 20:57:28.070 5835 5835 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
- 09-29 20:57:28.074 5835 5835 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE -> GROUP_HANDSHAKE
- 09-29 20:57:28.078 5835 5835 D wpa_supplicant: wlan0: State: GROUP_HANDSHAKE -> COMPLETED
- 09-29 20:57:36.513 5835 5835 D wpa_supplicant: wlan0: State: COMPLETED -> DISCONNECTED
- 09-29 20:57:36.513 5835 5835 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 4.開啟WIFI 自動連線到一個開放的WIFI 需要認證才能登陸
- 09-29 21:00:52.246 7207 7207 D wpa_supplicant: wlan0: State: DISCONNECTED -> INACTIVE
- 09-29 21:00:52.328 7207 7207 D wpa_supplicant: wlan0: State: INACTIVE -> DISCONNECTED
- 09-29 21:00:52.605 7207 7207 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 21:00:53.088 7207 7207 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 09-29 21:00:57.258 7207 7207 D wpa_supplicant: wlan0: State: SCANNING -> DISCONNECTED
- 09-29 21:00:58.702 7207 7207 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 09-29 21:01:01.069 7207 7207 D wpa_supplicant: wlan0: State: SCANNING -> ASSOCIATING
- 09-29 21:01:01.125 7207 7207 D wpa_supplicant: wlan0: State: ASSOCIATING -> ASSOCIATED
- 09-29 21:01:01.127 7207 7207 D wpa_supplicant: wlan0: State: ASSOCIATED -> COMPLETED
- 5.開啟WIFI 未連線任何網路的情況 一直點選Scan也未切換狀態
- 09-29 21:03:53.376 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 21:03:53.644 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 21:03:53.999 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 09-29 21:03:58.134 8183 8183 D wpa_supplicant: wlan0: State: SCANNING -> DISCONNECTED
- 09-29 21:03:59.755 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 6.WIFI已經開啟手動輸入AP熱點密碼連線的過程
- 09-29 21:06:46.472 8183 8183 D wpa_supplicant: wlan0: State: SCANNING -> ASSOCIATING
- 09-29 21:06:46.534 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATING -> ASSOCIATED
- 09-29 21:06:46.545 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATED -> 4WAY_HANDSHAKE
- 09-29 21:06:46.557 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- 09-29 21:06:46.559 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->GROUP_HANDSHAKE
- 09-29 21:06:46.561 8183 8183 D wpa_supplicant: wlan0: State: GROUP_HANDSHAKE -> COMPLETED
- 7.WIFI已經開啟手動輸入AP熱點【錯誤】密碼連線的過程
- 09-29 21:09:09.160 8183 8183 D wpa_supplicant: wlan0: State: SCANNING -> ASSOCIATING
- 09-29 21:09:09.231 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATING -> ASSOCIATED
- 09-29 21:09:09.270 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATED -> 4WAY_HANDSHAKE
- 09-29 21:09:12.599 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE 【第一次密碼握手錯誤】
- 09-29 21:09:14.806 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- 09-29 21:09:17.256 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- ==================================連線正確的LOG↓==================================
- 09-29 21:06:46.557 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- 09-29 21:06:46.559 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->GROUP_HANDSHAKE
- 得出結論: 當密碼錯誤的時候 wpa_supplicant 狀態機 會連續retry三次執行 4WAY_HANDSHAKE ->4WAY_HANDSHAKE 過程
- ==================================連線正確的LOG↑==================================
- 【三次4WAY_HANDSHAKE都失敗後 狀態機會從 4WAY_HANDSHAKE 狀態 切換為 DISCONNECTED 狀態】
- 09-29 21:09:19.291 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->DISCONNECTED
- 09-29 21:09:19.302 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 21:09:19.894 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 09-29 21:09:22.328 8183 8183 D wpa_supplicant: wlan0: State: SCANNING -> ASSOCIATING
- 09-29 21:09:22.393 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATING -> ASSOCIATED
- 09-29 21:09:22.440 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATED -> 4WAY_HANDSHAKE
- 09-29 21:09:25.256 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE【第二次密碼握手錯誤】
- 09-29 21:09:26.255 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- 09-29 21:09:29.247 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- 09-29 21:09:32.444 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->DISCONNECTED
- 09-29 21:09:32.469 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 21:09:32.872 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 09-29 21:09:35.325 8183 8183 D wpa_supplicant: wlan0: State: SCANNING -> ASSOCIATING
- 09-29 21:09:35.396 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATING -> ASSOCIATED
- 09-29 21:09:35.451 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATED -> 4WAY_HANDSHAKE
- 09-29 21:09:36.443 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE【第三次密碼握手錯誤】
- 09-29 21:09:39.627 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- 09-29 21:09:41.835 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->4WAY_HANDSHAKE
- 09-29 21:09:45.474 8183 8183 D wpa_supplicant: wlan0: State: 4WAY_HANDSHAKE ->DISCONNECTED
- 09-29 21:09:45.481 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> DISCONNECTED
- 09-29 21:09:45.919 8183 8183 D wpa_supplicant: wlan0: State: DISCONNECTED -> SCANNING
- 09-29 21:09:48.515 8183 8183 D wpa_supplicant: wlan0: State: SCANNING -> ASSOCIATING
- 09-29 21:09:48.587 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATING -> ASSOCIATED
- 09-29 21:09:48.611 8183 8183 D wpa_supplicant: wlan0: State: ASSOCIATED -> 4WAY_HANDSHAKE
-
相關推薦
wpa_supplicant 狀態機的切換以及事件驅動
WIFI事件型別 pre-shared key may be incorrect 認證密碼錯誤 EVENT_ASSOC_TIMED_OUT 連線超時 EVENT_AUTH_TIMED_OUT 認證超時 EVENT_SCAN_RESULTS 掃描完成,返回掃描結果
單執行緒、多執行緒以及事件驅動程式設計模型對比
中文版全文:http://blog.csdn.net/hanhuili/article/details/9389433#comments 事件驅動程式設計是一種程式設計正規化,這裡程式的執行流由外部事件來決定。它的特點是包含一個事件迴圈,當外部事件發生時使用回撥機制來
(六)觀察者模式詳解(包含觀察者模式JDK的漏洞以及事件驅動模型)
import java.util.Vector; //被觀察者類 public class Observable { //這是一個改變標識,來標記該被觀察者有沒有改變 private boolean changed = false; //持有一個觀察者列表 private
YARN中MRAppMaster的事件驅動模型與狀態機處理訊息過程的分析
在MRv1中,物件之間的作用關係是基於函式呼叫實現的,當一個物件向另外一個物件傳遞訊息時,會直接採用函式呼叫的方式,並且這個過程是序列的。比如,當TaskTracker需要執行一個Task的時候,將首先下載Task依賴的檔案(JAR包,二進位制檔案等,字典檔案等),然後執行
事件與狀態機 事件驅動程式設計
為需要處理的事件編寫相應的事件處理程式。 事件驅動的一般步驟: 2、為指定元素確定需要響應的事件型別 3、為指定元素的指定事件編寫相應的事件處理程式 4、將事件處理程式繫結到指定元素的
單片機的非OS的事件驅動
初始 設定 比較 -o scan ner 檢測模塊 缺點 其他 單片機的非OS的事件驅動 Part 1 前言 很多單片機項目恐怕都是沒有操作系統的前後臺結構,就是main函數裏用while無限循環各種任務,中斷處理緊急任務。這種結構最簡單,上手很容易,可是當項目比較大
Expo大作戰(十三)--expo如何自定義狀態了stateBar以及expo中如何處理脫機緩存加載 offline support
什麽是 生命 () 信息 screen hub .json 狀態欄顏色 sset 簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我
文字版 描述TCP三次握手和四次揮手以及有限狀態機等
切換 list 遠方 是什麽 int last 關閉 ive tcp報文 客戶端和服務器 ,雙方都處於第一次交互的情況下展開通信 三次握手 1.首先 服務器 需要是處於listen收聽狀態下才能接受報文客戶端由closed狀態 打開並向服務器發送報文SYN=1 申請建
對於狀態機的總結以及Gray碼基本概念
一、狀態機總結 狀態機分為兩種 一種稱為Mealy狀態機,它的時序邏輯輸出不但取決於狀態還取決於輸入; 另外一種稱為Moore狀態機,它的輸出只取決於當前的狀態。實際的設計工作中大部分都是Mealy狀態機。 有限狀態機設計一般步驟:1、邏輯抽象,得出狀態轉換圖;2、狀態化簡;
基於委託與事件的有限狀態機設計與實現(Unity3d)
有限狀態機設計與實現 前言 最近看到一句話,就是優秀是一種習慣,所以突然就總想寫點什麼,當作是遊戲開發這條路上的學習筆記吧,另外也時刻提醒自己需要不斷努力。 什麼是狀態機? 先貼百度百科的概念內容吧: 有限狀態機,(英語:Finite-state machine
突發事件檢測: kleinberg 狀態機模型
2節詳細討論了基於文件時間序列構建的狀態機模型,裡面只考慮文件的到達時間。現實中,考慮到實際計算成本,還是會限定最小的時間粒度,比如分鐘,小時等。這樣,每個最小時間粒度下,可能會有多篇文件資訊,也就是說單位時間文件發生頻次。同樣,針對點選日誌資料,經常會有單位時間點選數等。那如何在kleinb
Unity Animator StateMachineBehaviour(狀態機事件)
繼承StateMachineBehaviour,以開始事件為例,重寫OnStateEnter方法: public class NoteBookController: StateMachineBehav
python# 程序/執行緒/協程 # IO:同步/非同步/阻塞/非阻塞 # greenlet gevent # 事件驅動與非同步IO # Select\Poll\Epoll非同步IO 以及selector
# 程序/執行緒/協程 # IO:同步/非同步/阻塞/非阻塞 # greenlet gevent # 事件驅動與非同步IO # Select\Poll\Epoll非同步IO 以及selectors模組 # Python佇列/RabbitMQ佇列 ###########
hostapd wpa_supplicant madwifi詳細分析(十二)——EAP(RFC3748)及EAP狀態機分析(RFC4137)
這篇文章分兩個部分:EAP(RFC3748)及EAP狀態機分析(RFC4137),其中主要內容來自RFC以及網路文章。 一、EAP拓展認證協議 EAP的可拓展性主要表現在它的method可拓展,EAP只是一個載體,傳送不同method間的互動。 EAP可用於專用的連結,以
[WF4.0 實戰] 事件驅動應用
and -c put 啟動 eas ets 執行 bookmark 右鍵 看到題目或許非常多人都會疑問,為什麽要使用事件監聽呢? 眼下的認識: 1,使用事件監聽能夠將工作流的結點返回值返回到client 2,能夠實現等待與重新啟動,相當於之前的WaitAct
geek青年的狀態機,查表,純C語言實現
fill south 總結 target 堅持 str 分享 接收 backward geek青年的狀態機,查表,純C語言實現 1. 問題的提出。抽象 建一,不止是他,不少人跟我討論過這種問題:怎樣才幹保證在需求變更、擴充的情況下。程序的主體部分不動呢? 這是一個
Hibernate三種狀態,緩存,以及update更新問題
來講 clas 最大的 .cn lba ransient count 條件查詢 rate 一. Hibernate中對象的三種狀態 1. 瞬時狀態(transient) 當我們通過Java的new關鍵字來生成一個實體對象時,這時這個實體對象就處於自由狀態,此時該對象
Android軟鍵盤狀態的切換及其強制隱藏
padding protected systems -m ride apk undle inb new MainActivity例如以下: package cc.c; import android.os.Bundle; import android.view.View
nodejs 事件驅動
訪問 服務器 fun pac ebs ng- 請求 介紹 基本 nodejs一個最大的特點就是支持事件驅動(並發) http://www.cnblogs.com/lua5/archive/2011/02/01/1948760.html Node.js現在非常活躍,相關生態社
卅川的狀態機之路(創作中,不定時上傳)
rom 不同的 大學 核心 追溯 選擇 有限狀態機 span 任務 川的第一篇幹貨,將從講述FSM(有限狀態機)開始。 川第一次接觸狀態機這種東西,還得追溯到剛到暢遊工作,破解了別的遊戲的代碼(遊戲程序就是這麽沒節操和底線,嗯!)才知道有這麽個東西的。雖然大學學習過相