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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章