android rtl8723bs 调试

来源:互联网 发布:c语言if 编辑:程序博客网 时间:2024/06/07 13:19
平台:imx6 android4.3.0
原来的开发板支持rtl8723bu,这是款usb接口的wifi芯片,公司做回来的板子,也把这个模块做进去了。跟硬件人员调试,
一起处于usb无法枚举成功,从软件上来看,应当是硬件信号问题。但硬件人员发现模块上,第一次上电,android里面配wifi时,可以搜ap。
但再次起动就不能了,第一次温度很高。感 觉模块已经坏了。这些现象说明,软件没有问题,硬件上出现问题了。结果一个资深硬件人员说,这个要插天线
不然要因为xx原因烧板子。且天线长度也要符合2.4G 长度。经过修改天线,android上能正确联wifi上网了。
调试这个驱动,硬件损了几个模块,软件基本没改东西,收获的经验基本没有。由于rtl8723bu温度支持不好,所以sdio的rtl8723bs
还要接着调试。


从官网上找来rt8723bs的驱动源码,把makefile,里照别的平台修了支持imx6平台的宏,编译生成wlan.ko
看官网说明,操作配置部分太多了,搞不懂。对android平台也不熟。我先转到linux里去先把硬件验证了,再想法移过来。




sdio接口:
SDIO_DATA[0~3]//可以支持8线
SDIO_CLK
SDIO_CMD 
SDIO_CD  //检测线
SDIO_WP  // 写保护




在linux里,操作方便多了,每次insmod wlan.ko里,系统里只是提示驱动注册进去了。没有调用probe函数的,从原理上分析,如果
板上能找到设备,肯定会probe的,但实际上没有调用,这儿有可能是硬件信号cd没有进来,要么就是sdio没有配正常。硬件人员示波器测clk信号,是有的,说明配置上没有问题。


sdio3接口没有实际使用过,sdio1是tf卡
飞线不实际,但CD线可以换过来用,也就是交ca测一下。也就是用tf插卡动作引发probe函数。按这个思路测试,真的可以调用到probe函数,从打印信息来看
驱动工作正常,再用iw工具来测,可以list到ap,这样看linux里的驱动基本正常了。可以转到android上来.
先把android下的驱动打到kernel里面去,再从android setting里面去配,功能就正常了。
android里调试没有费力,因为前面框架层已经由rtl8723bu验证过去了,wireless-tools也有的,所以没有什么修改,就调试完成了。
描述上看,没有遇到多少问题,但实际上cd线,sdio通信都不太明确,也费了好长时间去试错。
0 0