X210移植MTK7601无线网卡驱动(下)

上篇文章连接处:X210移植MTK7601无线网卡驱动(上)

在自己定制的rootfs中移植网卡

1、需要的工具集确认

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

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

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


2、交叉编译iwconfig

下载地址http://www.linuxfromscratch.org/blfs/view/svn/basicnet/wireless_tools.html

下载完成后,放在ubuntu中,解压开,修改源码目录下的makefile。

将交叉编译工具链配置成arm的工具链。由于之前我们安装的工具链有到处环境变量,因此可以直接使用arm-linux-...如果没有的话,就必须加入绝对路径。

然后配置PREFIX路径为开发板的nfs文件系统中,(我的系统是在,将来开发板会挂载到/home/aston/rootfs)。

                                    

修改完成后,执行make进行源码的编译。

编译完成后,执行make install,就会将我们需要用的工具安装到nfs文件系统中,

之后进行测试,输入iwconfig,就有这个命令集了。

                                                   


3、移植wpa_supplicant

参考:https://blog.csdn.net/hktkfly6/article/details/48949863

下载地址:http://w1.fi/wpa_supplicant/,进入网页后,找到下载链接,这里网站更新到了2.6版本。下载完后,解压到ubuntu中。

                   

首先进入解压好的wpa_supplicant-2.6/wpa_supplicant路径中。将defconfig变成.config文件。

执行命令:cp defconfig .config

修改makefile文件,增加交叉编译工具链,这里的有将交叉编译工具链的地址导入到环境变量,所以可以直接这样写。

               


4、编译OpenSSL

修改完成后,运行编译,发现出错,上网查资料,说是由于编译wpa_supplicant需要openssl的库。

在wpa_supplicant-2.6/wpa_supplicant文件夹中的README可以看出,我们这个版本的wpa_supplicant需要1.0.1或者1.0.2版本的openssl来支持

                         

openssl的下载地址:ftp://ftp.openssl.org/source/old/1.0.1/,这里我下载的是openssl-1.0.1.tar.gz下载完成之后,解压到ubuntu中。

修改oenssl源码目录下的makefile,将install文件修改到当前目录中,记得在当前目录下也创建oepnssl_install这个文件夹,然后将交叉编译工具链配置一下,最后删除install中的install_doc,这样将来make install 就不会安装man手册了。

注意的事:

INSTALLTOP=刚才你建立的安装目录,要使用绝对路径,不然在make install的时候会出错

OPENSSLDIR=刚才你建立的安装目录,要使用绝对路径,不然在make install的时候会出错

修改完makefile之后,就可以执行make,编译完成后,执行make install就会将我们需要的东西安装到openssl_install文件夹中,


5、编译wpa_supplicant

在此修改wpa_supplicant源码目录下的makefile(wpa_supplicant-2.6/wpa_supplicant文件夹中)

在wpa_supplicant-2.5/wpa_supplicant目录下执行make后,报错。

上网查询之后,发现要么安装libnl,要么修改.config文件,注释 CONFIG_DRIVER_NL80211=y,在执行make,就好生成wpa_supplicant和wpa_cli。

最后将wpa_supplicant和wpa_cli文件拷贝到nfs文件系统中的/usr/bin目录下。