wifi porting 文件和目录
porting wifi 主要分为两个部分,源码的修改和配置文件的修改,其中配置文件的
修改包括源码未编译时配置文件的修改和源码编译后的配置文件修改,下面就这两
部分分析:
A:android 未编译时的配置文件修改和源码修改
1:/android-cupcake/build/target/board/generic/ BoardConfig.mk
确定是否存在 HAVE_CUSTOM_WIFI_DRIVER_2 := true,如果没有则添加该选项
/android-eclair/external/wpa_supplicant/.config.h
确定.config.h 中,是否存在以下 3 个选项
CONFIG_WIRELESS_EXTENSION=y
CONFIG_CTRL_IFACE=y
CONFIG_DRIVER_WEXT=y
以上是支持 wifi 驱动的选项!
2:修改的源码文件
2.1/android-cupcake/system/wlan/ti/sta_dk_4_0_4_32/CUDK/tiwlan_loader/ti
wlan_loader.c
这个文件修改的 tiwlan_loader 服务,这个服务在 android1.5 中需要返回成功,表
示加载 wifi 的固件到 eeprom 中成功,而实际内核在加载 wifi 驱动的时候,同时加
载了固件(即提供的 bin 文件)。但是在 android2.0 中,这个服务不是必须的!在
编译 tiwlan_loader.c 时需要
/android-cupcake/system/wlan/ti/sta_dk_4_0_4_32/CUDK/UtilityAdapter 编译
出来的库。
2.2/android-cupcake/hardware/libhardware_legacy/wifi/wifi.c
这个是 porting wifi 驱动的最重要的文件,其中包括驱动加载,连接
wpa_supplicant 服务都是在 wifi.c 中完成。所以要修改驱动加载的网络接口名和
相关的宏。
2.3/android-cupcake/frameworks/base/wifi/java/android/net/wifi
这个目录下是 wifi 中相关的 java 代码,其中修改的 WifiStateTracker.java,这
个主要修改 dhcp 时,获取动态 ip 地址的网络接口名。
2.4 external/wpa_supplicant/wpa_ctrl.c
这个主要修改 wpa_supplicatn 连接时的权限,wpa_supplicant 服务启动的时候客
户端和服务端通过 unix socket 通信,JAVA UI 界面是通过此 socket 文件与驱动联
评论4