【北京迅为】i.MX6ULL终结者Linux WIFI驱动实验wifi驱动添加和编译

在i.MX6UL终结者开发板上使用的是usb接口的RTL8723 wifi模块,原理图如图 1所示:
在这里插入图片描述

图 1

可以看到RTL8723模块的接口非常简单,只有DP1和DM1连接到usb HUB芯片上,就可以完成通信电路。RTL8723是realtek公司的wifi芯片,已经提供了wifi驱动源码,就不需要我们自己去编写了,只需要将提供的wifi驱动源码添加到Linux内核中进行编译就可以了。

1.1 在Linux内核中添加wifi驱动

首先获取wifi驱动源码,放到Linux内核drivers/net/wireless目录下,如图 1.1.1所示:
在这里插入图片描述

图 1.1.1

rtl8723BU目录下内容如图 1.1.2所示:
在这里插入图片描述

图 1.1.2

其中Kconfig文件是rtl8723驱动的配置文件,这样可以通过 Linux 内核图形化配置界面来选择是否编译 WIFI 驱动,Kconfig 文件内容如下所示:

config RTL8723BU
        tristate "Realtek 8723B USB WiFi"
        depends on USB
        ---help---
          Help message of RTL8723BU

当添加完rtl8723 wifi驱动时,需要修改上一级的Kconfig和Makefile。
修改drivers/net/wireless/Kconfig,添加如下内容:
source “drivers/net/wireless/rtl8723BU/Kconfig”
添加完成后如图 1.1.3所示:
在这里插入图片描述

图 1.1.3

添加完成后,在Linux内核的驱动配置界面上才会出现rtl8723的配置选项。
修改drivers/net/wireless/Makefile文件,添加如下内容:
obj-$(CONFIG_RTL8723BU) += rtl8723BU/
修改后如图 1.1.4所示:
在这里插入图片描述

图 1.1.4

1.2 配置Linux内核

添加好rtl8723 wifi驱动并修改完配置文件后,需要在Linux内核中在进行配置。
1、配置支持USB设备
Linux内核配置路径如下:

Device Drivers  --->
[*] USB support  --->
<*>     EHCI HCD (USB 2.0) support
<*>   ChipIdea Highspeed Dual Role Controller
[*]     ChipIdea device controller
[*]     ChipIdea host controller

配置完成如下图 1.2.1所示:
在这里插入图片描述

图 1.2.1

2、配置支持wifi设备
Linux内核配置路径如下:

Device Drivers  --->
[*] Network device support  --->
[*]   Wireless LAN  --->
<*>   IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
[*]     Support downloading firmware images with Host AP driver
[*]       Support for non-volatile firmware download

配置完成如图 1.2.2所示:
在这里插入图片描述

图 1.2.2

3、配置支持IEEE 802.11
Linux内核配置路径如下:

[*] Networking support  --->
-*-   Wireless  --->
[*]     cfg80211 wireless extensions compatibility
<*>   Generic IEEE 802.11 Networking Stack (mac80211)

配置完成如图 1.2.3所示:
在这里插入图片描述

图 1.2.3

4、配置rtl8723 wifi驱动
Linux内核配置路径如下:

Device Drivers  --->
[*] Network device support  --->
[*]   Wireless LAN  --->
<*>   Realtek 8723B USB WiFi

配置结果如图 1.2.4所示:
在这里插入图片描述

图 1.2.4

直接将rtl8723 wifi模块的驱动编译到内核中去。

以上Linux内核配置完成后,重新编译内核生成zImage,使用新的zImage启动开发板。

1.3 Rtl8723 wifi模块驱动测试

使用新的zImage镜像启动开发板,系统启动过程中会有如图 1.3.1信息打印:
在这里插入图片描述

图 1.3.1

上图说明在Linux系统启动过程中使用了rtl8723 wifi模块的驱动程序。当启动完成驱动后使用“ifconfig -a”命令查看wlan网卡是否存在,结果如图 1.3.2所示:
在这里插入图片描述

图 1.3.2

可以看到存在一个wlan0设备,这个就是rtl8723 wifi模块对应的网卡设备。说明驱动程序测试正常,但是如果要联网的话,还需要第三方组件才可以。下面就来看一下如何使用第三方组件进行联网测试。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/BeiJingXunWei/article/details/112858002