自己移植wpa_supplicantlicant经验
参考两篇博客
blog.csdn/wesleyluo/article/details/8104665
blog.csdn/lin772662623/article/details/7830336
1.3 安装openssl ;make install
安装后可以生成一些目录,在编译wpa_supplicant的时候会用到。如下:
/usr/local/ssl/include
/usr/local/ssl/lib
2. 编译wpa_supplicant
2.1 创建配置文件,这里创建默认的配置文件:
cp defconfig .config
2.2 编译,命令很简单,进入wpa_supplicant目录后执行make。
会出现一堆错误说不到一系列东西。
解决办法:在.config文件中到# Uncomment following two lines and fix the paths if you have installed OpenSS的一段。添加如下容:
CFLAGS += -I/usr/local/ssl/include
LIBS += -L/usr/local/ssl/lib
重新make,发现wpa_supplicant的二进制文件编译出来了。但是还是有错误。编译
wpa_passphrase出错。(默认make会编译出三个二进制文件,分别是wpa_supplicant,wpa_passphrase和wpa_cli)
解决办法:继续在上面提到的地方添加:
LIBS_p += -L/usr/local/ssl/lib
重新编译。 OK,编译通过,在wpa_supplicant-0.6.10/wpa_supplicant目录下可以看到编译出的三个
二进制文件
嵌入式的
因为现在的无线wifi网络大多是wpa加密。所以需要移植wpa_supplicant工具。
一、下载源码
hostap.epitest.fi/wpa_supplicant/
下载wpa_supplicant-0.7. (openssl用到0.7.3提供的补丁)
#tar xvfz wpa_supplicant-0.7.
下载./source/openssl-0.9.
#tar zxvf openssl-0.9.
二、编译openssl库
将wpa_supplicant中的补丁拷贝到openssl中
# cp
wpa_supplicant-0.7.3/patches/openssl-0.9.8e-tls-extensions.patch
linux系统安装步骤csdnopenssl-0.9.8e/
#cd openssl-0.9.8e
#mkdir /usr/local/ssl
#vim 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目录下安装了ssl库
#ls /usr/local/ssl
#bin certs include lib man misc opensslf private
后面编译wpa_supplicant要依赖openssl中的lib和include
三、编译wpa_supplicant
进入wpa_supplicant-0.7.解压生成的wpa_supplicant-0.7.3/wpa_supplicant 目录中:
#cp defconfig .config
#vim .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_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
因为现在的无线wifi网络大多是wpa加密。所以需要移植wpa_supplicant工具。
移植编译移植wpa_supplicant工具参考blog.csdn/wesleyluo/article/details/8104665
以下步骤表示:wpa_supplicant编译成功,已经将拷贝wpa_supplicant和
f
#cp wpa_supplicant /rootfs/filesystem/bin
#cp
wpa_supplicant-0.7.3/wpa_supplicant/f /rootfs/filesy stem/etc/f 以后的步骤
步骤1:#ifconfig -a
显示以下消息表明WiFi驱动有
#iwlist wlan0 scan 扫描WiFi,看周围可用的WiFi信息
查看wifi 属于TKIP 还是 CCMP
步骤2: #ifconfig eth0 down 关闭eth0
#ifconfig wlan0 192.168.1.108 up
开启wlan0 设置静态ip 为192.168.1.108
步骤3:#ls /var /run查看有没有wpa_supplicant这个文件夹
#mkdir -p /var/run/supplicant没有就建立这个文件夹
#vi /etc/f配置f 如下
(这点是参考飞凌提供的手册,和网上资料不太一样,按照网上的配置是这样的:)
配置wpa_supplicant
(修改f配置文件
#vim /rootfs/filesystem/etc/f
修改容如下:
# WPA-PSK/TKIP
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="hello123" //填写无线网络的的用户名
key_mgmt=WPA-PSK
proto=WPA
pairwise=TKIP CCMP
group=TKIP CCMP
psk="hello123" //填写密码
}
但是我按照这种我没有成功,原因还不是很清楚,应该说这两种配置的结果是一样的,问题答案我还在寻中
步骤4:在开发板终端输入wpa_supplicant回车,会显示帮助信息,最后有个:
example:
wpa_supplicant -Dwext -iwlan0 -c/etc/f
拷贝example用法,执行:
# wpa_supplicant -Dwext -iwlan0 -c/etc/f -dd &
(需要一直放在后台运行)
-dd:增加调试信息不要可以减少打印信息
-Dwext :wext,驱动名称
-iwlan0 :wlan0,网络接口名称
/etc/f :wpa_supplicant的配置文件path
打印信息有:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论