USB WIFI网卡在S5PV210上的移植和使用最全攻略(2)

1 在自己制作的rootfs中移植网卡

1.1 确认自己制作的rootfs可正常工作并启动

(1)busybox交叉编译制作根文件系统

(2)启动后直接nfs方式挂载文件夹形式的rootfs,测试ok后再做成镜像烧录

(3)挂载参数bootargs:

#设置启动参数
setenv bootargs root=/dev/nfs nfsroot=192.168.1.141:/mnt/nfs ip=192.168.1.20:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off  init=/linuxrc console=ttySAC2,115200 

#设置开机自启动命令
set bootcmd 'tftp 30008000 zImage; bootm 30008000'

1.2 需要的工具集确认

(1)iwconfig工具集:另外移植的,不是busybox中的(我们上边使用的根文件系统是我使用busybox制作的)

查看命令在哪:which iwconfig
然后:ls -al 看看是否指向busybox,若是则是其的一个链接,若不是则不是busybox的

(2)dhcp工具集:是busybox中集成的,确认busybox的menuconfig中配置支持了这个

(3)wpa_supplicant工具集:另外移植的,不是busybox中的

1.3 交叉编译iwconfig

(1)源码下载
https://hewlettpackard.github.io/wireless-tools/Tools.html#latest
也可以搜索wireless tools源码下载,自己下载
(2)修改Makefile进行配置

配置一:设置软件的安装目录(make install),我设为了/home/rootfs
PREFIX = /home/rootfs
ifndef PREFIX
	PREFIX = /usr/local
endif

配置二:
CC = arm-linux-gcc
AR = arm-linux-ar
RANLIB = arm-linux-ranlib

配置三:我并未修改,但这设置要清楚,便于以后的开发,动态库与静态库
# Select which library to build and to link tool with
ifdef BUILD_STATIC
	IWLIB=$(STATIC)
	IWLIB_INSTALL=install-static
else
	IWLIB=$(DYNAMIC)
	IWLIB_INSTALL=install-dynamic
endif

(3)交叉编译

make
file iwconfig #根据打印出的信息可知是动态链接生成的 (dynamically linked)

(4)部署安装
make install
(5)测试

iwconfig ra0 //   可查看到该无线网卡的相关信息,如名称等,若要修改则修改
			 //    /etc/Wireless/RT2870STA/RT2870STA.dat文件

iwlist ra0 scanning //搜索当前环境可以使用的无线网络

2 移植wpa_supplicant并制作镜像

https://www.cnblogs.com/wanglouxiaozi/p/12829235.html

2.1 交叉编译 wpa_supplicant

(1)下载wpa_supplicant源码并配置编译。参考http://blog.csdn.net/hktkfly6/article/details/48949863

我使用的是wpa_supplicant-2.6.tar.gz:
下载地址:http://w1.fi/wpa_supplicant/
wpa_supplicant需要配合openssl使用,并且两者的版本号之间存在一定的适配关系。

tar -zxvf wpa_supplicant-2.6.tar.gz
cd wpa_supplicant-2.6
cd wpa_supplicant
vi README #在其中查看符合这个版本的openssl进行下载

/**************************************************************************/
ptional libraries for EAP-TLS, EAP-PEAP, and EAP-TTLS:
- OpenSSL (tested with 1.0.1 and 1.0.2 versions; assumed to
work with most relatively recent versions; this is likely to be
available with most distributions, http://www.openssl.org/)
/**************************************************************************/

(2)下载配套版本的openssl并配置编译
https://www.openssl.org/source/old/1.0.1/

我使用的是	openssl-1.0.1.tar.gz
1、tar -zxvf openssl-1.0.1.tar.gz
2、cd openssl-1.0.1
3、mkdir install //建立一个安装目录

4、vi Makefile   //修改Makefile
	CC=arm-linux-gcc
	AR=arm-linux-ar$(ARFLAGS) r
	RANLIB=arm-linux-ranlib
	NM = arm-linux-nm
	INSTALLTOP=建立的安装目录,要使用绝对路径,不然在make install的时候会出错
	OPENSSLDIR=建立的安装目录,要使用绝对路径,不然在make install的时候会出错

5、make -j6
6、make install
7、报错:make: *** [install_docs] Error 255
修改Makefile中的选项,doc是用于生成man手册的,可以不用,makefile 543行
删除install_docs,最终结果如下
	install: all install_sw
	
8、make install
至此所需的openssl已配置好,返回之前(1)配置wpa_supplicant继续操作

在这里插入图片描述

1、cd /home/usb_network_card/wpa_supplicant-2.6/wpa_supplicant
首先建立配置文件:
2、cp defconfig .config

然后修改Makefile:
CC = arm-linux-gcc -L/home/bsp/usb_wifi_card/openssl-1.0.1/install/lib
CFLAGS+=-I openssl安装目录/include   //例如:CFLAGS += -I  /home/bsp/usb_wifi_card/openssl-1.0.1/install/include
LIBS+=-Lopenssl安装目录/lib  //例如:LIBS += -L/home/bsp/usb_wifi_card/openssl-1.0.1/install/lib


3、make
再次出现报错:../src/drivers/driver_nl80211.c:17: fatal error: netlink/genl/genl.h: No such file or directory,表明缺少libnl库,具体操作可参考

(1)去掉配置NL相关的选项省去移植libnl。参考:http://www.cnblogs.com/helloworldtoyou/p/6145995.html
下载网址:https://www.linuxfromscratch.org/blfs/view/svn/basicnet/libnl.html

(2)我们选择修改.config文件,注释掉
# Driver interface for Linux drivers using the nl80211 kernel interface
CONFIG_DRIVER_NL80211=y#注释掉,我们没用到这个

4、再次make,就会我们需要的那两个程序:wpa_cli    wpa_supplicant 

5、将这两个程序移植到开发板的/usr/bin目录下,进行测试

命令行能否运行,若不能,在ubuntu中 file 生成的可执行程序名,查看程序是否是动态链接,若是,则无法执行可能是所用的动态链接库没找到。

2.2 在nfs中测试wpa_supplicant使用

wpa_supplicant这个文件会自动创建,但目录我们要手动创建。
mkdir -p /var/run/
chmod -R 777 /var/ 要有足够的权限

移植成功后,仍需按照之前上篇文章《USB WIFI网卡在S5PV210上的移植和使用最全攻略(1)》所讲的内容进行配置。

2.3 制作ext2镜像并刷机测试

附:/etc/wpa_supplicant.conf文件内容:

ctrl_interface=/var/run/wpa_supplicant

network={
        key_mgmt=WPA-PSK
        ssid="zhulaoshi"
        psk="www.zhulaoshi.org"
}

移植成功后,仍需按照之前上篇文章《USB WIFI网卡在S5PV210上的移植和使用最全攻略(1)》所讲的内容进行配置。

注:本文章参考了《朱老师物联网大讲堂笔记》,并结合了自己的实际开发经历以及网上他人的技术文章,综合整理得到。如有侵权,联系删除!水平有限,欢迎各位在评论区交流。

借鉴原文:http://t.csdnimg.cn/jwNg9

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值