下载wpa_supplicant最新版和openssl(编译wpa_supplicant需要openssl的库)

我这里使用的是wpa_supplicant-0.7.3.tar.gz和openssl-0.9.8e.tar.gz。

分别解压wpa_supplicant-0.7.3.tar.gz和openssl-0.9.8e.tar.gz,把wpa_supplicant-0.7.3里面的patches文件夹下的openssl-0.9.8e-tls-extensions.patch文件拷贝到openssl-0.9.8e目录下,运行:

pathc–p1

然后建立openssl的安装目录,建议安装在openssl-0.9.8e目录下,因为生成的库等只在交叉编译wpa_supplicant时使用,这样可以保持系统干净。

进入openssl-0.9.8e目录修改Makefile,修改如下:

CC=arm-linux-uclibcgnueabi-gcc
AR=arm-linux-uclibcgnueabi-ar$(ARFLAGS) r

RANLIB=arm-linux-uclibcgnueabi-ranlib
INSTALLTOP=刚才你建立的安装目录,要使用绝对路径,不然在make install的时候会出错
OPENSSLDIR=刚才你建立的安装目录,要使用绝对路径,不然在make
install的时候会出错

然后,执行make&&make
install。

编译wpa_supplicant:


首先建立配置文件:

cp
defconfig .config

然后修改.config,增加以下内容:

CC=arm-linux-uclibcgnueabi-gcc-L/home/gu/ssl/lib

CFLAGS+=-I openssl安装目录/include

LIBS+=-Lopenssl安装目录/lib

make;

最后,生成所需要的可执行程序。

wpa_supplicant的使用主要是配置wpa_supplicant.conf,以下是一个配置文件的例子:

#可有可无,没有的话无法用wpa_cli terminate来关闭wpa_supplicant

ctrl_interface=/var/run/wpa_supplicant

# 确保只有root用户能读取WPA的配置,可有可无,尤其是在嵌入式设备上


ctrl_interface_group=0


# 使用wpa_supplicant来扫描和选择AP,也可以设置成0或2,但只有1才能正确工作


ap_scan=1


network={


#AP的名字


    ssid="my_network"


#AP的key


    psk="my_key"


}


配置文件弄好后就可以运行wpa_supplicant了:

wpa_supplicant–B
–iwlan0 –c
/etc/tkip.conf

后台运行wpa_supplicant(自动打开wifi模块wlan0,自动搜索AP并连接),参数-B为后台运行,-i为wifi设备,-c指定wpa_supplicant配置文件

wlan0自动获取IP:

udhcpc–i
wlan0

接下来就可以看下网络是否连通了:


iwconfig

udhcpc -i wlan0 -n

最新文章

  1. JAVA 1.5 运算符
  2. Beego框架使用
  3. SharpGL学习笔记(十七) 立体文字和平面文字
  4. 使用yuicompressor-maven-plugin压缩js及css文件
  5. 精华阅读第 10 期 |解开阿尔法狗(AlphaGo)人工智能的画皮
  6. js判断是手机访问还是电脑访问
  7. 由基于qml,c++的串口调试工具浅谈qml与c++混合编程
  8. 魔术常量(Magic constants)
  9. 深入理解javascript函数进阶系列第一篇——高阶函数
  10. Spring MVC Mock demo
  11. 使用redis 中的事务处理实现商品秒杀
  12. 中国 A 股纳入 MSCI
  13. weblogic 与项目jar冲突解决方案 ITsm部署
  14. hibernate03增删改查
  15. 2019swpuj2ee作业一:C/S,B/S的应用的区别
  16. 03-依赖倒置原则(DIP)
  17. 2.2 调试 HelloWorld.exe 程序
  18. kbmmw 5.01 发布
  19. PLSQL Developer概念学习系列之如何正确登录连接上Oracle(图文详解)
  20. JAVA 反射用法

热门文章

  1. [置顶] Android ShareSDKQQ 第三方登录so easy?
  2. 余弦相似性计算及python代码实现
  3. opencv之图像阈值化处理
  4. 为什么要使用ORM技术?和 JDBC 有何不一样?
  5. JS 隔行变色
  6. HTML标签01
  7. LeetCode 366. Find Leaves of Binary Tree
  8. 洛谷 P1312 Mayan游戏
  9. miniofs 配置使用
  10. 蓝桥杯 算法训练 ALGO-36 传纸条