i.MX6ULL  CYW43455 WiFi 功能测试

关键字 :i.MX8i.MX6BSPNXP

在 IMX 系列项目中,很多时候需要 WiFi 功能,比如基于 i.MX 的网关以及带 OTA 功能的项目等等,本文介绍了在 i.MX6ULL平台,使用 CYW4345 WiFi芯片,并使用开源的 wpa_supplicant 工具,测试WiFi 功能方法。WPAWiFi Protected Access的缩写,中文含义为“WiFi网络安全存取。WPA是一种基于标准的可互操作的WLAN安全性增强解决方案,可大大增强现有以及未来无线局域网络的数据保护和访问控制水平。 wpa_supplicant是一个开源项目,已经被移植到LinuxWindows以及很多嵌入式系统上。它是WPA的应用层认证客户端,负责完成认证相关的登录、加密等工作。


               图(1) 带 CYW43455 WiFi 芯片的i.MX6ULL 开发板

一、编译镜像,i.MX6ULL YOCTO 镜像默认集成了 wpa_supplicant

  1. 在已有的 Yocto 项目中,修改文件 imx6ullevk-x11/conf/local.conf ,增加如下设置:

UBOOT_CONFIG = “emmc”

 

  1. 编译u-boot :

$ bitbake -c compile u-boot-imx

$ bitbake -c deploy u-boot-imx

      

          在路径 imx6ullevk-x11/tmp/deploy/images/imx6ull14x14evk 生成 u-boot-emmc-2018.03.r0.imx 。

 

  1. 将开发板调整至 Serial Download 模式,将需要烧录的镜像放置在 UUU 同一文件 夹下:

uboot:u-boot-emmc-2018.03.r0.imx

打包镜像文件:core-image-base-imx6ull14x14evk-DATE.rootfs.sdcard.bz2

(DATE 为文件生成时间)

 

  1. 执行烧录命令:

$ bzip2 -dk core-image-base-imx6ull14x14evk-DATE.rootfs.sdcard.bz2

$ sudo ./uuu emmc_all u-boot-emmc-2018.03.r0.imx core-image-base-imx6ull14x14evk-DATE.rootfs.sdcard

 

       此处所用 rootfs.sdcard 是原 Yocto 项目生成的可烧录至 SD 卡中的镜像文件,在本操作中也适用。

 

二、启动 WiFi 功能

  1. 将开发板调整至 EMMC 启动模式,接入串口,此处使用 minicom 查看串口信息。如下图所示。

 

      

  1. 进入 u-boot 控制台,查看环境变量并选择设备树文件:
 

 

       由于 i.MX6ULL 默认的设备树配置没有支持 wifi 功能,因此需要执行如下命令:

=> pri

=> setenv fdt_file imx6ull-14x14-evk-btwifi.dtb

=> saveenv

=> boot

 

      执行以上命令后,内核将匹配 imx6ull-14x14-evk-btwifi.dtb,该设备树下包含了 WiFi 的设备配置。

 

 

  1. 启动以后进入 root 命令行模式,配置运行 wpa supplicant 程序。

# iwconfig

# ifconfig wlan0

# wpa_supplicant -B -i wlan0 -D nl80211 -c /etc/wpa_supplicant.conf

  

     其中 -B 指桥接口名称,-D 指驱动类型名称, -c 指读取的配置文件名称。启动后如下图所示。

 

 

 

4.使用 wpa测试 WiFi 功能,命令如下:

# wpa_cli -i wlan0

> scan                         // 搜索附近 WiFi,搜索结束后回车即可

> scan_result                    // 查看搜索到的信号结果

> add_network                  // 增加网络

> set_network 1 ssid “wifi test”     // 选择附近的某一 WiFi

> set_network 1 psk “12345678.”    // 设置密码

 

> select_network 1                 // 连接 WiFi

> status                          // 查看 WiFi 连接情况

> q

# udhcpc -i wlan0

 

测试结果如下图所示:

  • 配置 WiFi客户端功能,扫描 wifi 热点,列出附近的所有热点名称

 

  • 选择一个网络并加入,

   

 

  • 上网测试:连接百度 IP,数据传输 OK!

 

  

 

参考文献:

  1. https://blog.csdn.net/yunlong654/article/details/88655685
  2. MX_Yocto_Project_User's_Guide.PDF

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论