一. 简介
 
 正点原子的  
 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  
  内核要修改的内容就全部完成了。  
 
 



















