一、学习目的

了解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系统,手动操作网口。


更多相关文章

  1. [Unity通信]快速接入sdk
  2. 详解Android(安卓)ActionBar之一:ActionBar概述与创建
  3. Android通过xml给控件添加边框
  4. Android(安卓)dumpsys命令的使用
  5. 解析错误:解析软件包时出现问题
  6. 代码在android 8 上面正常运行在 android 9 上面却不能联网问题
  7. Android(安卓)内存溢出解决方案(OOM) 整理总结
  8. eclipse Alt+/ 代码失灵、不响应的解决办法
  9. android 图片旋转 反锯齿

随机推荐

  1. Android中Activity启动模式学习笔记
  2. 关于Android Studio构建失败,导入新项目打
  3. Android之Broadcast Receiver的两种注册
  4. Android知识梳理之自定义View
  5. Capacitor实现WebView中访问的自定义Andr
  6. Android Service的使用方法 音乐播放器实
  7. Cocos2d-x NDK ANDROID VS2010
  8. Android HDMI输出设置流程
  9. Android中实现Activity的透明背景效果
  10. Delphi XE5 for Android(安卓)(十)