我是靠谱客的博主 丰富香烟,最近开发中收集的这篇文章主要介绍RTL8189ES驱动移植,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.unzip解压驱动源码RTL8189ES_linux_v4.3.18.1_15373.20151005
2.复制源码到realtek文件夹,并改名为RTL8189ES。windows下直接干!
3.rtl8189FS、rtl8188EUS处理方法同第1、2步
4.增加Kconfig文件,内容为:

menuconfig REALTEK_WIFI
    tristate "Realtek wifi"    

if REALTEK_WIFI

choice 
    prompt "select wifi type"
    default RTL8189ES
    
config RTL8723BU
    depends on REALTEK_WIFI
    tristate "rtl8723BU usb wifi"
    
config RTL8189FS
    depends on REALTEK_WIFI
    tristate "rtl8189fs/ftv sdio wifi"
    
config RTL8189ES
    depends on REALTEK_WIFI
    tristate "rtl8189es sdio wifi"    

config RTL8188EUS
    depends on REALTEK_WIFI
    tristate "rtl8188eus usb wifi"    
    
endchoice 

endif

5.增加Makefile文件,内容为:

obj-$(CONFIG_RTL8188EUS) += rtl8188EUS/ 

obj-$(CONFIG_RTL8189FS) += rtl8189FS/

obj-$(CONFIG_RTL8189ES) += rtl8189ES/

obj-$(CONFIG_RTL8723BU) += rtl8723BU/


6.复制realtek文件夹到Linux源码的linux-3.14.43-g064c28b-v1.5driversnetwireless目录下
7.vim/gedit修改 drivers/net/wireless/Kconfig,添加一行
source "drivers/net/wireless/realtek/Kconfig"
8.vim/gedit修改 drivers/net/wireless/Makefile,添加一行
obj-y += realtek/
9.Linux源码下make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig弹出选择界面,逐级选择。
9.1选择驱动模块
-> Device Drivers
-> Network device support (NETDEVICES [=y])
-> Wireless LAN (WLAN [=y])
-> Realtek wifi (REALTEK_WIFI [=m])
-> rtl8189es sdio wifi([=m])
-> rtl8723BU usb wifi([=m])
9.2配置支持WiFi设备
-> Device Drivers
-> Network device support (NETDEVICES [=y])
-> Wireless LAN (WLAN [=y])
-> IEEE 802.11 for Host AP(Prism2/2.5/3 and WEP/TKIP/CCMP) ([=y])
   -> Support downloading firmware images with Host AP driver ([=y])
    -> Support for non-volatitle firmware download  ([=y])
9.3配置支持IEEE 802.11(有些系统可以省略这一步)
-> Networking support 
  -> Wireless ([=y])
    -> cfg80211 wireless extensions ([=y])
    -> Generic IEEE 802.11 Networking Stack(mac80211) ([=y])
9.4保存配置 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- savedefconfig
cp defconfig  arch/arm/configs/am437x-lihaibin_defconfig 
进入configs,并查看:
cd arch/arm/configs/
ls am437*  -l 
替换TI开发板文件:
cp  am437x-lihaibin_defconfig tisdk_am437x-evm_defconfig
9.5检查驱动配置
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am437x-evm_defconfig 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
10.编译驱动模块 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules -j 8 
编译完成以后就会在 rtl8188EUS 和 rtl8189ES 文件夹下分别生成 8723BU.ko 和 8189es.ko 文件
备注:如果操作系统源码Makefile没有指定ARCH=arm 和CROSS_COMPILE=arm-linux-gnueabihf- 需要使用生成驱动模块  make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules -j10
11.复制8723BU.ko 、8189es.ko、zImage 到开发板。
12.编译内核,采用以下指令
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules -j 10
编译完成后在arch/arm/boot/下生成了内核镜像zImage文件
13.复制zImage,替换原来开发板的zImage
14.重启系统之后,使用insmod 8189es.ko 或者 depmod ;modprobe 8189es.ko安装驱动模块.

可以使用make modules_install指令安装模块到开发板根文件系统,方法如下:
第1-9步同上
10.编译设备树
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am437x-gp-evm.dtb 
11.编译内核,采用以下指令
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j 32
编译完成后在arch/arm/boot/下生成了内核镜像zImage文件
12. 制卡
cp am437x-gp-evm.dtb /home/lee14-64/AM437x/mksdboot/Linux-3.14.43-mksdboot/boot/ 
cp zImage  /home/lee14-64/AM437x/mksdboot/Linux-3.14.43-mksdboot/boot/ 
fdisk -l 
./mksdboot.sh --device /dev/sdb --board tl437x-evm 
制卡后需要重新拔插!
umount /media/lee14-64/rootfs ; umount /media/lee14-64/boot 
13.编译驱动模块
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules -j 10 
14.安装驱动模块:
ls  /media/lee14-64/
make ARCH=arm modules_install INSTALL_MOD_PATH=/media/lee14-64/rootfs 
15.安装外部模块


重要提示:部分版本不能直接make menuconfig,否则会恢复为默认配置 ,make savedefconfig不能使用否则启动异常 ,应使用make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- savedefconfig

最后

以上就是丰富香烟为你收集整理的RTL8189ES驱动移植的全部内容,希望文章能够帮你解决RTL8189ES驱动移植所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部