ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-12-12 21:30:16  阅读:223  来源: 互联网

标签:busybox USB supplicant openssl 全攻略 网卡 install wpa 移植


目录

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

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

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

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

(3)挂载参数bootargs:

#设置启动参数
setenv bootargs root=/dev/nfs nfsroot=192.168.1.141:/root/rootfs ip=192.168.1.10: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'

2、需要的工具集确认

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

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

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

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

3、交叉编译iwconfig

(1)源码下载
https://hewlettpackard.github.io/wireless-tools/Tools.html#latest
(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 //搜索当前环境可以使用的无线网络

二、移植wpa_supplicant并制作镜像

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

1、交叉编译 wpa_supplicant

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

我使用的是wpa_supplicant-2.6.tar.gz:

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并配置编译

我使用的是	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
	INSTALLTOP=建立的安装目录,要使用绝对路径,不然在make install的时候会出错
	OPENSSLDIR=建立的安装目录,要使用绝对路径,不然在make install的时候会出错

	
5、报错:make: *** [install_docs] Error 255
修改Makefile中的选项,doc是用于生成man手册的,可以不用
	install: all install_sw
	
至此所需的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
CFLAGS+=-I openssl安装目录/include
LIBS+=-Lopenssl安装目录/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、在nfs中测试wpa_supplicant使用

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

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

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)》所讲的内容进行配置。

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

标签:busybox,USB,supplicant,openssl,全攻略,网卡,install,wpa,移植
来源: https://blog.csdn.net/weixin_45842280/article/details/121757484

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有