第一步下载 openssl-0.9.8e wpa_supplicant-2.2 两个开发包,我已经从官方下载过了,这里给出csdn链接
http://download.csdn.net/detail/lizhu_csdn/9669361
http://download.csdn.net/detail/lizhu_csdn/9669362
因为wpa_supplicant-2.2 需要适配的是openssl-0.9.8e ,同时包含了openssl-0.9.8e 内部的补丁,通过拷贝补丁到openssl-0.9.8e 进行编译
步骤如下:
cp wpa_supplicant-2.2/patches/openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e
cd openssl-0.9.8e
vim Makefile
install 路径 下面两个目录的路径根据自己的需要进行添加,
INSTALLTOP=
OPENSSLDIR=
修改编译器,根据自己的编译器路径修改
CC= /opt/gcc-linaro/arm-linux-gnueabihf/4.9-2015.05-x86_64/bin/arm-linux-gnueabihf-gcc
AR=/opt/gcc-linaro/arm-linux-gnueabihf/4.9-2015.05-x86_64/bin/arm-linux-gnueabihf-ar $(ARFLAGS) r
RANLIB= /opt/gcc-linaro/arm-linux-gnueabihf/4.9-2015.05-x86_64/bin/arm-linux-gnueabihf-ranlib
最后
make & make install
=============================================================================================================
wpa_supplicant-2.2 make编译
cp defconfig .config
vi .config
添加 openssl 路径很关键,根据自己的安装路径来
CC=/opt/gcc-linaro/arm-linux-gnueabihf/4.9-2015.05-x86_64/bin/arm-linux-gnueabihf-gcc -L/home/lz/tftp/wpa_supplicant/update/openssl-0.9.8e/install/lib/
CFLAGS += -I/home/lz/tftp/wpa_supplicant/update/openssl-0.9.8e/install/include
LIBS += -L/home/lz/tftp/wpa_supplicant/update/openssl-0.9.8e/install/lib
LIBS_p += -L/home/lz/tftp/wpa_supplicant/update/openssl-0.9.8e/install/lib
注释 (如果不注释会出现编译错误,注释过后没有错误,同时拷贝到自己的开发板运行没有错误,可以连接无线网)
取消CONFIG_DRIVER_NL80211选项
#CONFIG_DRIVER_NL80211=y
最后的移植部分,和配置部分我想网上都是有很多的,,我就不再阐述,我参考的是
http://www.linuxidc.com/Linux/2011-10/45202.htm
http://blog.csdn.net/zqj6893/article/details/49701235
http://blog.hoxnox.com/gentoo/wifi-hotspot.html
这三个连接诠释了wpa的配置问题
将生成的wpa_cli、wpa_passphrase、 wpa_supplicant等工具添加到开发板文件系统/bin目录下,并且拷贝配置文件到开发板文件系统/etc目录下。
cp examples/wpa-psk-tkip.conf rootfs/etc/wpa_supplicant.conf
测试wpa_supplicant
1. 在开发板的/var/run/下创建文件wpa_supplicant
mkdir -p wpa_supplicant
2. 使用命令:
wpa_passphrase yang 57b559b778 >> wpa_supplicant.conf
创建连接暗文密码(PSK密码),通过明码转换,修改wpa_supplicant.conf,用PSK密码替换明文密码
# WPA-PSK/TKIP
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="yang"
key_mgmt=WPA-PSK
proto=WPA
pairwise=TKIP
group=TKIP
psk=725e926081647954f9af00e46904fd6382b2cbc91b8ab7b5655a8d8db146c5dc
}
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf
wpa_supplicant _B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf 可用;
route add default gw 192.168.0.1 配置网关 就能上网上;
route 命令查看:
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 wlan0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
RtmpUSBNullFrameKickOut - Send NULL Frame @24 Mbps. 可以在源码中注释掉
在linux3.14/kernel/printk/printk.c中 修改打印级别。
#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING 警告条件*/
echo "7 4 1 7" > /proc/sys/kernel/printk
echo "新的打印级别 4 1 7" >/proc/sys/kernel/printk