1.在迅为i.MX6ULL开发板上使用的是 usb 接口的 RTL8723 wifi 模块,原理图如下所示:

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

1.1在Linux内核中添加wifi驱动
首先获取 wifi 驱动源码,放到 Linux 内核 drivers/net/wireless 目录下,如下所示:

rtl8723BU 目录下内容如下所示:

其中 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"
添加完成后如下所示:

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

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
      配置完成如下图所示:

      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
      配置完成如下图所示:

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

    • Networking support --->
      -*- Wireless --->
    • cfg80211 wireless extensions compatibility
      <*> Generic IEEE 802.11 Networking Stack (mac80211)
      配置完成如下图所示:

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

    • Network device support --->
    • Wireless LAN --->
      <*> Realtek 8723B USB WiFi
      配置结果如图所示:

      直接将 rtl8723 wifi 模块的驱动编译到内核中去。
      以上 Linux 内核配置完成后,重新编译内核生成 zImage,使用新的 zImage 启动开发板。

      1.3 rtl8723 wifi  模块驱动测试
      使用新的 zImage 镜像启动开发板,系统启动过程中会有如下信息打印:

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

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

IMX6ULL开发板Linux_WIFI驱动实验的更多相关文章

  1. Beaglebone Black开发板安装驱动

    Beaglebone Black开发板安装驱动 Beaglebone Black开发板安装驱动,在使用Beaglebone Black开发板子做任何事情之前首先需要安装驱动.下面的内容就了展示在Win ...

  2. 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解

    本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...

  3. 迅为4412开发板Linux驱动教程——总线_设备_驱动注冊流程具体解释

    视频下载地址: 驱动注冊:http://pan.baidu.com/s/1i34HcDB 设备注冊:http://pan.baidu.com/s/1kTlGkcR 总线_设备_驱动注冊流程具体解释 • ...

  4. 荣品RP4412开发板摄像头驱动调用及对焦控制

    1.关于更换不同摄像头驱动调用问题. 问:RP4412开发板,我用的摄像头640*480图像预览时OK的,但是我调用1280*720的初始化预览,摄像头没有图像了,是不是camera程序也需要修改? ...

  5. iTOP-4412开发板_驱动_adc驱动升级和测试例程

    本文档介绍 iTOP-4412 开发板的 adc 驱动的升级和测试例程.自带的驱动只能支持一路 adc,本文介绍如何修改可以支持 4 路 adc 的控制.1 硬件简介如下图所示,这是 4412 的 d ...

  6. 迅为4412开发板Linux驱动教程——编写简单应用调用驱动

    Linux驱动教程:http://pan.baidu.com/s/1c0hljUS 编写简单应用调用驱动--头文件 • 打印头文件 – include <stdio.h>调用打印函数pri ...

  7. s3c6410开发板LED驱动程序设计详细…

    2 下面来看看tiny6410关于LED的原理图如图(1)所示: 图1    LED原理图 3 LED实例,代码如下所示:(代码摘自\光盘4\实验代码\3-3-1\src\main.c) main.c ...

  8. 迅为4412开发板Linux驱动教程/硬件知识及原理图的使用

    视频教程下载地址:http://pan.baidu.com/s/1pJwxUfL 嵌入式研发流程介绍 • PCB研发流程介绍 – 方案,原理图(网表) – layoutproject师(gerber文 ...

  9. s5pc100开发板网卡驱动的移植

    相关软件下载地址:http://pan.baidu.com/s/16yo8Y fsc100开发板 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc 平台代码修改 vim   ...

随机推荐

  1. C#LeetCode刷题之#720-词典中最长的单词(Longest Word in Dictionary)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4120 访问. 给出一个字符串数组words组成的一本英语词典.从 ...

  2. JavaScript 手写 setTimeout 及 同步调用和异步调用

    demo let timeout = (sec, num) => { const now = new Date().getTime() // 获取进入方法时的时间 let flag = true ...

  3. P、NP、NPC问题详解

    转载地址 https://blog.csdn.net/bcb5202/article/details/51202589 P.NP.NPC 概念 > P问题:能够在多项式时间内解决的决策问题. - ...

  4. vue或者js中平均分割数组

    vue中 把一段长数组按照指定份数 均分 sliceArray(array, size) { var result = []; for (var x = 0; x < Math.ceil(arr ...

  5. 线段树(二)STEP

    线段树(二) 线段树例题整理 Part 1:题面 传送门:https://www.luogu.com.cn/problem/P6492(靠之前传送门放错了,暴露了我在机房逛B站的事实-- Part 2 ...

  6. eric4 中 pyqt .py文件结尾的 代码

    if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) ui = MainWindow() ...

  7. Javascript模块化编程(二):AMD规范 (转)

    原文作者: 阮一峰 日期: 2012年10月30日 这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? ...

  8. CentOS 安装、配置Nginx反向代理

    安装: yum install epel-release yum install nginx 配置: [root@bogon ~]# vim /etc/nginx/conf.d/default.con ...

  9. 新建一个Vue项目

    node环境以及vue的安装可查看:https://www.cnblogs.com/renlywen/p/13522869.html 第一步:创建项目 终端输入: vue init webpack d ...

  10. 自己搭建的集群,启动hadoop时slave节点的datanode没有启起来怎么办?

    自己搭建的集群,启动hadoop 集群是,发现slave节点的datanode没有启动,查了资料发现是因为我在启动集群前,执行了这个命令: hadoop namenode -format 这个指令会重 ...