linux系统中wifi驱动的配置与编译实现方法

news2024/11/16 1:42:51

        大家好,今天主要和大家聊一聊,如何使用linux系统中的WIFI驱动完成相应的实验。

           

 

目录

第一:WIFI驱动添加与编译方法

第二:将驱动代码添加到linux内核中

第三:配置Linux内核

第四:编译WIFI驱动


第一:WIFI驱动添加与编译方法

       目前常见的wifi模块支持两种接口:USB和SDIO,其中 USB WIFI 使用的芯片为RTL8188EUS或 RTL8188CUS,SDIO 接口的WIFI 使用芯片为 RTL8189FS, 也叫做 RTL8189FTV。这两个都是 realtek 公司出品的 WIFI 芯片。WIFI 驱动不需要我们编写, 因为 realtek 公司提供了 WIFI 驱动源码,因此我们只需要将 WIFI 驱动源码添加到 Linux 内核 中,然后通过图形化界面配置,选择将其编译成模块即可。

第二:将驱动代码添加到linux内核中

       将realtek整个目录复制到ubuntu下,linux内核源码中的dirvers/net/wireless目录下,此目录下存放着所有的WIFI驱动文件。

      打开drivers/net/wireless/Kconfig,在里面加入下面所示的内容:

 #
 # Wireless LAN device configuration
 #

 menuconfig WLAN
......
    source "drivers/net/wireless/rsi/Kconfig"
    source "drivers/net/wireless/realtek/Kconfig"

        打卡drivers/net/wireless/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 内核要修改的内容就全部完成了。

第三:配置Linux内核

      在编译RTL8188 和 RTL8189 驱动之前需要先配置 Linux 内核。

      1、配置USB支持设备  

-> Device Drivers 
-> <*> USB support
-> <*> Support for Host-side USB 
-> <*> EHCI HCD (USB 2.0) support
-> <*> OHCI HCD (USB 1.1) support 
-> <*> ChipIdea Highspeed Dual Role Controller 
-> [*] ChipIdea device controller
-> [*] ChipIdea host controller

    2、配置WIFI设备

       配置路径如下:

-> 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

第四:编译WIFI驱动

        执行“make menuconfig”命令,打开 Linux 内核配置界面,然后按照如下路径选择将 rtl81xx

驱动模块的编译。

-> Device Drivers 
-> Network device support (NETDEVICES [=y]) 
 -> Wireless LAN (WLAN [=y]) 
 -> Realtek wifi (REALTEK_WIFI [=m]) 
 -> rtl8189ftv sdio wifi 
-> rtl8188eus usb wifi 
-> Realtek 8192C USB WiFi

    配置界面就是添加进去WIFI配置界面,选中“rtl8189fs/ftv sdio wifi”、 “rtl8188eus usb wifi”和“Realtek 8192C USB WiFi”,将其编译为模块。

    输入命令:make modules -j12   //编译驱动模块

编译完成以后就会在 rtl8188EUS、rtl8189FS 和 rtl8192CU 文件夹下分别生成 8188eu.ko、 8189fs.ko 和 8192cu.ko 这三个.ko 文件。

总结:wifi的驱动要学会移植方法,想要上网的话,还需要移植其他的库文件,才能更好的连接wifi热点信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/134440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv5更换骨干网络之 MobileNetV3

论文地址&#xff1a;https://arxiv.org/abs/1905.02244 代码地址&#xff1a;https://github.com/xiaolai-sqlai/mobilenetv3 我们展示了基于互补搜索技术和新颖架构设计相结合的下一代 MobileNets。MobileNetV3通过结合硬件感知网络架构搜索&#xff08;NAS&#xff09;和 N…

MySQL基础篇

MySQL数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 持久化(persistence)&#xff1a;把数据保存到可掉电式存储设备中以供之后使用。大多数情况下&#xff0c;特别是企业级应用&#xff0c;数据持久化意味着将内存中的数据保存到硬盘上加以“…

网络类型实验

1.先配ip [Huawei]sysname R1 [R1]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 [R1-GigabitEthernet0/0/1]int s 4/0/0 [R1-Serial4/0/0]ip add 12.1.1.1 24 其他同理 2.写三条缺省指向R2来使网络通 [R1]ip route-static 0.0.0.0 0 12…

【王道操作系统】3.1.1 什么是内存?进程的基本原理,深入指令理解其过程

什么是内存&#xff1f;进程的基本原理&#xff0c;深入指令理解其过程 文章目录什么是内存&#xff1f;进程的基本原理&#xff0c;深入指令理解其过程1.什么是内存&#xff1f;有何作用&#xff1f;2.进程运行的基本原理2.1 指令的工作原理---操作码若干参数2.2 逻辑地址(相对…

C++类和对象3:关于类内部的更多细节

目录 初始化列表&#xff1a; explicit关键字 ​编辑 static成员 友元 内部类 匿名对象 拷贝对象时的一些编译器优化 我们已经接触过了构造函数&#xff0c;其功能可以很方便的帮助我们为变量赋值&#xff0c;但是在这里并不是初始化&#xff0c;因为一个构造函数可以为几…

02 Hadoop概述

Hadoop概述1、Hadoop是什么2、Hadoop版本3、HDFS、YARN、MapReduce&#xff08;1&#xff09; HDFS&#xff08;2&#xff09;YARN&#xff08;3&#xff09;MapReduce&#xff08;3&#xff09;Hadoop模块之间的关系1、Hadoop是什么 是一个由Apache基金会开发的分布式系统基础…

动态规划是个好东西:编辑距离

力扣&#xff1a;72. 编辑距离 这道题目让我狠狠的了解了动态规划&#xff0c;这玩意是真强。 题目描述很简单&#xff1a; 这道题正常来说&#xff0c;我们要考虑这个字符怎么换&#xff0c;长度不一怎么找…等等问题&#xff0c;但是这样做会发现很困难&#xff0c;显然这是…

Vert.x 核心概念及事件模型

Vert.x是基于事件的&#xff0c;提供一个事件驱动编程模型 使用Vert.x作为服务器时&#xff0c;程序员只要编写事件处理器event handler即可。&#xff08;当TCP socket有数据时&#xff0c;event handler被创建调用&#xff09; 另外它还可以在以下几种情况激活&#xff1a; …

反向迭代器

文章目录1. list的反向迭代器2. list的rbegin和rend3. 反向迭代器的实现3.1 复用vector反向迭代器3.2 反向迭代器的变化1. list的反向迭代器 我们先来看一看库里面的list的迭代器是如何写的&#xff1a; 这是list的正向迭代器。 这是list的反向迭代器。 其实大佬们是把正向迭…

【3.1】Eureka注册中心-提供者与消费者/原理分析

【3.1】Eureka-提供者与消费者/原理分析1 提供者与消费者2 服务调用出现的问题3 Eureka的作用3.1 消费者该如何获取服务提供者具体信息&#xff1f;3.2 如果有多个服务提供者&#xff0c;消费者该如何选择&#xff1f;3.3 消费者如何感知服务提供者健康状态&#xff1f;4 总结1…

A. The Enchanted Forest #769 div1

Problem - A - Codeforces 题意&#xff1a; 给你一串序列&#xff0c;任意从什么地方开始&#xff0c;给你k秒时间&#xff0c;让你算最大价值 每一秒时间按顺序你可以做&#xff1a; ①移动到|x-y|<1的地方 ②取走这个位置上所有的数 ③每个位置1 原来是0秒&#x…

opencv-python常用函数解析及参数介绍(七)——边缘检测

边缘检测前言1.基本概念1) 滤波2) 计算梯度3) 非极大值抑制4) 双阈值检测2.opencv中的边缘检测效果展示分析对比3.结尾前言 在之前的文章中我们介绍了使用膨胀和腐蚀、计算图像梯度的方式来获取图像的轮廓&#xff0c;本篇文章将介绍另外一种可以获取图像轮廓的方法——边缘检…

再说原型链

关于原型链&#xff0c;已经被无数次的提起&#xff0c;每次回顾都有新的理解&#xff0c;今天我们再来说说原型链。 我们知道&#xff0c;每一个javascript对象&#xff08;除了null&#xff09;在被创建的时候都会与另一个对象关联起来&#xff0c;这个对象就是我们所说的原型…

【C++进阶】二叉搜索树

文章目录二叉搜索树概念二叉搜索树操作二叉搜索树的实现每个节点的结构插入查找删除二叉搜索树的所有代码(包括测试)版本一版本二test.cpp二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 若它的左子树不为空&a…

Linux环境下gdb程序调试

目录gdb介绍进入gdb调试环境指令学习l(list)指令b(break)指令info b指令d指令r(run)指令n(next)指令s(step)指令c(continue)指令bt(breaktrace)指令finish指令p(print)指令display指令undisplay指令until指令disable命令enable命令这篇文章将会介绍gdb以及一些常用的gdb调试指令…

3.移动端百分比布局练习-京东首页

访问地址 https://youthddup.gitee.io/myproject/ 1、项目目录结构 2、注意 &#xff08;1&#xff09;设置视口标签以及引入初始化样式 &#xff08;2&#xff09;二倍精灵图缩放 先把精灵图等比缩放原来的一半 然后再测精灵图位置 代码里background-size置为原来的一半 &a…

typescript 数组操作

使用变量来存储值会带来以下限制&#xff1a; 变量本质上是标量。换言之&#xff0c;一个变量声明变量声明一次只能包含一个。这意味着在程序中存储n个值需要n个变量声明。因此&#xff0c;当需要存储更大的值集合时&#xff0c;使用变量是不可行的。 程序中的变量以随机顺序分…

当下一场数字化的浪潮,正在各行各业深刻上演着

一场数字化的浪潮&#xff0c;正在各行各业深刻上演着。在零售领域&#xff0c;亦不例外。以往&#xff0c;提及零售&#xff0c;我们更多地想到的是&#xff0c;各式各样的电商平台&#xff0c;我们看到的是&#xff0c;各式各样的电商模式&#xff1b;现在&#xff0c;提及零…

测试用例设计-淘宝购物车

测试人员和开发人员产生争执了怎么办&#xff1f; ① 先检查自身&#xff0c;是否BUG描述不清楚 ② 站在用户的角度考虑问题 ③ BUG定级要有理有据 ④ 提高自身的技术能力和业务水平&#xff0c;最好同时提出解决方案。 ⑤ 开发人员不接受时&#xff0c;不要争吵&#xff0c;可…

YOLOv5更换骨干网络之 PP-LCNet

论文地址&#xff1a;https://arxiv.org/abs/2109.15099 代码地址&#xff1a;https://github.com/ngnquan/PP-LCNet 我们提出了一种基于MKLDNN加速策略的轻量级CPU网络&#xff0c;名为PP LCNet&#xff0c;它提高了轻量级模型在多个任务上的性能。本文列出了在延迟几乎不变的…