本文以realtek 8192CU WiFi模块为例,介绍USB wifi在Jelly Bean 4.1的调试笔记。
1、WIFI打不开现象概述
WiFi打不开是指您在UI的settings下选中WiFi选项,将其置为on(打开),但最终结果是自动变成off(关闭)、正在打开Wi-Fi、正在扫描等一系列不能正常打开WiFi的提示。
2、问题分析流程
WiFi打不开从硬件和软件两方面进行定位,一般是先硬件,然后软件。总体分析流程如图:
3、确认硬件可以识别
8192CU WiFi模块是基于usb接口,在UI将wifi设置为ON状态,通过串口输入lsusb确认设备可以识别。
红色标记Bus 002 Device 003: ID 0bda:8176就是平台上8192CU usb WiFi的vid和pid,能显示这个说明系统可以正常识别8192CU usb WiFi设备,硬件没问题。
4、确认驱动已加载
确认硬件没问题后,接着查看驱动是否加载,lsmod。
当你在UI的settings里将WiFi置于on状态,如果能正常打开,这时在串口输入lsmod,会有以下结果
红色标记8192cu ko,说明8192CU WiFi 驱动已经成功加载上,如果此时没有看到此ko文件,请切换到平台/system/lib/目录下,查看此目录下是否有8192CU的ko。
可以看到平台下有8192cu.ko。如果您平台下有这个文件,请进入5进行进一步分析,如果您的平台没有这个文件,请进入6进行进一步分析。
5、平台/system/lib下有驱动ko文件
首先确保其权限至少为-rw-r--r--(即644),如果权限不对,请按照下面操作修改权限:
chmod644 8192cu.ko
如果这些都是正常的话请先进行手动加载
手动加载操作说明:先切换到平台/system/lib/目录下,然后进行如下操作:
insmod8192cu.ko
如果手动加载成功的话,请进入a进行下一步分析,如果手动加载不成功的话,请进入b进行下一步分析
a. 手动加载可以成功,说明UI加载不成功应该是系统配置文件不对,没有加载到指定路径的驱动。
如果您是Android 4.1请按照如下配置:
确保device\xxx录下BoardConfig.mk文件中有如下配置