WIFI驱动移植实验:将 rtl8188EUS驱动添加到 Linux 内核中

2024-03-28 01:52

本文主要是介绍WIFI驱动移植实验:将 rtl8188EUS驱动添加到 Linux 内核中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.  简介

正点原子的 I.MX6U-ALPHA 开发板目前支持两种接口的 WIFI USB SDIO ,其中 USB接口的WIFI 使用使用的芯片为 RTL8188EUS RTL8188CUS SDIO 接口的 WIFI 使用芯片为
RTL8189FS ,也叫做 RTL8189FTV 。这两个都是 realtek 公司出品的 WIFI 芯片。

WIFI 驱动不需 要我们编写,因为 realtek 公司提供了 WIFI 驱动源码,因此,我们只需要将 WIFI 驱动源码添加 Linux 内核中,然后通过图形化界面配置,选择将其编译成模块即可。

二.  rtl81xx 驱动文件浏览

这里我买的正点原子 ALPHA开发板,赠送了一个 USB接口的WIFI模块,型号为 RTL8188EUS。

WIFI 驱动源码已经放到了开发板光盘中,路径为: 1 、例程源码 ->5 、模块驱动源码 ->1 、RTL8XXX WIFI 驱动源码 -> realtek realtek 目录下就存放着 RTL8188EUS RTL8189FS 这两 个芯片的驱动源码,如下图 所示:
其中 rtl8188EUS 下存放着 RTL8188EUS 驱动。
RTL8189FS 存放着 RTL8189FS/FTV 的驱动 文件。
rtl8192CU 下存放RTL8192CU 的驱动。

注意!正点原子 ALPHA 开发板赠送的 USB WIFI 模块分为 RTL8188EUS RTL8188CUS 两种,这两种 USB WIFI 驱动是不一样的!

Kconfig 文件是 WIFI 驱动的配置界面文档,这样可以通过 Linux 内核图形化配置界面来选择是否编译 WIFI 驱动。

Makefile 文件是编译 驱动模块的作用。

三. WIFI驱动移植实验:将 rtl8188EUS驱动添加到 Linux 内核中

1. 将 rtl8188EUS 驱动添加到 Linux 内核中

realtek 整个目录拷贝到 ubuntu Linux 内核源码中的 drivers/net/wireless 目录下,此目录下存放着所有 WIFI 驱动文件。这里拷贝不能加 "sudo" 权限,否则可能最后编译不过。
拷贝完成以后此目录如下图 所示:

上图中红色方框中,就是我们刚刚拷贝进来的 realtek 目录。

2. 修改 drivers/net/wireless/Kconfig

打开内核源码根目下的 drivers/net/wireless/Kconfig ,在里面加入下面这一行内容:
source "drivers/net/wireless/realtek/Kconfig"
添加完以后的 Kconfig 文件内容如下所示:
#
# Wireless LAN device configuration
#menuconfig WLAN
......source "drivers/net/wireless/rsi/Kconfig"source "drivers/net/wireless/realtek/Kconfig"endif # WLAN
添加了上面的一句代码后 ,这样 WIFI 驱动的配置界面才会出现在 Linux 内核配置界面上。

3. 修改 drivers/net/wireless/Makefile

打开 drivers/net/wireless/Makefile ,在里面加入下面一行内容:
obj-y += realtek/
修改完以后的 Makefile 文件内容如下所示:
#
# Makefile for the Linux Wireless network device drivers.
#obj-$(CONFIG_IPW2100) += ipw2x00/
......obj-$(CONFIG_CW1200) += cw1200/obj-$(CONFIG_RSI_91X) += rsi/obj-y += realtek/

添加了上面一行代码就是编译 realtek 中的内容,至此, Linux 内核要修改的内容就全部完成了。

 

这篇关于WIFI驱动移植实验:将 rtl8188EUS驱动添加到 Linux 内核中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854103

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

[Linux]:进程(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 进程终止 1.1 进程退出的场景 进程退出只有以下三种情况: 代码运行完毕,结果正确。代码运行完毕,结果不正确。代码异常终止(进程崩溃)。 1.2 进程退出码 在编程中,我们通常认为main函数是代码的入口,但实际上它只是用户级

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。