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. mysql中data_format用法

    date_format(date,format)可以把日期转换为制定的格式: mysql> select date_format('2008-08-08 22:23:00', '%W %M %Y ...

  2. 图的最短路算法 Dijkstra及其优化

    单源最短路径算法 时间复杂度O(N2) 优化后时间复杂度为O(MlogN)(M为图中的边数 所以对于稀疏图来说优化后更快) 不支持有负权的图 #include<iostream> usin ...

  3. java学习之(内部类)

      大部分时候,类被定义成一个独立的程序单元,在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类,内部类有如下特点:  1.内部类提供了更好的封闭,可以把内部类隐 ...

  4. CSS用border绘制三角形

    使用border绘制三角形的思路,就是border尺寸设置一个较大的值,元素自身的宽高设置为0,全部由边线占据,这样每边就会显示为四分之一块的三角形.这样不借助图片,可以直接绘制出三角形了. 一个栗子 ...

  5. 【MySQL】MySQL同步报错-> Last_IO_Error: Got fatal error 1236 from master when reading data from binary log

    这个报错网上搜索了一下,大部分是由于MySQL意外关闭或强制重启造成的binlog文件事务点读取异常造成的主从同步报错 Last_IO_Error: Got fatal error 1236 from ...

  6. 【MVC】 文件及URL 的整理

    我们平时在做Asp.Net MVC(以下就简称mvc)项目的时候,页面文件结构都用了"/Views/Controllers/page.aspx",而把一些PartialView呢放 ...

  7. JS常用的设计模式(16)—— 享元模式

    享元模式主要用来减少程序所需的对象个数. 有一个例子, 我们这边的前端同学几乎人手一本<JavaScript权威指南>. 从省钱的角度讲, 大约三本就够了. 放在部门的书柜里, 谁需要看的 ...

  8. (笔记)angular 的hover事件

  9. SQL Server 修复数据库 相关 脚本 之 DBCC CHECKDB 用法 来自同事分享

    DBCC CHECKDB 用法详解, 手工修复数据库 1. 快速修复 DBCC CHECKDB ('数据库名',REPAIR_FAST) 2.重建索引并修复 DBCC CHECKDB ('数据库名', ...

  10. poj1008_Maya_Calendar

    历法的转换. #include <stdio.h> #include <math.h> #include <string.h> ][]={ "pop&qu ...