RK3288-WIFI兼容调试方法详解

需积分: 0 3 下载量 82 浏览量 更新于2024-08-04 收藏 193KB DOCX 举报
RK3288-WIFI兼容调试方法 **一、背景及问题** RK3288平台上有ATV1560K和ATV1660K两个产品,代码是同一份,WIFI部分做过自动兼容。本文档记录新的WIFI兼容调试方法。 **二、调试记录** ### 1. 模块上电 模块上电部分没有改动,按照原理图实际情况配置dts即可。 ### 2. USBWIFI底层驱动调试方法 USBWIFI底层驱动是做成ko文件,调试新的wifi的时候也需要将驱动编译成ko文件。例如realtek系列的,可以在驱动里面,把文件usb_intf.c的驱动加载模式改为module的。然后makemenuconfig,将驱动编译成模块ko文件。编译出的模块ko文件放到板子上,命令行下直接insmod文件,看看驱动加载情况,加载成功后,用iwlistwlan0scan命令扫描wifi,能扫描到ssid,则可以确认底层驱动通了。底层驱动好了后,把ko文件拷贝到目录:vendor/rockchip/common/wifi/modules ### 3. SDIOWIFI底层驱动调试方法 目前SDIO的时钟是50MHZ的,也就是SDIO2.0的CLK。如果是支持SDIO3.0的WIFI模块,代码需要另外去更改,RK3288平台的CLK最高可以支持到125M。AP6XXX系列的WIFI驱动用的是通用的博通的驱动boardcom,bcmdhd.ko,博通的这个驱动支持RK901&RK903&AP6XXX,一般情况下不需要再改动驱动了,做wifi兼容之前需要在dts里面配置支持的wifi,但最新的是不需要配置了,配置了也不会生效。ko文件可以直接insmod驱动,然后iwlist扫描wifissid看看是否通了。 ### 4. WIFI模块识别 WIFI兼容的原理是通过PID/VID来区分什么模块。net/rfkill/rfkill-wlan.c文件的prob函数中直接调用上电函数和扫卡函数来区分不同的wifichip。由于USB结构可能比较多,不能单独 ### 5. WPA_SUPPLICANT调试 WPA_SUPPLICANT是linux wifi网络管理工具,用于管理wifi网络连接。调试WIFI兼容相关资料路径:\\192.168.1.8\work\home\zkh\RK\项目资料\ATV1560K\WIFI兼容 ### 六、总结 RK3288-WIFI兼容调试方法是通过模块上电、USBWIFI底层驱动调试方法、SDIOWIFI底层驱动调试方法、WIFI模块识别、WPA_SUPPLICANT调试等步骤来实现的。调试过程中需要注意模块的PID/VID、时钟频率、驱动加载模式等参数的设置。