天天看點

linux連接配接wpa wifi密碼,Linux環境下使用WIFI子產品:使用wpa_supplicant工具配置和連接配接WIFI-Go語言中文社群...

使用wpa_supplicant工具配置和連接配接WIFI

實驗版本及下載下傳位址

wpa_supplicant:wpa_supplicant-2.7

連結: [http://w1.fi/wpa_supplicant/]

安裝依賴庫openssl

配置編譯選項./config shared no-asm --prefix=$PWD/tmp

./config表示根據後面的編譯選項生成一Makefile檔案,“shared”表示生成共享庫;“no-asm”表示去掉彙編部分;“–prefix=”後面跟着生成的項目所存放的路徑。

其他配置選項可以輸入./Configure --help檢視

linux連接配接wpa wifi密碼,Linux環境下使用WIFI子產品:使用wpa_supplicant工具配置和連接配接WIFI-Go語言中文社群...

修改Makefile

減号表示原來的代碼,加号表示修改後的代碼

- CROSS_COMPILE=

+ CROSS_COMPILE=arm-linux-

- CNF_CFLAGS=-pthread -m64

- CNF_CXXFLAGS=-std=c++11 -pthread -m64

+ CNF_CFLAGS=-pthread

+ CNF_CXXFLAGS=-std=c++11 -pthread

編譯安裝

執行make編譯和make install安裝指令

最後在目前目錄的tmp目錄下會生成項目檔案

linux連接配接wpa wifi密碼,Linux環境下使用WIFI子產品:使用wpa_supplicant工具配置和連接配接WIFI-Go語言中文社群...

複制庫檔案到跟檔案系統lib目錄下cp *so* -rf -d ~/work/nfs/wifi/lib/

要根據自己的具體情況複制庫檔案到對應的目錄下

編譯安裝wpa_supplicant

建立一個.config檔案

解壓後,cd wpa_supplicant-2.0/wpa_supplicant/進入wpa_supplicant根檔案

複制預設配置為.configcp defconfig .config

修改.config檔案

減号表示原來的代碼,加号表示修改後的代碼

# Additional directories for cross-compilation on Linux host for mingw target

- #CFLAGS += -I/opt/mingw/mingw32/include/ddk

- #LIBS += -L/opt/mingw/mingw32/lib

- #CC=mingw32-gcc

# Additional directories for cross-compilation on Linux host for mingw target

+ CFLAGS += -I/home/zyl/work/project/wifi/openssl-1.1.1b/tmp/include

+ LIBS += -L/home/zyl/work/project/wifi/openssl-1.1.1b/tmp/lib

+ CC=arm-linux-gcc

CFLAGS後面填上一步安裝好的openssl的include目錄

LIBS後面填上一步安裝好的openssl的lib目錄

CC表示編譯工具

3.編譯安裝

編譯make

安裝make DESTDIR=$PWD/tmp install

在後面加上DESTDIR=$PWD/tmp編譯項表示安裝到目前檔案夾下的tmp目錄

然後我們可以在子目錄下看到wpa_cli,wpa_passphrase和wpa_supplicant三個檔案

linux連接配接wpa wifi密碼,Linux環境下使用WIFI子產品:使用wpa_supplicant工具配置和連接配接WIFI-Go語言中文社群...

wpa_supplicant是核心程式,它和wpa_cli的關系就是服務和用戶端的關系

wpa_cli用來搜尋、設定、和連接配接網絡。

wpa_passphrase網絡配置可以使用wpa_passphrase工具自動生成并添加到配置檔案中。

把這三個檔案複制到開發闆的根檔案/bin目錄下就可以使用了

使用wpa_supplicant工具連接配接WIFI

建立配置檔案

wpa_supplicant連接配接WIFI的時候會從配置檔案中讀取賬号和密碼,以及加密方式等, 是以我們再運作wpa_supplicant工具的時候要提前寫好配置檔案。

配置檔案名稱自定,但是要以 .conf 為字尾,并儲存在 /etc/ 目錄下,這邊給出一個配置檔案的例子。

ctrl_interface=/var/run/wpa_supplicant # 一個目錄,用于wpa_supplicant和wpa_cli的socket通信

network={

ssid="dswei"#WIFI名稱

proto=WPA # proto: list of accepted protocols, 可取WPA,RSN

# 如果沒有設定,預設為: WPA RSN

key_mgmt=WPA-PSK # 認證方式

# 如果沒有設定,預設為: WPA-PSK WPA-EAP

pairwise=TKIP # 如果沒有設定,預設為: CCMP TKIP

group=TKIP # 如果沒有設定,預設為: CCMP TKIP WEP104 WEP40

psk="a123654" # WIFI密碼

}

在一般使用中我們隻要設定ssid和psk,其他全部使用預設的,就可以連接配接上WIFI。

建立一個socket通信的目錄mkdir -p /var/run/wpa_supplicant

測試和連接配接WIFIwpa_supplicant -B -c/etc/plaintext.conf -iwlan0

-B為背景運作,-c為配置檔案目錄,plaintext.conf為配置檔案的名稱,根據實際情況填寫。其他配置選項可以看wpa_supplicant-2.7/wpa_supplicant/README,然後我們就可以看到開發闆和手機連接配接上了。

linux連接配接wpa wifi密碼,Linux環境下使用WIFI子產品:使用wpa_supplicant工具配置和連接配接WIFI-Go語言中文社群...
linux連接配接wpa wifi密碼,Linux環境下使用WIFI子產品:使用wpa_supplicant工具配置和連接配接WIFI-Go語言中文社群...

用wpa_cli -iwlan0 status可以檢視網絡連接配接狀态