imx6ull linux下wifi驱动移植

linux下wifi移植,首先要保证硬件gpio相关配置正确,第二步是才是软件相关的配置

一、硬件篇

硬件模块选的是正基ap6745的三合一模块(wifi、bt、fm),wifi通讯用sdio模式传输数据,sdio_vsl决定sdio工作电压是1.8v还是3.3v,同时配置两个gpio,wl_reg控制wifi上电,wl_host_wake给cpu一个中断信号,即wifi以中断方式给cpu传递数据,如果没有配置也可以用poll轮询方式工作。还有xtal的时钟需要,这个时钟可以是cpu输出提供,也可以通过外部晶振自动产生。SDIO就是标准的sdio总线。

硬件分析完就需要在dts中配置了

sdio硬件采用sd1,所以需要配置sd1总线


 

cd-gpio 管脚是sd的cd检测pin,如果没有配置会导致sd卡驱动加载失败。

在config文件中配置宏开关以及固件的路径,至于固件安置在yocto上跟其他平台不一致,后面会单独说明。

做完这些配置,并将bcmdhd驱动文件放置到/driver/net/wireless/目录,并配置好Makefile以及Kconfig文件,同时在驱动文件中药做一下gpio的适配工作,包括上电以及中断脚的配置。

如果编译没有报错,驱动正常加载,可以系统起来之后进入/sys/class/bus/mmc/节点下看是否有mmc0设备(mmc0是我们对应的sdio1驱动对应模块)。一切正常就可以验证wifi功能了。

第二步、wifi软件配置

执行ifup wlan0  //wlan0使我们对应的wifi设备名称

这时从串口的log中会看到wifi上电信息以及固件加载的信息:

 

 

如果信息中没有报错,可以在执行ifconfig 查看当前的设备信息:

这时看到wlan0没有ip地址分配,可以手动配置ifconfig wlan0 192.168.1.100,根据当前局域网环境配置一个ip地址即可,或是启动自动分配地址命令,需要将设备联网,用wpa的模式。

执行之前需要配置wpa_supplicant.conf 文件,文件一般路径在/etc/目录

可以连接成有秘钥或是无秘钥方式,秘钥模式也有几种秘钥明文模式。

#wpa_supplicant -Dnl80211 -i wlan0 -c /etc/wpa_supplicant.conf -d&

执行完上述命令就可以并看到相关信息之后,就可以执行ping通命令以及dhcp自动分配ip地址

udhcpc -i wlan0

执行自动分配ip之后查看ifconfig,可以看到当前以及分配到192.168.0.104地址,再执行ping 192.168.0.8或是ping www.baidu.com 看看网络通信是否正常。

wifi配置基本就是这些,其他的后期再补充。

参考链接:https://blog.csdn.net/sy373466062/article/details/50374683


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部