Android Wi-Fi模块学习计划

第一阶段:Wi-Fi理论基础:

  1. Wi-Fi是什么?
  2. 802.11协议介绍(802.11a到802.11AD)
  3. 相关概念(频谱划分,接收灵敏度2.4GH,信道划分,SSID和BSSID
  4. 无线接入过程三个阶段
  5. Wi-Fi的应用场景和解决方案,相对于其他无线通信的优劣势
  6. omnipeek抓包方法

参考资料https://blog.csdn.net/myarrow/article/details/7930131

https://blog.csdn.net/Innost/article/details/20651445

第二阶段:调用上层API实现相关功能初步熟悉WiFi的工作流程

  1. WiFi热点的创建与关闭
  2. WiFi的搜索与连接
  3. WiFi热点数据的传输

参考资料:

https://blog.csdn.net/a1533588867/article/details/52459996

https://developer.android.com/guide/topics/connectivity/wifi-scan

第三阶段:源码跟踪调试及香瓜bug分析(熟悉WiFi源码实现的过程及原理)(重点掌握)

  1. wifi扫描机制及连接流程(几种场景下的扫描机制:灭屏幕/亮屏/隐藏SSID/广播SSID/已连接状态/未连接状态);
  2. 2.4G与5G 的扫描机制、被动和主动模式,已保存SSID的扫描方式;

       源码相关位置 

  1. wifi快速漫游原理  

       这里只罗列了部分上层相关的类,具体学习时再添加

       /apps/Settings/src/com/android/settings/wifi/WifiSettings.java

              /base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java

              frameworks/base/wifi/java/android/net/wifi/WifiManager.java

              ./opt/net/wifi/service/java/com/android/server/wifi/WifiServiceImpl.java

              ./opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java

              ./opt/net/wifi/service/java/com/android/server/wifi/WifiConnectivityManager.java

       参考资料

       https://blog.csdn.net/h784707460/article/details/79658950

       https://blog.csdn.net/wbw1985/article/details/39320429

       https://blog.csdn.net/izobs_lin/article/details/52857089

       《深入理解Android:WiFi模块 NFC和GPS卷》

 

第四阶段:深入学习Wi-Fi相关模块的功能原理(参考资料后续整理)

WCNSS_conf_cfg.ini中常用配置项(作用及代码流程);

6. wifi快速漫游原理;

7. 802.11常用协议解析1;(beacon、probe_req、probe_rsn、assoc_req、assoc_rsn、auth、deauth);

8. 802.11 常用协议协议2:(reassoc_req、reassoc_rsn、icmp、arp、4hand-key等)

9. 常用加密协议流程1:open/wpa-psk/wpa2-psk/WEP流程;

10. 常用加密协议流程2:EAP-TLS/PEAP的802.11流程;

11. 协议超时及重发机制;

12. DHCP;

13. wifi省电模式(DOZE模式/IPSM/BMSP/设置中的选项);

14. 静态IP;

15. P2P 学习

16. Host AP 学习

17. Miracase 学习

18. WPS 学习

第五阶段: Wi-Fi在物联网以及在智能家居中的应用(参考资料后续整理)

 

你可能感兴趣的:(Wi-Fi)