目錄
1 簡單介紹下wpa_cli和wpa_supplicant
1.1 wpa_supplicant?簡介
1.2 wpa_cli?簡介
1.3 它們之間的關系
2 啟動wpa_supplicant
3 使用rz工具把wpa_cli命令上傳到開發板
4 用wpa_cli配置網絡
參考文獻:
1 簡單介紹下wpa_cli和wpa_supplicant
1.1 wpa_supplicant
?簡介
wpa_supplicant
?是一個后臺守護進程(daemon),它負責處理無線網絡的認證和關聯過程。它可以管理 WPA、WPA2、WEP 等多種安全協議,并支持通過 EAP(Extensible Authentication Protocol)進行企業級認證。- 它通常在系統啟動時自動運行,并持續在后臺監控無線網絡接口的狀態。
wpa_supplicant
?可以通過配置文件(如?/etc/wpa_supplicant.conf
)或命令行參數來指定要連接的無線網絡及其認證信息。
1.2 wpa_cli
?簡介
wpa_cli
?是一個命令行界面工具,用于與正在運行的?wpa_supplicant
?進程交互。它允許用戶實時查看無線網絡狀態、掃描可用網絡、添加或刪除網絡配置等。- 通過?
wpa_cli
,你可以動態地控制和配置?wpa_supplicant
?的行為,而無需手動編輯配置文件或重啟服務。 wpa_cli
?可以以交互模式運行(提供一個命令行界面供用戶輸入命令),也可以以非交互模式運行(執行單個命令并退出)。
1.3 它們之間的關系
-
wpa_supplicant
是核心組件:- 它是實際執行無線網絡連接和認證的后臺進程。
- 它可以獨立運行,不需要?
wpa_cli
?來完成基本的無線網絡連接任務。
-
wpa_cli
是管理工具:- 它是一個輔助工具,用于與?
wpa_supplicant
?進行交互。 - 它通過 Unix 域套接字(默認位于?
/var/run/wpa_supplicant/<interface>
?或?/var/run/wpa_supplicant-global
)與?wpa_supplicant
?進行通信。
- 它是一個輔助工具,用于與?
-
通信機制:
wpa_cli
?并不是傳統意義上的“客戶端”,而是通過本地 IPC(Inter-Process Communication)機制與?wpa_supplicant
?進行通信。- 這種通信通常是通過 Unix 域套接字實現的,而不是像客戶端/服務器模型那樣通過網絡套接字通信。
2 啟動wpa_supplicant
在我的開發板上,這個wpa_supplicant進程已經起來了
3 使用rz工具把wpa_cli命令上傳到開發板
用MobaXterm連接了開發板的串口之后,敲rz命令
會出現: rz ready. Type "sz file ..." to your modem program
然后鼠標右鍵
然后選擇你的文件,
然后
ls發現已經上傳成功了
然后
mv spa_cli /system/
chmod 777 /system/spa_cli
4 用wpa_cli配置網絡
cd /system/
./wpa_cli -p /run/wpa_supplicant
然后段錯誤
解決方法是把/system/bear.tbz2這個文件先刪掉,不然進程搶wifi控制權了,刪除之后要把開發板重啟,否則執行命令還是報錯,
然后用下面的命令配置網絡
add_network
set_network 0 ssid "Turing" #這是無線網的名字
set_network 0 psk "turing2024" #這是無線網的密碼
set_network 0 key_mgmt NONE
enable_network 0
然后
然后我要設置下網關
route add default gw 192.168.8.254
route: SIOCADDRT: File exists
參考文獻:
linux下使用shell命令通過wpa_cli控制wpa_supplicant連接wifi - mcdull^0^ - 博客園