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

相关文章

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将