http://blog.chinaunix.net/uid-28572323-id-3482376.html

http://blog.chinaunix.net/uid-26921272-id-3416832.html

这位两位朋友的博文 加上我自己出现问题,然后解决问题,特此加以笔记。红色标记

http://hostap.epitest.fi/wpa_supplicant/

下载wpa_supplicant-0.7.3.tar.gz (openssl用到0.7.3提供的补丁)

#tar xvfz wpa_supplicant-0.7.3.tar.gz

下载www.openssl.org/source/openssl-1.0.1c.tar.gz
                #tar zxvf openssl-1.0.1c.tar.gz

二、编译openssl库

makefile修改 (-为去掉设置, +为新加的设置)
#vi makefile
- CC= cc
+ CC= arm-none-linux-gcc
- AR= ar $(ARFLAGS) r
+ AR= arm-none-linux-ar $(ARFLAGS) r
- RANLIB= /usr/bin/ranlib
+ RANLIB= arm-none-linux-gnueabi-ranlib
#make 
#make install
在/usr/local/ssl目录下安装了ssl库

PS:+AR= arm-none-linux-ar $(ARFLAGS) r
这里需要特别注意linux-ar
这之间没有空格,我因为在这里添加空格 所以,耽搁了半天没找到原因。
拷贝下面文件驱动到目标系统/usr/lib/
libssl.a
libcrypto.a

openssl 移植完成.

三、编译wpa_supplicant 
进入wpa_supplicant-0.7.3.tar.gz解压生成的wpa_supplicant-0.7.3/wpa_supplicant目录中:
        #cp defconfig        .config
        #vim .config

            CC=arm-linux-gcc  -L/usr/local/ssl/lib/
            #CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
           CFLAGS += -I/usr/local/ssl/include
           #CPPFLAGS += -I../src/include -I../../src/router/openssl/include
           LIBS += -L/usr/local/ssl/lib
        #make

出现错误:

../src/drivers/driver_nl80211.c:25:31: fatal error: netlink/genl/genl.h: No such file or directory
compilation terminated.
make: *** [../src/drivers/driver_nl80211.o] Error 1

安装libnl-dev 和libpopt-dev后,编译成功。

注:一开始安装了wpa_supplicant-1.0,死活找不到/usr/include内的头文件,报类似上面的错误,最后退回到wpa_supplicant-0.7.3编译通过。

PS:这里我出现了另外的问题,提示如下

  1. <span style="color:#FF0000;">/usr/bin/ld: skipping incompatible /usr/local/ssl/lib/libcrypto.a when searching for -lcrypto
  2. /usr/bin/ld: cannot find -lcrypto
  3. collect2: ld returned 1 exit status
  4. make: *** [wpa_supplicant] Error 1
  5. </span>

解决方法是:

sudo apt-get install libssl-dev
安装libssl-dev 包

经过编译后的wpa_supplicant源
程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系
就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。

终于可以成功编译出来。

wpa_supplicant安装的更多相关文章

  1. wpa_supplicant 和 802.11g WPA 认证的配置

    # cd /etc/init.d# ln -s net.lo net.eth0 默认的接口名是 wlan0,让它开机时自动 up:cp /etc/init.d/net.lo /etc/init.d/n ...

  2. Archlinux安裝指南(uefi+gpt)

    1.系统安装前的一些准备 首先在Archlinux官网下载镜像文件,然后刻录到U盘或光盘上.在我的机器上刻录arch镜像文件到U盘后启动不了,因为时间问题我没做过多的探索,所以后面直接刻录到光盘,用光 ...

  3. 3.1 wifi网卡RT3070在S3C2440的移植和使用

    学习目标:熟悉RT3070在S3C2440的移植和使用,以及其中的相关工具的安装和使用: 一.配置内核选择WIFI驱动 1. 将usb wifi插到电脑,在ubuntu使用命令:# lsusb 查看w ...

  4. blfs(systemd版本)学习笔记-安装、配置和使用wpa_supplicant无线网络连接工具

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! wireless项目地址:http://www.linuxfromscratch.org/blfs/view/stable-sy ...

  5. blfs(systemv版本)学习笔记-安装、配置和使用wpa_supplicant无线网络连接工具

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! wireless项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basic ...

  6. Raspberry Pi(树莓派)上安装Raspbian(无路由器,无显示器)

    一. 准备工作 1. 树莓派主板 型号:树莓派3 B型 处理器:四核64位ARM Cortex-A53 CPU 内核架构:ARMv8 2. 一张大于8G的TF卡(本人用的是32G的,也作为PiLFS用 ...

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

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

  8. 树莓派2安装使用小米WIfi(360 小度 腾讯wifi)

    更新2015年11月16日,jessie内核版本号4.1.13(uname -a 可以查看)直接可以驱动MT7601U,无需手动编译. 截止2015-4-6,本文基于树莓派2,raspbian,内核版 ...

  9. Archlinux 2015.07.01 和 Windows7 双系统 安装教程

    提前在windows7下给Archlinux预留一个分区,大小最好在20G以上(根据自己硬盘情况分配). 第一步,安装前的准备 从arch官网下载最新的ISO文件archlinux-2015.07.0 ...

随机推荐

  1. 在yii中使用gearman

    最近项目需要将利用gearman进行任务调度,目前所用框架为yii,在部署好gearman后,试图在yii中调用gearman,一直报错: 提示reverse函数没有定义,明明已经定义了啊!可能是当时 ...

  2. 洛谷P1631 序列合并

    P1631 序列合并 236通过 657提交 题目提供者xmyzwls 标签堆 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 为什么不行? 题目描述 有两个长度都是N的序列A和B,在A和B中 ...

  3. firefox chrome强制指定网址使用https

    chrome强制网站使用httpschrome://net-internals/firefox强制指定网站使用https使用noScript插件

  4. 009Linux密码故障排除

    1.Root密码破解/忘记Root密码: 步骤: (1)在系统启动时进入grub选项菜单: 在系统开机读秒时,按回车键,注意,要迅速,读秒的时间很快,但还需注意的是,虽然需要迅速,但是只按一次回车键就 ...

  5. Android IOS WebRTC 音视频开发总结(十二)-- sufaceview

    谈到音视频不得不谈谈对视频呈现的理解,为了让大家能有一个更好的理解,先看看android里面SurfaceView的原理,后续陆续分享其绘画原理. 说明:本文是转载的,转载自哪里我也不知道,貌似经过很 ...

  6. Linux日志

    一.Linux 常見的日志文件 /var/log/cron:你的 crontab 排程有没有实际被进行? 进行过程有没有发生错误?你的 /etc/crontab 是否撰写正确?在这个登录档内查询看看. ...

  7. sqlserver分区表实践:对时间分区表自动进行管理

    项目问题:有一张日志表,插入和查询为主,每天记录数据为200多万,大小为2G-4G之间.一开始开发人员使用delete语句手动删除,保留7天数据,经常造成阻塞和性能瓶颈.但是如果不删除数据随着表越来越 ...

  8. C puzzles详解【26-30题】

    第二十六题(不会) The following is a simple program which implements a minimal version of banner command ava ...

  9. leetcode2:Add Two Numbers

    Add Two Numbers Total Accepted: 55216 Total Submissions: 249950My Submissions You are given two link ...

  10. CSS3实现轮播图效果

    CSS3实现轮播图主要是由css:background-position和css3:animation实现.且实现此轮播需要一张四个图横着相连的图片. 注(Internet Explorer 10.F ...