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

简介: 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热点信息。

目录
相关文章
|
安全 数据安全/隐私保护 Windows
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
1304 16
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
|
10月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
10月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2526 10
|
10月前
|
XML 缓存 Linux
在Linux环境下解决Visual Studio Code字体显示异常和字体替换方法。
解决Linux下VS Code字体显示异常,需要对Linux字体渲染机制有所理解,并对VS Code的配置选项进行合理设置。替换字体时则要通过系统字体配置或VS Code设置来完成。通过上述方法,可以有效地解决字体显示问题,从而提升代码编辑的视觉体验。
1565 21
|
10月前
|
Ubuntu Linux 图形学
推广与体验Ubuntu Linux的便捷方法
如果你的朋友或家人对尝试Linux感兴趣,但希望在安装之前先体验一下,你可以分享以下链接给他们:Ubuntu在线导览。通过这个链接,他们可以在任何地方轻松体验Ubuntu,无需安装即可深入了解这个流行的操作系统。
|
NoSQL Linux 编译器
GDB符号表概念和在Linux下获取符号表的方法
通过掌握这些关于GDB符号表的知识,你可以更好地管理和理解你的程序,希望这些知识可以帮助你更有效地进行调试工作。
555 16
|
11月前
|
监控 Linux 开发者
理解Linux操作系统内核中物理设备驱动(phy driver)的功能。
综合来看,物理设备驱动在Linux系统中的作用是至关重要的,它通过与硬件设备的紧密配合,为上层应用提供稳定可靠的通信基础设施。开发一款优秀的物理设备驱动需要开发者具备深厚的硬件知识、熟练的编程技能以及对Linux内核架构的深入理解,以确保驱动程序能在不同的硬件平台和网络条件下都能提供最优的性能。
577 0
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
718 19
|
11月前
|
网络协议 Ubuntu Linux
Wireguard in Linux的安装方法
本文介绍了如何在Ubuntu和Rocky Linux中安装配置WireGuard,并探讨了配置过程中可能出现的DNS泄露问题及解决方法,包括通过nmtui设置DNS及调整DNS优先级参数。