1. wpa_supplicant的编译需要用到的3个源码包, 分别是wpa_supplicant, openssl, libnl

wpa_supplicant的下载地址:http://w1.fi/releases/

openssl的下载地址:https://www.openssl.org/so

libnl的下载地址:http://www.infradead.org/~tgr/libnl/files/

2. 编译

后面编译 wpa_supplicant 2.6时报错,"can't find -lnl",所以编译 libnl-1.1.4。
./configure --prefix=/home/henry/wpa/libnl-1.1.4/out

先装依赖库

sudo apt-get install bison

sudo apt-get install flex

./configure --prefix=/home/henry/wpa/libnl-1.1.4/out

make
make check
make install
// to install the API documentation:
mkdir -vp /home/henry/wpa/libnl-1.1.4/out/libnl/doc
tar -xf ../libnl-doc-1.1.4.tar.gz --strip-components=1 --no-same-owner -C /home/henry/wpa/libnl-1.1.4/out/libnl/doc

openssl的编译:

./config shared --prefix=/home/henry/wpa/openssl-1.1.1/out/ssl/prefix --openssldir=/home/henry/wpa/openssl-1.1.1/out/ssl/configuration
make
make test
make install

wpa_supplicant的编译

cd ~/wpa/wpa_supplicant-2.6/wpa_supplicant
cp defconfig .config
修改配置文件 .config,在"#Uncomment following two linee and fix..."下增加如下语句,用来添加openssl和libnl的头文件和库文件目录,更新编译链接环境变量:
CFLAGS += -I/home/henry/wpa/openssl-1.1.1/out/prefix/include
CFLAGS += -I/home/henry/wpa/libnl-1.1.4/out/include
LIBS += -L/home/henry/wpa/openssl-1.1.1/out/prefix/lib
LIBS += -L/home/henry/wpa/libnl-1.1.4/out/lib

LIBS_p += -L/home/henry/wpa/openssl-1.1.1/out/ssl/prefix/lib  (否则找不到libcripto)

执行 make 进行编译,成功后生成三个目标文件 wpa_supplicant, wpa_cli, wpa_passphrase 。

wpa_supplicant 的编译的更多相关文章

  1. 在Ubuntu下编译wpa_supplicant

    最近在研究WiFi联盟的多屏互动协议Miracast,其中需要用到wpa_supplicant,编译中遇到了一些问题,经过一下午的折腾也都解决了,下面分享给各位. 一.编译需要用到三个库源码包,分别是 ...

  2. linux 代码分析工具 gprof - 以wpa_supplicant为例

        当我们遇到一个新的程序的时候,经常会无从下手,需要debug一个功能的时候,我们不知道函数的运行流程是怎么样的,这就需要借助工具来帮助我们加快流程了.这里以分析wpa_supplicant为例 ...

  3. wpa_supplicant 检测错误密码

    选好了 wifi ssid,填了密码,生成新配置文件,重启了wpa_supplicant,怎么知道输入的密码对不对,如果不对有什么体现? wpa_supplicant 前台运行时,打印信息中会有: W ...

  4. linux下使用shell命令通过wpa_cli控制wpa_supplicant连接wifi

    最近在调试wifi,已经把wpa_supplicant 工具编译打包好了,为了测试wif驱动及wifi模块是否ok,需要用shell命令临时启动wifi服务连接wifi热点测试. 首先板子启动用ifc ...

  5. S3C2440实现wifi、3G上网和迷你无线路由的制作(一)

    S3C2440实现wifi.3G上网和迷你无线路由的制作 fulinux 凌云实验室 本文将通过ARM.linux平台,借助RT2070/RT3070芯片的无线模块(或使用RT2070/RT3070芯 ...

  6. FL2440 rt3070模块station模式移植

    ---------------------------------------------------------------------------------------------------- ...

  7. linux下编译wpa_supplicant …

    linux下编译wpa_supplicant 收藏 前一段时间只在vs2005下编译成功过.经过近一段时间的琢磨,今天终于在linux下成功编译了wpa_supplicant. 挺简单的事情折腾了这么 ...

  8. glib wpa_supplicant Unix上库编译错误解决与总结

    编译Linux下的库是一件痛苦的事情,这里主要阐述glib和wpa_supplicant库的编译,因各自的依赖关系,另外一些库要事先编译.glib依赖libffi和zlib,而wpa_supplica ...

  9. 【转】wpa_supplicant与wpa_cli之间通信过程

    [转]wpa_supplicant与wpa_cli之间通信过程 转自:http://blog.chinaunix.net/uid-26585427-id-4051479.html wpa_suppli ...

随机推荐

  1. 基于注解的SpringMVC添加其他的Servlet、Filter以及Listener

    我们可以在AbstractAnnotationConfigDispatcherServletInitializer的实现类中重写onStartup(ServletContext servletCont ...

  2. 通过hook实现禁止shift+delete快捷键

    实现全局hook必须要将hook代码封装在dll里,所以此程序有两个文件:noShiftDeleteHook.dll和noShiftDelete.exe noShiftDeleteHook.dll / ...

  3. 从koa-session源码解读session本质

    前言 Session,又称为"会话控制",存储特定用户会话所需的属性及配置信息.存于服务器,在整个用户会话中一直存在. 然而: session 到底是什么? session 是存在 ...

  4. Eclipse install new software无反应

    一个问题可以有不同的解决方案 其他人提供了不少方案 我遇到了这个问题 但是这些解决方案都无济于事 于是 我就采取了一个新方案: 然后重新解压,找到里面的eclipse.exe重新打开就可以了 现在有反 ...

  5. js数据结构与算法——字典与散列表

    <script> //创建字典 function Dictionary(){ var items = {}; this.set = function(key,value){ //向字典添加 ...

  6. 小程序 movable-view 在页面中的可移动图标

    项目中需要一个可拖动的小图标, 1.小程序组件movable-view 文档地址:https://developers.weixin.qq.com/miniprogram/dev/component/ ...

  7. Vue报错——“Trailing spaces not allowed”

    在VSCode中开发Vue 报错:“Trailing spaces not allowed” 这是空格多了,删除多余的空格就可以了

  8. Lesson 1-2

    1.5 模块 模块可视为扩展,通过将其导入可以扩展python的功能.python中自带有一组模块,也称为“标准库”. 1.5.1 模块的导入:import + 模块名称 • 使用关键字import导 ...

  9. loadrunner中的web_convert_param函数

    某些场景中获取的参数.自定义参数直接作用于请求的body或url时将不会被特殊的转换为页面编码一致的字符串,导致提交至服务的拼接字符串格式不正确,我们就可以将字符串转为url或html中的格式. 注: ...

  10. auth组件

    Django auth认证组件 简介 ''' Django auth认证组件提供了用户表的构建方式,认证接口,会话登录与注销接口. 中间件将会话登录用户保存到request对象中,这样不用从会话中获取 ...