wpa-supplicant安裝與使用

libopenssl安裝

tar xzvf openssl-1.0.1d.tar.gz
cd openssl-1.0.1d/
./config shared no-asm --prefix=$PWD/tmp
修改Makefile:
CC= arm-linux-gcc
AR= arm-linux-ar $(ARFLAGS) r
RANLIB= arm-linux-ranlib
NM= arm-linux-nm
MAKEDEPPROG= arm-linux-gcc
make
make install

將編譯生成的頭文件和動態庫拷貝到交叉編譯工具鏈中:

sudo cp -rf openssl/ /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/include
sudo cp -drf * /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib

將編譯生成的動態庫拷貝一份到根文件系統中:

cp -d *so* /mnt/rootfs/lib/

編譯wpa-supplicant

tar zxvf wpa_supplicant-2.0.tar.gz 
cd wpa_supplicant-2.0/wpa_supplicant/
cp defconfig .config

修改.config加上一行:

 CONFIG_LIBNL32=y

修改Makefile:

ifndef CC
    CC=gcc
endif

CC=arm-linux-gcc
make
make DESTDIR=$PWD/tmp install
cd ./tmp/usr/local/sbin

複製可執行程序到根文件系統

cp * /mnt/rootfs/bin

創建進程交互文件目錄:

mkdir -p /var/run/wpa_supplicant

創建祕鑰配置文件:

vi /etc/wifi_pswd.conf

文件內容:

ctrl_interface=/var/run/wpa_supplicant
/* 開放式網絡 */
network={
        ssid="dswei"
        key_mgmt=NONE
}
/* WEP */
network={
        ssid="dswei"
        key_mgmt=NONE
        wep_key0="baiwenwang123"
        wep_tx_keyidx=0
}
/* WPA/WPA2 */
network={
        ssid="dswei"
        psk="baiwenwang123"
}

wpa-supplicant使用方法:

wpa_supplicant -B -c/etc/wifi_pswd.conf  -iwlan0/*啓動wifi並且自動連接可用熱點*/

之後就可以通過wpa_cli命令進行狀態查詢

status  /*查看當前連接狀態*/
scan    /*啓動一次wifi熱點掃描*/
scan_result  /*顯示上一次掃描的結果*/
add_network  /* 添加網絡,返回一個編號 */
set_network  /* 設置網絡的加密形式和ssid,祕鑰 */
select_network /* 使能網絡,並且禁用其他網絡 */
save_config  /* 保存配置 */

連接外網

需要連接外網,需要先配置好DNS、無線網卡的ip和網關(如果使用到了DHCP,那麼這一步就可以省去):
①創建DNS服務器配置文件:

vi /etc/resolv.conf

文件內容:

nameserver 192.168.31.1 
nameserver 192.168.1.1 
nameserver 127.0.0.1

②配置無線網卡IP

ifconfig wlan0 192.168.31.55

③路由表修改:

route -n /*查看當前路由表*/
route add default gw 192.168.31.1 dev wlan0/*爲網卡添加默認網關*/
ping www.baidu.com
發佈了57 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章