Android Wi-Fi子系统学习笔记

转载地址:http://blog.csdn.net/qq_15062527/article/details/50910740

一、学习目的

了解Android Wi-Fi模组的移植及调试

二、基础知识

1.标志

wifi的两个标志:
(1)无线
(2)基于IEEE802.11协议

2.作用

Android wifi模块的三个作用
(1)连接网络
(2)共享自己,如:屏幕分享
(3)共享自己连接的网络,即开热点给其它终端上网

3.工作模式

Android系统中三种wifi的工作模式:Station、Wi-Fi direct及SoftAP。分别对应wifi模块的三个作用。(注:AP就是传统有线网络中的HUB)

4.频段

wifi工作的两个频段:2.4G和5G

5.协议

802.11a/ac协议 工作在 5GHz
802.11 b/g/n协议 工作在2.4GHz

6.WPS

WPS,即Wi-FiProtected Setup Wi-Fi,密码保护设置。支持WPS的设备要连接支持WPS(带按钮)的AP,无需输入密码,在设备端使用WPS功能,然后按AP的WPS键,即可以自动连接上AP,无需手动输入密码。WPS的初衷是为了快速连接,避免用户输入繁琐的wpa密码,但是pin码又过于简单了。

7.Wi-Fi建立数据连接的流程:

Wi-Fi应用初始化——->打开Wi-Fi—–> 开始扫描AP——-> 显示AP——>配置AP —–>连接AP —–>获取IP地址

8.各功能模块分析

(1)wifi setting
响应用户请求,对wifi进行相关设置。如:打开/关闭wifi、显示AP列表、选择AP进行配置等。
相关代码目录:
packages/apps/Settings/src/com/android/settings/wifi/
(2)wifi/p2p server
Wifi API封装。响应settings 的命令,管理wifi状态机,监听supplicant消息。
相关代码目录:
frameworks/base/wifi/Java/android/net/wifi/
frameworks/base/services/java/com/android/server/
(3)wifi jni
Java与C程序交互。
相关代码目录:
frameworks/base/core/jni/android_net_wifi_WifiNative.cpp
(4)hal
加载wifi驱动,转发上层命令给supplicant及接收supplicant执行结果。
相关代码目录:
hardware/libhardware_legary/wifi/
(5)wpa_supplicant 、wifi Protected Access
上层与驱动的中转站,通过socket与上层、驱动交互。另外包括加密认证功能,支持WEP,WPA/WPA2和WAPI无线协议和加密认证。
相关代码目录:
external/wpa_supplicant_8/
(6)Wi-Fi 驱动、WiFi接口驱动
相关代码目录:
\Linux-3.4\drivers\net\wireless\
\linux-3.4\drivers\mmc\
\linux-3.4\drviers\usb\

三、Others

1.如果对init.rc文件进行了修改,在编译Android之前,需要执行make installclean命令。如果对Boardconfig.mk文件进行了修改,需要在编译Android之前执行make clean命令。否则,在文件中做的修改不会作用于新的方案。
2.busybox lsusb
查看挂载到当前系统的usb设备。主要用来查看usb接口的wifi是否被系统正常识别。
3.cat insert
查看sdio 接口wifi是否被系统正常识别,手动扫描sdio接口Wi-Fi。
4.netcfg
Linux网络配置命令,用来查看wifi相关的wlan0和p2p0网口是否注册成功,是否分配到IP地址。
5.ifconfig wlan0 up/down
网络端口使能和关闭,主要用于android或linux系统,手动操作网口。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值