海思3518E开发——移植wifi模块到开发板(联发科7601)

  前边已经实现村里通了4g网,可是▄█▀█●流量太贵,看片伤不起,那必须上wifi呀!

一、资料获取

联发科官网

二、修改MAKEFILE

在211行的位置,修改LINUX_SRC为内核目录源码的位置,
修改LINUX_COMPILE为交叉编译器的位置。如下图所示。

修改完成后执行make编译。
想改加载的无线网卡名字可以在include/rtmp_def.h里修改,修改如下所示。

不想修改的话默认编译出来网卡名字为ra0.
编译完成,因为我们没有修改makefile设置为arm系列,所以编译出来在os/linux 目录下。

如图所示,我们编译出来的驱动为mt7601Usta.ko。拷贝到开发板上。我这里放到了/mylib目录下,其他目录也可以。
加载驱动,使用 ismod mt7601Usta.ko 既可以加载驱动,加载完成,执行ifconfig -a 可以看到ra0。说明无线网卡驱动已经加载成功。

和4g模块驱动同样的,驱动加载成功还没有连接wifi。这里就要请出 wpa_supplicant了
wpa_supplicant是wifi客户端(client)加密认证工具,wpa_supplicant支持wep、wpa、wpa2等完整的加密认证
继续移植,交叉编译
官网获取源码
我这里使用的是wpa_supplicant-2.7.tar.gz
1、解压源码包tar xvzf wpa_supplicant-2.7.tar.gz
2、cd wpa_supplicant-2.7/wpa_supplicant
3、拷贝默认配置cp defconfig .config
4、打开.config 需要修改的配置如下

CONFIG_DRIVER_WEXT=y         //使用WEXT通过ioctl和驱动通信,典型工具ifconfig等

                CONFIG_DRIVER_NL80211=y    //使用NL80211通过一个特殊的socket和驱动打通信,典型工具包括                                                                                                     iwconfig等,使能该选项时应指定libnl库,移植libnl请参考libnl3.2 移植。
                CFLAGS += -I../../libnl-3.2.25/install/include/     // CONFIG_DRIVER_NL80211=y时。需指定libnl头文件
                LIBS += -L../../libnl-3.2.25/install/include/          // CONFIG_DRIVER_NL80211=y时,需指定libnl库
                CONFIG_LIBNL32=y                                           // CONFIG_DRIVER_NL80211=y时,需指定libnl库版本
                CC = arm-hisiv300-linux-gcc            // 配置编译器
                CONFIG_TLS = internal     // 配置TLS实现,可选有openssl、internal,选择penssl时需指定openssl库,移植步骤请参考Openssl 移植,由于开发板flash空间较小,出于节省空间的考虑,选择                                                                                                internal

                CONFIG_INTERNAL_LIBTOMMATH = y     //CONFIG_TLS = internal时,需使能

                CFLAGS += -I../../openssl-1.1.1/install/include/     // CONFIG_TLS = openssl时。需指定openssl头文件

                LIBS += -L../../lopenssl-1.1.1/install/include/          // CONFIG_TLS = openssl时,需指定openssl库

5、执行make编译
6、将可执行程序wpa_supplicant、wpa_cli拷贝到开发板文件系统/usr/bin/目录下,使用chmod命令修改可执行权限
7、在开发板/etc 目录下建立开发板的配置文件。
内容如下,填写对应的wifi名字和密码。

ctrl_interface=/var/run/wpa_supplicant

network={
        proto=WPA
        key_mgmt=WPA-PSK
        ssid="wifi名"
        psk="wifi密码"
        }

8、执行wpa_supplicant -i ra0 -B -c /etc/wpa_supplicant.conf。既可以连接wifi。
9、实现开机自动加载驱动,并启动wifi连接。修改/etc/init.d 下的配置

如图所示。最后一个udhcpc为dhcp,自动获取ip。需要在busybox配置dhcp功能。

posted @ 2020-11-13 16:41  lxblog  阅读(1029)  评论(0编辑  收藏  举报