项目场景:
在眺望电子TW-AC6G-EVM开发板上移植RTL8188 WiFi模块:
编译环境及开发包:
主机:ubuntu18.04
交叉编译器:arm-linux-gnueabihf-gcc
QT5.12.8:qt-everywhere-opensource-src-5.12.8
开发板:TW-AC6G-EVM
Linux:Linux-4.1.15
串口工具:Xshell
注意:本文章的所有命令涉及到的路径均为眺望电子官方环境路径,需根据自身实际环境改变。本文所演示的平台来自于眺望电子 iMX6ULL ARM嵌入式平台,这是一个基于NXP iMX6ULL ARM处理器,主频800MH在 Cortex-A7的核心板。
解决方案:
1.向Linux内核添加WIFI驱动
realtek目录下就存放RTL8188CUS/RTL8192CU芯片的驱动源码。rtl8192CU 下存放着 RTL8188CUS和RTL8192CU的驱动。Kconfig文件是 WIFI 驱动的配置界面文档。
1.1删除Linux内核自带的RTL8192CU驱动
打开Linux内核源码目录中drivers/net/wireless/rtlwifi/Kconfig,找到图1.1所示红色框图所包含的内容并删除。

打开 Linux内核源码目录中drivers/net/wireless/rtlwifi/Makefile,找到以下内容,并进行屏蔽(屏蔽内核自带的RTL8192CU/RTL8188CU驱动)。
obj-$(CONFIG_RTL8192CU) += rtl8192cu/
讯享网
1.2将RTL8192CU(RTL8188CU)驱动添加到Linux内核中
将realtek整个目录拷贝到Ubuntu下 Linux 内核源码中的drivers/net/wireless目录下。
打开 drivers/net/wireless/Kconfig,在末尾加入下面这一行内容:
讯享网source "drivers/net/wireless/realtek/Kconfig"

添加以上内容,WIFI驱动的配置界面才会出现在 Linux内核配置界面上。
打开 drivers/net/wireless/Makefile,在末尾加入下面一行内容:
obj-y += realtek/

1.3Linux内核中的WIFI配置
讯享网-> 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
-> 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

-> Networking support -> -*- Wireless -> [*] cfg80211 wireless extensions compatibility -> <*> Generic IEEE 802.11 Networking Stack (mac80211)
1.4编译 RTL8192CU(RTL8188CU)驱动
在Linux内核源码目录中执行“make menuconfig”命令,打开 Linux 内核配置界面,然后按照如下路径选择将RTL8192CU驱动编译为模块:
-> 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
配置结果如图1.2所示:

执行如下命令编译驱动模块:
make modules -j12
编译完成以后就会在rtl8192CU文件夹下8192cu.ko这个.ko文件,将8192cu.ko拷贝到开发板/lib/modules/4.1.15目录下。
重新配置过Linux内核,因此也需要使用新的zImage启动。
1.5WIIF驱动加载测试
将RTL8188CU模块插到开发板的USB HOST接口上,进入到目录lib/modules/4.1.15 中,输入如下命令加载8192cu.ko这个驱动模块:
depmod modprobe 8192cu.ko //或者modprobe 8192cu
驱动加载后,输入“ifconfig -a”命令查看是否存在网卡是否存在(一般是wlan0),有wlan0则说明驱动加载成功了。
2.RTL8188CU联网测试
2.1配置WIFI网络
wpa_supplicant.conf 文件内容如下所示:
ctrl_interface=/var/run/wpa_supplicant ap_scan=1 network={ ssid="TWDZ" psk="tw" }
2.2连接WIFI
准备好以后就可以使用 wpa_supplicant 工具让 RTL8188 USB WIFI 连接到热点上,输入如下命令:
cd /etc wpa_supplicant -D wext -B -i wlan0 -c wpa_supplicant.conf
获取 IP 地址命令:
udhcpc -i wlan0
如图2.2所示,wlan0 的 IP 地址为192.168.43.94

在开发板上使用 wlan0 来 ping 一下百度网站,输入如下命令:
ping -I 192.168.43.94 www.baidu.com

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/66681.html