IMX6ULL开发板Linux_WIFI驱动实验
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驱动实验的更多相关文章
- Beaglebone Black开发板安装驱动
Beaglebone Black开发板安装驱动 Beaglebone Black开发板安装驱动,在使用Beaglebone Black开发板子做任何事情之前首先需要安装驱动.下面的内容就了展示在Win ...
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注冊流程具体解释
视频下载地址: 驱动注冊:http://pan.baidu.com/s/1i34HcDB 设备注冊:http://pan.baidu.com/s/1kTlGkcR 总线_设备_驱动注冊流程具体解释 • ...
- 荣品RP4412开发板摄像头驱动调用及对焦控制
1.关于更换不同摄像头驱动调用问题. 问:RP4412开发板,我用的摄像头640*480图像预览时OK的,但是我调用1280*720的初始化预览,摄像头没有图像了,是不是camera程序也需要修改? ...
- iTOP-4412开发板_驱动_adc驱动升级和测试例程
本文档介绍 iTOP-4412 开发板的 adc 驱动的升级和测试例程.自带的驱动只能支持一路 adc,本文介绍如何修改可以支持 4 路 adc 的控制.1 硬件简介如下图所示,这是 4412 的 d ...
- 迅为4412开发板Linux驱动教程——编写简单应用调用驱动
Linux驱动教程:http://pan.baidu.com/s/1c0hljUS 编写简单应用调用驱动--头文件 • 打印头文件 – include <stdio.h>调用打印函数pri ...
- s3c6410开发板LED驱动程序设计详细…
2 下面来看看tiny6410关于LED的原理图如图(1)所示: 图1 LED原理图 3 LED实例,代码如下所示:(代码摘自\光盘4\实验代码\3-3-1\src\main.c) main.c ...
- 迅为4412开发板Linux驱动教程/硬件知识及原理图的使用
视频教程下载地址:http://pan.baidu.com/s/1pJwxUfL 嵌入式研发流程介绍 • PCB研发流程介绍 – 方案,原理图(网表) – layoutproject师(gerber文 ...
- s5pc100开发板网卡驱动的移植
相关软件下载地址:http://pan.baidu.com/s/16yo8Y fsc100开发板 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc 平台代码修改 vim ...
随机推荐
- C#LeetCode刷题-队列
队列篇 # 题名 刷题 通过率 难度 363 矩形区域不超过 K 的最大数值和 27.2% 困难 621 任务调度器 40.9% 中等 622 设计循环队列 C#LeetCode刷题之#622 ...
- C#LeetCode刷题之#136-只出现一次的数字(Single Number)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4046 访问. 给定一个非空整数数组,除了某个元素只出现一次以外, ...
- 【ASP.NET Core学习】使用JWT认证授权
概述 认证授权是很多系统的基本功能 , 在以前PC的时代 , 通常是基于cookies-session这样的方式实现认证授权 , 在那个时候通常系统的用户量都不会很大, 所以这种方式也一直很好运行, ...
- Android 用空格作为分割符切割字符串
项目中有需要用到空格作为分割符切割字符串,进而转为List. String wordStore = edWord.getText().toString(); String[] word = wordS ...
- Python-Opencv 图像处理基本操作
Python-Opencv 图像处理基本操作 1.图像读取 使用cv2.imread(filepath,flags)读入图像 filepath: 读入图像完整路径(绝对路径,相对路径) flags: ...
- 从零开始讲解JavaScript中作用域链的概念及用途
从零开始讲解JavaScript中作用域链的概念及用途 引言 正文 一.执行环境 二.作用域链 三.块级作用域 四.其他情况 五.总结 结束语 引言 先点赞,再看博客,顺手可以点个关注. 微信公众号搜 ...
- 记录一次idae和maven设置的巨坑
这个忽略pom.xml文件千万别勾选,不然会导致项目的pom.xml怎么填写都无法导入新的依赖包!
- 致敬学长!J20航模遥控器开源项目计划【开局篇】 | 先做一个开机界面 | MATLAB图像二值化 | Img2Lcd图片取模 | OLED显示图片
我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...
- chained get value from nested json
static getValueByKey(o, p, defaultValue = false) { return p.split('.').reduce((r, k) => { if (typ ...
- 操作系统-I/O(5)I/O软件的层次结构
IO软件的设计目标: (1)高效率:改善设备效率,尤其是磁盘I/O操作的效率 (2)通用性:用统一的标准来管理所有设备 IO软件的设计思路: 把软件组织成层次结构,低层软件用来屏蔽硬件细节,高层软件向 ...