Wifi模块的启动流程

硬件:muRataZQ BCM89335

开发板:NXP开发板+芯片:i.Mx6SoloX

Linux kernel:4.1.15_2.0.0

内核源码获取:

S:\04_EN13_Projects\XCU\10_image\kernel_src_rel_imx_4.1.15_2.0.0_ga.zip

一:设备树的编译:
  由于NXP提供的Kernel是对muRata的Wifi模块是支持的,所以其默认的编译出的zImage,存在对于Wifi模块的启动的所需文件;启动流程为在Uboot启动时,停留在Uboot中,设置更换设备树文件,选择更换带有Wifi模块的设备树"imx6sx-sabresd-btwifi.dtb"文件,

       => setenv fdt_fileimx6sx-sabresd-btwifi.dtb

       => boot

     注意:由于是我们在这项目中所使用的设备树文件为:imx6sx-sabresd-m4.dtb,所以需要重新将m4与btwifi融合到一起产生新的设备树文件,加载。

      方法:将imx6sx-sabresd-m4.dts与  imx6sx-sabresd-btwifi.dts的文件重新融合,编译生成新的 imx6sx-sabresd-btwifi+M4.dtb,替换加载

二:驱动加载命令:
ifconfig wlan0 up

wpa_supplicant –i wlan0 –c /etc/wpa_supplicant.conf –Dnl80211&

wpa_cli –i wlan0

这个时候会出现交互的命令行,在这个命令行里输入scan就是发起扫描的动作

scan_r 获取scan的结果

add_n 添加一个网络configuration

list_n 这是查询现在已经有的网络configuration

set_n 1 ssid “XCU”      //这个就是你们那边的XCU的AP

set_n 1 key_mgmt WPA-PSK

set_n 1 psk “XCU12345”    //这个就是XCU的密码

enable_n 1                          //这时候,wpa_supplicant会去连接这个AP并提示连接结果

如果连接成功后可以使用udhcpc–i wlan0 来获取IP地址,得到IP地址后,可以Ping网络

文章转载自:CSDN