龙泉驿建设局网站镇江外贸型网站建设
- 作者: 五速梦信息网
- 时间: 2026年04月20日 10:28
当前位置: 首页 > news >正文
龙泉驿建设局网站,镇江外贸型网站建设,1免费做网站,域名备案 网站备案目录WIFI 驱动添加与编译向Linux 内核添加WIFI 驱动配置Linux 内核编译WIFI 驱动驱动加载测试wireless tools 工具移植与测试wireless tools 移植wireless tools 工具测试wpa_supplicant 移植openssl 移植libnl 库移植wpa_supplicant 移植WIFI 联网测试RTL8188 USB WIFI 联网测…
目录WIFI 驱动添加与编译向Linux 内核添加WIFI 驱动配置Linux 内核编译WIFI 驱动驱动加载测试wireless tools 工具移植与测试wireless tools 移植wireless tools 工具测试wpa_supplicant 移植openssl 移植libnl 库移植wpa_supplicant 移植WIFI 联网测试RTL8188 USB WIFI 联网测试RTL8189 SDIO WIFI 联网测试WIFI 的使用已经很常见了手机、平板、汽车等等虽然可以使用有线网络但是有时候 很多设备存在布线困难的情况此时WIFI 就是一个不错的选择。正点原子I.MX6U-ALPHA 开 发板支持USB 和SDIO 这两种接口的WIFI本章我们就来学习一下如何在I.MX6U-ALPHA 开 发板上使用USB 和SDIO 这两种WIFI。
WIFI 驱动添加与编译
正点原子的I.MX6U-ALPHA 开发板目前支持两种接口的WIFIUSB 和SDIO其中USB WIFI 使用的芯片为RTL8188EUS 或RTL8188CUSSDIO 接口的WIFI 使用芯片为RTL8189FS 也叫做RTL8189FTV。这两个都是realtek 公司出品的WIFI 芯片。WIFI 驱动不需要我们编写 因为realtek 公司提供了WIFI 驱动源码因此我们只需要将WIFI 驱动源码添加到Linux 内核 中然后通过图形化界面配置选择将其编译成模块即可。 正点原子I.MX6U-ALPHA开发板默认会赠送一个RTL8188EUS/CUS USB WIFI如图70.1.1 所示 另外正点原子还有一款采用RTL8189FTV 芯片的SDIO WIFI如图70.1.2 所示
向Linux 内核添加WIFI 驱动
1、rtl81xx 驱动文件浏览 WIFI 驱动源码已经放到了开发板光盘中路径为1、例程源码-5、模块驱动源码-1、 RTL8XXX WIFI 驱动源码- realtek。realtek 目录下就存放着RTL8188EUS 和RTL8189FS 这两 个芯片的驱动源码如图70.1.1.1 所示
其中rtl8188EUS 下存放着RTL8188EUS 驱动RTL8189FS 存放着RTL8189FS/FTV 的驱动 文件rtl8192CU 下存放着RTL8188CUS 和RTL8192CU 的驱动注意正点原子ALPHA 开发 板赠送的USB WIFI 模块分为RTL8188EUS 和RTL8188CUS 两种这两种USB WIFI 驱动是不一样的Kconfig 文件是WIFI 驱动的配置界面文档这样可以通过Linux 内核图形化配置界面 来选择是否编译WIFI 驱动Kconfig 文件内容如下所示
示例代码70.1.1.1 Kconfig 文件内容
1 menuconfig REALTEK_WIFI
2 tristate Realtek wifi
3
4 if REALTEK_WIFI
5
6 choice
7 prompt select wifi type
8 default RTL8189FS
9
10 config RTL8189FS
11 depends on REALTEK_WIFI
12 tristate rtl8189fs/ftv sdio wifi
13
14 config RTL8188EUS
15 depends on REALTEK_WIFI
16 tristate rtl8188eus usb wifi
17
18 config RTL8192CU
19 depends on REALTEK_WIFI
20 tristate Realtek 8192C USB WiFi
21
22 endchoice
23 endifMakefile 文件内容如下所示
示例代码70.1.1.2 Makefile 文件内容
1 obj-\((CONFIG_RTL8188EUS) rtl8188EUS/
2 obj-\)(CONFIG_RTL8189FS) rtl8189FS/
3 obj-\((CONFIG_RTL8192CU) rtl8192CU/2、删除linux 内核自带的RTL8192CU 驱动 本教程所使用的linux 内核已经自带了RTL8192CU/8188CUS 驱动但是经过测试linux 内核自带的驱动不稳定因此不建议大家使用。最好使用图70.1.1.1 中我们提供的rtl8192CU 驱 动。在编译之前要先将内核自带的驱动屏蔽掉否则可能导致编译出错方法很简单。打开 drivers/net/wireless/rtlwifi/Kconfig找到下面所示内容然后删除掉
示例代码70.1.1.3 drivers/net/wireless/rtlwifi/Kconfig 文件内容
1 config RTL8192CU
2 tristate Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
3 depends on USB
4 select RTLWIFI
5 select RTLWIFI_USB
6 select RTL8192C_COMMON
7 ---help---
8 This is the driver for Realtek RTL8192CU/RTL8188CU 802.11n USB
9 wireless network adapters.
10
11 If you choose to build it as a module, it will be called rtl8192cu将示例代码70.1.1.2 中的1~11 行内容从drivers/net/wireless/rtlwifi/Kconfig 中删除掉。 继续打开drivers/net/wireless/rtlwifi/Makefile找到下面这样
示例代码70.1.1.4 drivers/net/wireless/rtlwifi/Makefile 文件内容
1 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 所示 图70.1.1.1 中框选出来的就是我们刚刚拷贝进来的realtek 目录。 4、修改drivers/net/wireless/Kconfig 打开drivers/net/wireless/Kconfig在里面加入下面这一行内容
source drivers/net/wireless/realtek/Kconfig添加完以后的Kconfig 文件内容如下所示
示例代码70.1.1.5 drivers/net/wireless/Kconfig 文件内容
1 #
2 # Wireless LAN device configuration
3 #
4
5 menuconfig WLAN
……
286 source drivers/net/wireless/rsi/Kconfig
287 source drivers/net/wireless/realtek/Kconfig
286
289 endif # WLAN第287 行就是添加到drivers/net/wireless/Kconfig 中的内容这样WIFI 驱动的配置界面才 会出现在Linux 内核配置界面上。
5、修改drivers/net/wireless/Makefile 打开drivers/net/wireless/Makefile在里面加入下面一行内容
obj-y realtek/修改完以后的Makefile 文件内容如下所示
示例代码70.1.1.6 drivers/net/wireless/Makefile 文件内容
1 #
2 # Makefile for the Linux Wireless network device drivers.
3 #
4
5 obj-\((CONFIG_IPW2100) ipw2x00/
......
62 obj-\)(CONFIG_CW1200) cw1200/
63 obj-$(CONFIG_RSI_91X) rsi/
64
65 obj-y realtek/第65 行编译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 controller2、配置支持WIFI 设备 配置路径如下
- 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配置完如图70.1.2.1 所示 3、配置支持IEEE 802.11 配置路径如下
- Networking support- -- Wireless- [] cfg80211 wireless extensions compatibility- * Generic IEEE 802.11 Networking Stack (mac80211)配置完如图70.1.2.2 所示 配置好以后重新编译一下Linux 内核得到新的zImage后面使用新编译出来的zImage 启 动系统。 编译WIFI 驱动 执行“make menuconfig”命令打开Linux 内核配置界面然后按照如下路径选择将rtl81xx 驱动编译为模块
- 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配置结果如图70.1.3.1 所示 图70.1.3.1 中的配置界面就是我们添加进去的WIFI 配置界面选中“rtl8189fs/ftv sdio wifi”、 “rtl8188eus usb wifi”和“Realtek 8192C USB WiFi”将其编译为模块。执行如下命令编译模 块
make modules -j12 //编译驱动模块编译完成以后就会在rtl8188EUS、rtl8189FS 和rtl8192CU 文件夹下分别生成8188eu.ko、 8189fs.ko 和8192cu.ko 这三个.ko 文件结果如图70.1.3.2 所示 图70.1.3.2 中的8188eu.ko、8189fs.ko 和8192cu.ko 就是我们需要的RTL8188EUS、 RTL8189FS 和RTL8188CUS/8192CU 的驱动模块文件将这三个文件拷贝到
rootfs/lib/modules/4.1.15 目录中命令如下
sudo cp 8189fs.ko /home/zuozhongkai/linux/nfs/rootfs/lib/modules/4.1.15/ -rf
sudo cp 8188eu.ko /home/zuozhongkai/linux/nfs/rootfs/lib/modules/4.1.15/ -rf
sudo cp 8192cu.ko /home/zuozhongkai/linux/nfs/rootfs/lib/modules/4.1.15/ -rf因为我们重新配置过Linux 内核因此也需要使用新的zImage 启动将新编译出来的zImage 镜像文件拷贝到Ubuntu 中的tftpboot 目录下命令如下
cp arch/arm/boot/zImage /home/zuozhongkai/linux/tftpboot/ -f然后重启开发板
驱动加载测试
1、RTL8188 USB WIFI 驱动测试 重启以后我们试着加载一下8188eu.ko、8189fs.ko 和8192cu.ko 这三个驱动文件首先测试 一下RTL8188 的驱动文件将RTL8188 WIFI 模块插到开发板的USB HOST 接口上。进入到目 录lib/modules/4.1.15 中输入如下命令加载8188eu.ko 这个驱动模块:
depmod //第一次加载驱动的时候需要运行此命令
modprobe 8188eu.ko //RTL8188EUS 模块加载8188eu.ko 模块
modprobe 8192cu.ko //RTL8188CUS 模块加载8192cu.ko 模块如果驱动加载成功的话如图70.1.4.1 所示
输入“ifconfig -a”命令查看wlanX(X0….n)网卡是否存在一般都是wlan0除非板子 上有多个WIFI 模块在工作结果如图70.1.4.2 所示 从图70.1.4.2 中可以看出当前开发板有一个叫做“wlan0”的网卡这个就是RTL8188 对 应的网卡。 2、RTL8189 SDIO WIFI 驱动测试 测试完RTL8188 以后再来测试一下RTL8189 这个SDIO WIFI因为I.MX6U-ALPHA 开 发板的SDIO WIFI 接口与SD 卡公用一个SDIO 接口。因此SD 卡和SDIO WIFI 只能二选其一 一次只能一个工作所以测试RTL8189 SDIO WIFI 的时候需要拔插SD 卡。SDIO WIFI 接口原 理图如图70.1.4.3 所示 测试开始之前要先将SD 卡拔出然后将RTL8189 SDIO WIFI 模块插入到SDIO WIFI 座子 上如图70.1.4.4 所示 SDIO WIFI 与开发板连接好以后就可以测试了输入如下命令加载8189fs.ko 这个驱动模 块: depmod //第一次加载驱动的时候需要运行此命令 modprobe 8189eu.ko //加载驱动模块如果驱动加载成功的话如图70.1.4.5 所示 从70.1.4.5 可以看出RTL8189 SDIO WIFI 驱动加载成功同样使用“ifconfig -a”命令查 看一下是否有wlanX(X0…n)网卡存在如果有的话就说明RTL8189 SDIO WIFI 驱动工作正常。 不管是RTL8188 USB WIFI 还是RTL8189 SDIO WIFI驱动测试都工作正常但是我们得 能联网啊不能联网的话要他有什么用呢WIFI 要想联网需要移植一些其他第三方组件否 则无法连接路由器接下来我们就移植这些第三方组件。 wireless tools 工具移植与测试 wireless tools 移植 wireless tools 是操作WIFI 的工具集合包括一下工具 ①、iwconfig设置无线网络相关参数。 ②、iwlist扫描当前无线网络信息获取WIFI 热点。 ③、iwspy获取每个节点链接的质量。 ④、iwpriv操作WirelessExtensions 特定驱动。 ⑤、ifrename基于各种静态标准命名接口。 我们最常用的就是iwlist 和iwconfig 这两个工具首先获取到相应的源码包这里我们已 经放到了开发板光盘中路径为1、例程源码-》7、第三方库源码-》iwlist_for_visteon-master.tar.bz2。 将iwlist_for_visteon-master.tar.bz2 拷贝到Ubuntu 中前面创建的tool 目录下拷贝完成以后将其 解压生成iwlist_for_visteon-master 文件夹。进入到iwlist_for_visteon-master 文件夹里面打开 Makefile 文件修改Makefile 中的CC、AR 和RANLIB 这三个变量修改后的值如图70.2.1.1 所示 图70.2.1.1 中CC、AR 和RANLIB 这三个变量为所使用的编译器工具将其改为我们所使 用的arm-linux-gnueabihf-xxx 工具即可。修改完成以后就可以使用如下命令编译 make clean //先清理一下工程 make //编译编译完成以后就会在当前目录下生成iwlist、iwconfig、iwspy、iwpriv、ifrename 这5 个工 具另外还有很重要的libiw.so.29 这个库文件。将这5 个工具拷贝到开发板根文件系统下的 /usr/bin 目录中将libiw.so.29 这个库文件拷贝到开发板根文件系统下的/usr/lib 目录中命令如 下 sudo cp iwlist iwconfig iwspy iwpriv ifrename /home/zuozhongkai/linux/nfs/rootfs/usr/bin/ -f sudo cp libiw.so.29 /home/zuozhongkai/linux/nfs/rootfs/usr/lib/ -f拷贝完成以后可以测试iwlist 是否工作正常。 wireless tools 工具测试 这里我们主要测试一下iwlist 工具要测试iwlist 工具先测试一下iwlist 工具能不能工作 输入iwlist 命令如果输出图70.2.2.1 所示信息就表明iwlist 工具工作正常。 正式测试iwlist 之前得先让WIFI 模块工作起来。RTL8188 或RTL8189 都可以以RTL8188 USB WIFI 为例先将RTL8188 WIFI 模块插到开发板的USB HOST 接口上然后加载RTL8188 驱动模块8188eu.ko驱动加载成功以后在打开wlan0 网卡命令如下 modprobe 8188eu.ko //加载RTL8188 驱动模块 ifconfig wlan0 up //打开wlan0 网卡wlan0 网卡打开以后就可以使用iwlist 命令查找当前环境下的WIFI 热点信息也就是无线 路由器输入如下命令 iwlist wlan0 scan上述命令就会搜索当前环境下的所有WIFI 热点然后将这些热点的信息信息答应出来 包括MAC 地址、ESSID(WIFI 名字)、频率、速率信号质量等等如图70.2.2.2 所示 在扫描到的所有热点信息中找到自己要连接的WIFI 热点比如我要连接到“ZZK”这个热 点上这个WIFI 热点信息如图70.2.2.3 所示 可以看出“ZZK”这个热点信息已经被扫描到了因此可以连接。要想连接到指定的WIFI 热点上就需要用到wpa_supplicant 工具所以接下来就是移植此工具。 wpa_supplicant 移植 openssl 移植 wpa_supplicant 依赖于openssl因此需要先移植opensslopenssl 源码已经放到了开发板光 盘中路径为1、例程源码-》7、第三方库源码-》openssl-1.1.1d.tar.gz。将openssl 源码压缩包 拷贝到Ubuntu 中前面创建的tool 目录下然后使用如下命令将其解压 tar -vxzf openssl-1.1.1d.tar.gz解压完成以后就会生成一个名为openssl-1.1.1d 的目录然后在新建一个名为“openssl”的 文件夹用于存放openssl 的编译结果。进入到解压出来的openssl-1.1.1d 目录中然后执行如 下命令进行配置 ./Configure linux-armv4 shared no-asm –prefix/home/zuozhongkai/linux/IMX6ULL/tool/openssl CROSS_COMPILEarm-linux-gnueabihf-上述配置中“linux-armv4”表示32 位ARM 凭条并没有“linux-armv7”这个选项。 CROSS_COMPILE 用于指定交叉编译器。配置成功以后会生成Makefile输入如下命令进行编 译 make make install编译安装完成以后的openssl 目录内容如图70.3.1.1 所示 将图70.3.1.1 中的lib 目录是我们需要的将lib 目录下的libcrypto 和libssl 库拷贝到开发 板根文件系统中的/usr/lib 目录下命令如下 sudo cp libcrypto.so* /home/zuozhongkai/linux/nfs/rootfs/lib/ -af sudo cp libssl.so* /home/zuozhongkai/linux/nfs/rootfs/lib/ -aflibnl 库移植 在编译libnl 之前先安装biosn 和flex命令如下 sudo apt-get install bison sudo apt-get install flexwpa_supplicant 也依赖于libnl因此还需要移植一下libnl 库libnl 源码已经放到了开发板 光盘中路径为1、例程源码-》7、第三方库源码-》libnl-3.2.23.tar.gz。将libnl 源码压缩包拷 贝到Ubuntu 中前面创建的tool 目录下然后使用如下命令将其解压 tar -vxzf libnl-3.2.23.tar.gz得到解压完成以后会得到libnl-3.2.23 文件夹然后在新建一个名为“libnl”的文件夹用 于存放libnl 的编译结果。进入到libnl-3.2.23 文件夹中然后执行如下命令进行配置 ./configure –hostarm-linux-gnueabihf –prefix/home/zuozhongkai/linux/IMX6ULL/tool/libnl/–host 用于指定交叉编译器的前缀这里设置为“arm-linux-gnueabihf”–prefix 用于指定编 译结果存放目录这里肯定要设置为我们刚刚创建的libnl 文件夹。配置完成以后就可以执行如 下命令对libnl 库进行编译、安装 make -j12 //编译 make install //安装编译安装完成以后的libnl 目录如图70.3.2.1 所示 我们需要图70.3.2.1 中lib 目录下的libnl 库文件将lib 目录下的所有文件拷贝到开发板根 文件系统的/usr/lib 目录下命令如下所示 sudo cp lib/* /home/zuozhongkai/linux/nfs/rootfs/usr/lib/ -rfwpa_supplicant 移植 接下来移植wpa_supplicantwpa_supplicant 源码我们已经放到了开发板光盘中路径为 1、例程源码-7、第三方库源码-wpa_supplicant-2.7.tar.gz将wpa_supplicant-2.7.tar.gz 拷贝到 Ubuntu 中输入如下命令进行解压 tar -vxzf wpa_supplicant-2.7.tar.gz解压完成以后会得到wpa_supplicant-2.7 文件夹进入到此文件夹中wpa_supplicant-2.7 目 录内容如图70.3.3.1 所示
进入到图70.3.3.1 中的wpa_supplicant 目录下然后进行配置wpa_supplicant 的配置比较 特殊需要将wpa_supplicant 下的defconfig 文件拷贝一份并重命名为.config命令如下 cd wpa_supplicant/ cp defconfig .config完成以后打开.config 文件在里面指定交叉编译器、openssl、libnl 库和头文件路径设置 如下 示例代码70.3.3.1 .config 文件需要添加的内容 1 CC arm-linux-gnueabihf-gcc 2 3 #openssl库和头文件路径 4 CFLAGS -I/home/zuozhongkai/linux/IMX6ULL/tool/openssl/include 5 LIBS -L/home/zuozhongkai/linux/IMX6ULL/tool/openssl/lib -lssl-lcrypto 6 7 #libnl库和头文件路径 8 CFLAGS -I/home/zuozhongkai/linux/IMX6ULL/tool/libnl/include/libnl3 9 LIBS -L/home/zuozhongkai/linux/IMX6ULL/tool/libnl/libCC 变量用于指定交叉编译器这里就是arm-linux-gnueabihf-gccCFLAGS 指定需要使用 的库头文件路径LIBS 指定需要用到的库路径。编译wap_supplicant 的时候需要用到openssl 和 libnl 库所以示例代码70.3.3.1 中指定了这两个的库路径和头文件路径。上述内容在.config 中 的位置见图70.3.3.2 .config 文件配置好以后就可以编译wpa_supplicant 了使用如下命令编译 export PKG_CONFIG_PATH/home/zuozhongkai/linux/IMX6ULL/tool/libnl/lib/pkgconfig:$PKG_CONFIG_PATH //指定libnl 库pkgconfig 包位置 make -j12 //编译首先我们使用export 指定了libnl 库的pkgconfig 路径环境变量PKG_CONFIG_PATH 保 存着pkgconfig 包路径。在tool/libnl/lib/下有个名为“pkgconfig”的目录如图70.3.3.3 所示 编译wpa_supplicant 的时候是需要指定libnl 的pkgconfig 路径否则会提示“libnl-3.0”或 者“libnl-3.0.pc”找不到等错误。编译完成以后就会在本目录下生成wpa_supplicant 和wpa_cli 这两个软件如图70.3.3.3 所示 将图70.3.3.3 中的wpa_cli 和wpa_supplicant 这两个文件拷贝到开发板根文件系统的/usr/bin 目录中命令如下 sudo cp wpa_cli wpa_supplicant /home/zuozhongkai/linux/nfs/rootfs/usr/bin/ -f拷贝完成以后重启开发板输入“wpa_supplicant -v”命令查看一下wpa_supplicant 版本号 如果wpa_supplicant 工作正常的话就会打印出版本号如图70.3.3.4 所示 从图70.3.3.4 可以看出wpa_supplicant 的版本号输出正常说明wpa_supplicant 移植成 功接下来就是使用wpa_supplicant 将开发板的WIFI 链接到路由器上实现WIFI 上网功能。 WIFI 联网测试 不管是USB WIFI 还是SDIO WIFI联网的操作步骤如下所示 ①、插上WIFI 模块如果是板子集成的就不需要这一步。如果是SDIO WIFI 的话确保WIFI 所使用的SDIO 接口没有插其他的模块比如SD 卡防止其他模块对SDIO WIFI 造成影响。 ②、加载RTL8188 或者RTL8189 驱动模块。 ③、使用ifconfig 命令打开对应的无线网卡比如wlan0 或wlan1…… ④、无线网卡打开以后使用iwlist 命令扫描一下当前环境下的WIFI 热点一来测试一下 WIFI 工作是否正常。二来检查一下自己要连接的WIFI 热点能不能扫描到扫描不到的话肯定 就没法连接了。 当上述步骤确认无误以后就可以使用wpa_supplicant 来将WIFI 连接到指定的热点上实现 联网功能。 RTL8188 USB WIFI 联网测试 注意RTL8188EUS 请使用8188eu.ko 驱动RTL8188CUS 请使用8192cu.ko 驱动 首先测试一下RTL8188 USB WIFI 联网测试确保RTL8188 能扫描出要连接的WIFI 热点 比如我要连接“ZZK”这个WIFIiwlist 扫描到的此WIFI 热点信息如图70.4.1.1 所示 要连接的WIFI 热点扫描到以后就可以连接了先在开发板根文件系统的/etc 目录下创建一 个名为“wpa_supplicant.conf”的配置文件此文件用于配置要连接的WIFI 热点以及WIFI 秘 密比如我要连接到“ZZK”这个热点上因此wpa_supplicant.conf 文件内容如下所示 示例代码70.4.1.1 wpa_supplicant.conf 文件内容 1 ctrl_interface/var/run/wpa_supplicant 2 ap_scan1 3 network{ 4 ssidZZK 5 pskxxxxxxxx 6 }第4 行ssid 是要连接的WIFI 热点名字这里我要连接的是“ZZK”这个WIFI 热点。 第5 行psk 就是要连接的WIFI 热点密码根据自己的实际情况填写即可。 注意wpa_supplicant.conf 文件对于格式要求比较严格“”前后一定不能有空格也不要 用TAB 键来缩进比如第4 行和5 行的缩进应该采用空格否则的话会出现wpa_supplicant.conf 文件解析错误最重要的一点wpa_supplicant.conf 文件内容要自己手动输入不要偷懒复制粘 贴 wpa_supplicant.conf 文件编写好以后再在开发板根文件系统下创建一个 “/var/run/wpa_supplicant”目录wpa_supplicant 工具要用到此目录命令如下 mkdir /var/run/wpa_supplicant -p一切准备好以后就可以使用wpa_supplicant 工具让RTL8188 USB WIFI 连接到热点上输 入如下命令 wpa_supplicant -D wext -c /etc/wpa_supplicant.conf -i wlan0 当RTL8188 连接上WIFI 热点以后会输出如图70.4.1.2 所示的信息
从图70.4.1.2 可以看出当RTL8188 连接到WIFI 热点上以后会输出“wlan0: CTRL-EVENT- CONNECTED”字样。接下来就是最后一步了设置wlan0 的IP 地址这里使用udhcpc 命令 从路由器申请IP 地址输入如下命令 udhcpc -i wlan0 //从路由器获取IP 地址IP 地址获取成功以后会输出如图70.4.2.2 所示信息 从图70.4.2.2 可以看出wlan0 的IP 地址获取成功IP 地址为192.168.1.126。可以输入如 下命令查看一下wlan0 网卡的详细信息 ifconfig wlan0结果如图70.4.2.3 所示 可以通过电脑ping 一下wlan0 的192.168.1.126 这个IP 地址如果能ping 通就说明RTL8188 USB WIFI 工作正常。也可以直接在开发板上使用wlan0 来ping 一下百度网站输入如下命令 ping -I 192.168.1.126 www.baidu.com-I 是指定执行ping 操作的网卡IP 地址我们要使用wlan0 去ping 百度网站因此要通过 “-I”指定wlan0 的IP 地址。如果WIFI 工作正常的话就可以ping 通百度网站如图70.4.2.4 所示 至此RTL8188 USB WIFI 我们就完全驱动起来了大家就可以使用WIFI 来进行网络通信 了。 RTL8189 SDIO WIFI 联网测试 RLT8189 SDIO WIFI 的测试和RTL8188 USB WIFI 的测试方法基本一致如果插了SD 卡 的话先将SD 卡从I.MX6U-ALPHA 开发板上拔出因为I.MX6U-ALPHA 开发板的SD 卡和 SDIO WIFI 公用一个SDIO 接口。插入RTL8189 SDIO WIFI 模块然后加载RTL8189 驱动并 且打开对应的wlan0(如果只有RTL8189 一个WIFI 的话)网卡使用iwlist 命令搜索要连接的 WIFI 热点是否存在如果存在的话就可以连接了。 RTL8189 SDIO WIFI 同样使用wpa_supplicant 来完成热点连接工作因此同样需要创建 /etc/wpa_supplicant.conf 文件具体过程参考70.4.1 小节。一切准备就绪以后输入如下命令来完 成WIFI 热点连接 wpa_supplicant -Dnl80211 -c /etc/wpa_supplicant.conf -i wlan0 注意红色字体使用RTL8189 的话应该使用“-Dnl80211”这里不要填错了WIFI 热点连 接成功以后会输出如图70.4.2.1 所示信息
使用udhcpc 命令获取IP 地址命令如下 udhcpc -i wlan0IP 地址获取过程如图70.4.2.2 所示 从图70.4.2.2 可以看出wlan0 的IP 地址为192.168.1.118大家可以使用“ifconfig wlan0” 查看一下wlan0 网卡的详细信息。可以通过电脑ping 一下192.168.1.118 测试WIFI 是否工作正 常或者在开发板上使用wlan0 网卡ping 一下百度网址来测试一下WIFI 工作是否正常输入 如下命令 ping -I 192.168.1.118 www.baidu.com如果ping 成功的话结果如图70.4.2.3 所示 至此如何在I.MX6U-ALPHA 开发板上使用WIFI 就全部讲解完了包括USB WIFI 和 SDIO WIFI。其实不管是在I.MX6U 上还是在其他的SOC 上USB WIFI 和SDIO WIFI 的驱动都是类似的大家可以参考本章教程讲RTL8188、RTL8189 这两款WIFI 的驱动移植到芯片或者开发板上。
- 上一篇: 龙泉网站开发科技网站设计公司有哪些
- 下一篇: 龙泉驿网站seo沈阳又一烂尾项目复工
相关文章
-
龙泉网站开发科技网站设计公司有哪些
龙泉网站开发科技网站设计公司有哪些
- 技术栈
- 2026年04月20日
-
龙门城乡规划建设局网站网站做照片
龙门城乡规划建设局网站网站做照片
- 技术栈
- 2026年04月20日
-
龙口网站建设公司哪家好wordpress如何迁移
龙口网站建设公司哪家好wordpress如何迁移
- 技术栈
- 2026年04月20日
-
龙泉驿网站seo沈阳又一烂尾项目复工
龙泉驿网站seo沈阳又一烂尾项目复工
- 技术栈
- 2026年04月20日
-
龙岩任做网站的哪几个比较好美食网页设计素材
龙岩任做网站的哪几个比较好美食网页设计素材
- 技术栈
- 2026年04月20日
-
龙岩网站报价网站分析软件
龙岩网站报价网站分析软件
- 技术栈
- 2026年04月20日
