嵌入式Linux下Wi—Fi接入技术研究(3)
cp wpa_supplicant-0.7.3/patches/openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e/
建立目录/usr/local/ssl,以保存编译好的openssl库。
cd openssl-0.9.8e,进入源码目录,修改Makefile文件,修改如下变量:CC= arm-linux-gnu-gcc ;AR= arm-linux-gnu-ar $(ARFLAGS) r;RANLIB= arm-linux-gnu-ranlib;INSTALLTOP=/usr/local/ssl;OPENSSLDIR=/usr/local/ssl。执行make,make install命令,可以在/usr/local/ssl目录下生成openssl库文件,这些库文件是静态库文件。
编译wpa_supplicant方法如下:将源码目录下的defconfig文件重命名为.config文件。修改.config文件:CC= arm-linux-gnu-gcc -L/usr/local/ssl/lib/(连接静态库);CFLAGS += -I/usr/local/ssl/include/;LIBS += -L/usr/local/ssl/lib/。执行make命令编译,即可在源码目录下生成可以在开发板上运行的wpa_supplicant程序,包括wpa_cli、wpa_passphrase、bin/wpa_supplicant等,将这些程序拷贝到开发板的/bin目录下。
(4)搜索和连接无线网络
要搜索无线网络,最简单的是使用Linux Wireless Tools工具。使用Linux无线工具配置Wi-Fi网络的主要步骤如下:
查看可用的无线网卡:iwconfig;
启用无线网卡:ifconfig wlan0 up;
列举无线网络:iwlist wlan0 scan,可以扫描到周围的AP。
使用Linux Wireless Tools工具只能连接WEP加密的网络,无法连接WPA/WPA2加密的网络。通常使用该工具对无线网络进行简单的配置,如扫描和启动无线网卡等。
wpa_supplicant是作为一个服务程序运行的。在启动wpa_supplicant时,需要一个wpa_supplicant.conf配置文件,该文件指明了要连接的AP的ESSID和连接密钥等信息。采用如下命令可以根据明文密码创建暗文密码:
wpa_passphrase FAST_555B30 417417417
以上命令的含义是要连接的ESSID为FAST_555B30,这个是通过扫描得到的。417417417是要连接的明文密码。生成的psk显示如下:
psk=b461ee0209a9b5a6f114317e9ae72f52829b5f743e47a600b7a08911cc3bd30f
对于不同的加密方式,wpa_supplicant.conf的内容也不一样。FAST_555B30使用的是WPA2加密方式,wpa_supplicant.conf文件如下:
# WPA-PSK/TKIP
ctrl_interface=/var/run/wpa_supplicant
network={
ssid=”FAST_555B30”
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP
psk=1512bf80a15b8b595522e18cf3a51db47d5084da9565ad38ffec9ab1da37a108
}
其中,ctrl_interface指明了控制接口路径,wpa_cli等程序可能使用该路径来与wpa_supplicant通信。ssid和psk指明了要连接的AP及其暗文密码。key_mgmt指明了密钥管理方式。如果是WPA2方式加密的,proto=WPA2,pairwise=CCMP。
采用如下命令可以启动wpa_supplicant服务进程:
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &
-D选项指明了采用的驱动程序接口,这里是Wext接口。-i选项指明了无线网络接口名称。-c选项指示使用的配置文件。启动了wpa_supplicant命令,就可以连接到WPA2加密的无线网络,如果要使用DHCP动态获取IP地址,可以采用如下命令:
udhcpc -i wlan0
(www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/
CSSCI核心/医学投稿辅导/职称投稿辅导。
投稿邮箱:fabiaoba365@126.com
在线咨询:
275774677、
1003180928
在线咨询:
610071587、
1003160816
联系电话:13775259981