NXPi.MX6ULL 移植RTL8188 WiFi模块

NXPi.MX6ULL 移植RTL8188 WiFi模块项目场景 在眺望电子 TW AC6G EVM 开发板上移植 RTL8188 WiFi 模块 编译环境及开发包 主机 ubuntu18 04 交叉编译器 arm linux gnueabihf gcc QT5 12 8 qt everywhere opensource src 5 12 8

大家好,我是讯享网,很高兴认识大家。

项目场景:

在眺望电子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所示红色框图所包含的内容并删除。
图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" 

Kconfig

添加以上内容,WIFI驱动的配置界面才会出现在 Linux内核配置界面上。

打开 drivers/net/wireless/Makefile,在末尾加入下面一行内容:

obj-y += realtek/ 

Makefile

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所示:
图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
图2.2

在开发板上使用 wlan0 来 ping 一下百度网站,输入如下命令:

ping -I 192.168.43.94 www.baidu.com 

图2.3  ping百度网站成功

小讯
上一篇 2025-02-11 16:39
下一篇 2025-01-25 17:02

相关推荐

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