本文涉及内容为linux 命令行模式配置无线上网 及 wpa_supplicant 移植到开发板的过程,仅供参考。

1.源码下载

  wpa_supplicant 源码下载地址 :http://hostap.epitest.fi/releases/   本人使用的是 wpa_supplicant-0.7.3.tar.gz

  openssl 源码下载地址:http://www.openssl.org/source/   本人使用的是openssl-1.0.0j.tar.gz。

2.openssl  交叉编译

  在服务器home目录下,创建连个文件wpa_source , wpa_install ,两个目录 mkdir wpa_source ,mkdir wpa_install .

  创建完成后,将两份源码上传到wpa_source目录中,分别解压 tar xvf xxx (源码名称)。

  解压完成后,进入openssl-1.0.0j文件中。执行命令:

./config no-asm shared --prefix=/home/wpa_install

  说明: no-asm  在交叉编译过程中不使用汇编代码代码加速编译过程。

      shared  生成动态链接库。

      --prefix      指定生成lib include bin目录的路径,不修改此项则默认为OPENSSLDIR目录。 我们将其安装在/home/wpa_install 目录下。

  * 此处注意下,本人在编译openssl时,如果不加no-asm shared ,在后面make中会出错。

  修改Makefile 文件,具体修改如下,主要修改有三处:

CC= mips-wrs-linux-gnu-mips_74k_softfp-glibc_small-gcc
。。。省略
AR= mips-wrs-linux-gnu-mips_74k_softfp-glibc_small-ar $(ARFLAGS) r
RANLIB= mips-wrs-linux-gnu-mips_74k_softfp-glibc_small-ranlib

  修改的几处换成你使用的交叉编译工具即可。

  把所有的 –march=pentium 去掉(三处)。否则编译的时候会出错

  然后执行make , make install。中间如果出错,请baidu or google。我在编译openssl时,未出现问题。

  具体openssl交叉编译可以参考 :http://blog.csdn.net/zqj6893/article/details/8778237  ,讲的比较详细

3.编译wpa_supplicant

  进入wpa_supplicant.0.7.3/wpa_supplicant/ 目录,执行:

cp defconfig .config

vi .config

  修改如下:

#### sveasoft (e.g., for Linksys WRT54G) ######################################
#CC=mipsel-uclibc-gcc
CC=mips-wrs-linux-gnu-mips_74k_softfp-glibc_small-gcc -L /home/wpa_install/lib/
#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
#CFLAGS += -Os
CFLAGS += -I /home/wpa_install/include/
#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9./lib -lssl
LIBS += -L /home/wpa_install/lib/

  * ,# 开头的为文件本身的代码,我们需要修改CC,CFLAGS,LIBS三处内容。 分别指向你包含的include和lib文件夹

  修改完成后,保存并退出,执行 make 命令。在当前目录下会生成wpa_supplicant,wpa_cli 两个可执行文件,这个就可以放在开发板中进行运用啦!

  * 几句废话:在编译wpa_supplicant时,最开始使用的是最新版本,wpa_supplicant-2.0的一个版本,编译好多次没有编译过去,都是出现缺少这个或那个连接的问题,较典型的就是 can't find -lnl .后来换成0.7.3的版本后就没有出现过该问题。只是暂时的把这个绕过去了吧。移植后的功能也都满足我使用的。所以就用0.7.3的版本了。

  参考连接:http://blog.csdn.net/ti_tantbx/article/details/7037741

4.在开发板实际使用。

  此处我只说下wpa_supplicant 配置上网的用法。wpa_cli适合个人使用配置,wpa_supplicant 使用于后台操作型的配置。

  注:默认无线驱动已加载,此处略。

  (1)、在使用前,将wpa_supplicant 复制的/bin/目录下。

  (2)、在/var/run/目录下创建wpa_supplicant文件夹,mkdir /var/run/wpa_supplicant

  (3)、在/etc/下创建文件wpa_supplicant.conf. (也可不是/etc/,其他目录亦可)

      此处的wpa_supplicant.conf 文件内容有几种。

      1]、无密码连接

      

ctrl_interface=/var/run/wpa_supplicant
      
network{    
ssid="你要连接的SSID"
    key_mgmt=NONE
}

      2]、WEP连接

      

ctrl_interface=/var/run/wpa_supplicant

network{
    ssid="你要连接的SSID"
key_mgmt=NONE
wep_key0="你的密码"
  wep_key1=
 wep_tx_keyidx=
}

      3]、WPA-PSK/WPA2-PSK,TKIP/AES 连接

      

# WPA-PSK/TKIP

ctrl_interface=/var/run/wpa_supplicant

network={
ssid="你要连接的SSID"
key_mgmt=WPA-PSK
proto=WPA //RSN 如果WPA2连接不成功时,可以设置为RSN看看
pairwise=TKIP //CCMP 。如果为AES时,可以设置为CCMP TKIP看看
group=TKIP //同上
psk="SSID的密码"
}

    加密文件配置参考连接:http://www.360doc.com/content/12/0709/15/9424702_223192125.shtml

              http://evan7s.blog.163.com/blog/static/108955356201132494921476/

    这两篇文章的提示作用很大的,建议看看    

    按照无线连接方式配置好wpa_supplicant.conf后,执行命令

wpa_supplicant -B -d -i wlan0 -c /etc/wpa_supplicant.conf

    注释:-B 是指后台运行,如果想查看连接信息,可以把—B去掉。

       -i wlan0 ,-i是接口名称,如果你的无线网卡不是wlan0,(如ra0),那么随之更改接口名称。

       -d ,指增加debug信息。

       -c , 后面跟wpa_supplicant配置文件的路径

    执行之后就连接到你想要连接的无线SSID上啦。连接上之后,如果想要wlan0 动态获取地址:输入

dhclient wlan0

    如果不用DHCP,手动配置地址哎

ifconfig wlan0 192.168.x.x netmask 255.255.255.0

    

    

    wpa_cli 配置无线网络可以参考:http://blog.163.com/wxiongn@126/blog/static/11788203820102262748358/

    OK, 这就是我移植wpa_supplicant 及配置无线上网的过程。希望对大家有帮助

    转载谢谢注明。

wpa_supplicant 移植及 linux 命令行模式配置无线上网的更多相关文章

  1. 在Linux命令行模式安装VMware Tools

    在Linux命令行模式安装VMware Tools 方法/步骤1: 首先启动CentOS 7,在VMware中点击上方“VM”,点击“Install VMware Tools...”(如已安装则显示“ ...

  2. Linux命令行模式下安装VMware Tools详细步骤

    在Linux命令行模式安装VMware Tools 方法/步骤1: 首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Too ...

  3. Linux 命令行模式 你需要知道的那些事

    注: 安装软件 pip install + 软件名  例如: pip install xadmin 卸载软件 pip uninstall + 软件名 例如 pip uninstall xadmin 安 ...

  4. [亲身实践]linux命令行下配置网路

    1.在命令行下输入setup, 2.之后出现下图,选择网络配置 4.配置IP地址,子网掩码,DNS 5.保存之后回到命令行模式下,输入service network restart,至此网络配置完成

  5. linux命令行模式下对FTP服务器进行文件上传下载

    参考源:点击这里查看   1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码 ...

  6. linux 命令行模式下,浏览网页

    Ubuntu自带最新版的Gnome桌面,拥有大量的服务和桌面应用程序,让您仅通过一张安装光盘就可以体验到无比舒适的操作环境.下文介绍的在ubuntu下使用终端命令行上网的方法. 第一步,需要安装一个名 ...

  7. linux命令行模式下实现代理上网

    有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...

  8. linux命令行模式下实现代理上网(转)

    有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...

  9. linux 命令行模式下,浏览网页方法

    Ubuntu自带最新版的Gnome桌面,拥有大量的服务和桌面应用程序,让您仅通过一张安装光盘就可以体验到无比舒适的操作环境.下文介绍的在ubuntu下使用终端命令行上网的方法. 第一步,需要安装一个名 ...

随机推荐

  1. Linux 安装JDK7 遇到的问题

    Error occurred during initialization of VMjava/lang/NoClassDefFoundError: java/lang/Object 如出现 unpac ...

  2. 嵌入式 十个最值得阅读学习的C开源项目代码

    开源世界有许多优秀的开源项目,我选取其中十个最优秀的.最轻量级的C语言的项目,希望可以为C语言开发人员提供参考. 十个最值得阅读学习的C开源项目代码 1. Webbench 2. Tinyhttpd ...

  3. Oracle数据库“Specified cast is农田valid”

    这种错误是笔者在执行一条计算符合条件的行有多少个,用OracleDataReader读取计算出的行数时发生. 查询语句为: Select Count(1) FROM HP_TS Where TS_ID ...

  4. 5、NFC概述

    什么是NFC NFC(Near Field Communication,近场通信),是一种数据传输技术.但与Wi-Fi.蓝牙.红外线等数据传输技术的一个主要差异就是有效距离一般不能超过4厘米. NFC ...

  5. VC6兼容性及打开文件崩溃问题解决

    VC6虽然老,但是一些工程还非得用它打开,没办法…… 今天偶然用到,因为新装了系统,之前的问题又要重新解决一遍 在这记录下解决过程,方便以后查阅: 一.兼容问题: XP以上windows系统打开VC6 ...

  6. Cloud_panel

    传统基础架构应用程序的系统架构师,云计算应用程序的设计确实是相当有挑战性的工作.体现在应用程序架构师首先要了解云计算环境和传统基础架构的差异并且充分利用云计算平台的一些特点来更好的满足用户需求. 对于 ...

  7. 关于 python 的 @property总结和思考

    其实关于@property我到处去搜了很多教程来看,因为公司大量使用了oop的编程而我以前很少写,所以现在来重新补过来. 从使用上来说 加了@property之后最明显的区别就是 class Stud ...

  8. SQL Server常用元数据函数

    元数据函数 1.获取数据库标识符DB_ID DB_ID函数用于获取当前数据库的唯一ID(int数据类型),数据库ID用于服务器上唯一区分书库. 语法结构: DB_ID (['database_name ...

  9. 第二百零二天 how can I 坚持

    最近增肥好明显,胃口好没办法,只要肚子起不来就行了.加油. 其实挺幸福,想吃啥吃啥. 鱼会不会被冻死,买了加热棒不想用,该咋办呢. 股市又跌没了一千多,还是不够睿智,不够淡定. 人活这一辈子,到底最想 ...

  10. DataTrigger的几个用法

    1.用在textbox等输入控件上,验证输入是否合法. <Window.Resources> <Style TargetType="TextBox"> &l ...