1
、
rtl81xx
驱动文件浏览
WIFI
驱动源码已经放到了开发板光盘中,路径为:
1
、例程源码
->5
、模块驱动源码
->1
、
RTL8XXX WIFI
驱动源码
-> realtek
。
realtek
目录下就存放着
RTL8188EUS
和
RTL8189FS
这两
个芯片的驱动源码,如图
70.1.1.1
所示:
RTL8189FS
存放着
RTL8189FS/FTV
的驱动
文件,
rtl8192CU
下存放着
RTL8188CUS
和
RTL8192CU
的驱动,
注意!正点原子
ALPHA
开发
板赠送的
USB WIFI
模块分为
RTL8188EUS
和
RTL8188CUS
两种,这两种
USB WIFI
驱动是不
一样的!
Kconfig
文件是
WIFI
驱动的配置界面文档,这样可以通过
Linux
内核图形化配置界面
来选择是否编译
WIFI
驱动,
Kconfig
文件内容如下所示:
menuconfig REALTEK_WIFI
tristate "Realtek wifi"
if REALTEK_WIFI
choice
prompt "select wifi type"
default RTL8189FS
config RTL8189FS
depends on REALTEK_WIFI
tristate "rtl8189fs/ftv sdio wifi"
config RTL8188EUS
depends on REALTEK_WIFI
tristate "rtl8188eus usb wifi"
endchoice
endif
Makefile 文件内容如下所示
2
、删除
linux
内核自带的
RTL8192CU
驱动
本教程所使用的
linux
内核已经自带了
RTL8192CU/8188CUS
驱动,但是经过测试,
linux
内核自带的驱动不稳定!因此不建议大家使用。最好使用图
70.1.1.1
中我们提供的
rtl8192CU
驱
动。在编译之前要先将内核自带的驱动屏蔽掉,否则可能导致编译出错,方法很简单。打开
drivers/net/wireless/rtlwifi/Kconfig
,找到下面所示内容然后删除掉:
将示例代码中的 1~11 行内容从 drivers/net/wireless/rtlwifi/Kconfig 中删除掉。
继续打开 drivers/net/wireless/rtlwifi/Makefile,找到下面这样:
obj
-
$
(
CONFIG_RTL8192CU
)
+=
rtl8192cu
/
将示例代码
70.1.1.3
中这一行从
drivers/net/wireless/rtlwifi/Makefile
中注释掉,至此,
linux
内核自带的
RTL8192CU/8188CU
驱动就屏蔽掉了。
3
、将
rtl81xx
驱动添加到
Linux
内核中
将
realtek
整个目录拷贝到
ubuntu
下
Linux
内核源码中的
drivers/net/wireless
目录下,此目
录下存放着所有
WIFI
驱动文件。拷贝完成以后此目录如图
70.1.1.1
所示:
框选出来的就是我们刚刚拷贝进来的 realtek 目录。
4、修改 drivers/net/wireless/Kconfig
打开 drivers/net/wireless/Kconfig,在里面加入下面这一行内容:
source "drivers/net/wireless/realtek/Kconfig"
如图所示
上图就是添加到
drivers/net/wireless/Kconfig
中的内容,这样
WIFI
驱动的配置界面才
会出现在
Linux
内核配置界面上。
5
、修改
drivers/net/wireless/Makefile
打开
drivers/net/wireless/Makefile
,在里面加入下面一行内容:
编译 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