调试之前,首先先简单看看驱动代码,了解代码的大致工作流程,其次根据硬件配置,软件正确配置wlan_en和wlan_reset的上电和复位部分,如果有中断角,则配置成中断即可。
1、配置上电部分,文件dhd_gpio.c
gpio_wl_reg_on:wlan_en配置角
gpio_wl_host_wake:irq中断角
2、驱动的SDIO功能要打开,比如高通或者RK的dtsi文件里打开即可(否则bcmdhd的probe失败)。
3、期间如果遇到驱动加载失败,可以排查如下方面。
硬件接线是否正确wifi模块供电是否正常(注意如果SDIO通信一直失败找不到原因,可以接上拉电阻试试)
sdio通信CLK是否正确(可适当降低)
软件驱动版本是否支持该linux版本
驱动能否读出wifi芯片的MAC地址
驱动加载过程中read和write时是否有报错
4、驱动加载成功之后,需要启动wlan0。
ifconfig wlan0 up
5、wlan0 up成功之后可以搜索wifi热点测试。
iwlist wlan0 sanning
6、搜索wifi热点成功,则wifi调试功能正常。