Android WiFi基础概览

Android WiFi 基础概览

  • 1、WiFi协议
  • 2、Android WLAN 架构
    • 2.1 应用框架
    • 2.2 Wi-Fi 服务
    • 2.3 Wi-Fi HAL
  • 3、相关编译

android13-release


1、WiFi协议

Wi-Fi(无线通信技术)_百度百科

2.4GHz 频段支持以下标准(802.11b/g/n/ax),5GHz 频段支持以下标准(802.11a/n/ac/ax),由此可见,802.11n/ax 同时工作在 2.4GHz 和 5GHz 频段,所以这两个标准是兼容双频工作。

WiFi 版本 WiFi 标准 发布时间 最高速率 工作频段
WiFi 7 IEEE 802.11be 2022年 30Gbps 2.4GHz,5GHz,6GHz
WiFi 6 IEEE 802.11ax 2019 年 11Gbps 2.4GHz 或 5GHz
WiFi 5 IEEE 802.11ac 2014 年 1Gbps 5GHz
WiFi 4 IEEE 802.11n 2009 年 600Mbps 2.4GHz 或 5GHz
WiFi 3 IEEE 802.11g 2003 年 54Mbps 2.4GHz
WiFi 2 IEEE 802.11b 1999 年 11Mbps 2.4GHz
WiFi 1 IEEE 802.11a 1999 年 54Mbps 5GHz
WiFi 0 IEEE 802.11 1997 年 2Mbps 2.4GHz
2.4GHz(802.11b/g/n/ax),5GHz(802.11a/n/ac/ax)

2、Android WLAN 架构

Android WiFi基础概览_第1张图片

2.1 应用框架

应用代码位于应用框架级别,它使用各种 android.net.wifi API 与 WLAN 框架和硬件进行交互。此代码在内部通过 Binder IPC 机制调用 WLAN 进程。

SystemUI:
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiIcons.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiState.kt
frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java

Settings:
packages/apps/Settings/src/com/android/settings/network/NetworkProviderSettings.java
packages/apps/Settings/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java

2.2 Wi-Fi 服务

Wi-Fi 服务在系统服务中运行,这类服务位于 packages/modules/Wifi/service/ ( frameworks/opt/net/wifi ) 中。Wi-Fi 服务通过 HIDLWi-Fi HAL 进行通信。

Wi-Fi 服务有很多种:

  • WLAN 服务: 用于控制 WLAN 基础架构模式(包括 STA 和 AP)的主要机制。
  • WLAN 点对点服务: 管理 WLAN 直连模式。
  • WLAN 感知服务: 管理 WLAN 感知模式。
  • Wi-Fi RTT 服务: 管理 IEEE 802.11mc FTM 功能。

此外,Wi-Fi 框架还包含一个独立的 wificond 进程,该进程位于 system/connectivity/wificond 中。wificond 进程通过标准的 nl80211 命令与 Wi-Fi 驱动程序进行通信。

Android WiFi基础概览_第2张图片

2.3 Wi-Fi HAL

WLAN 框架具有三个 WLAN HAL 表面,分别由三个不同的 HIDL 软件包表示:供应商 HAL客户端 HALHostapd HAL

  • 供应商 HAL: Android 专用命令的 HAL surface。HIDL 文件位于 hardware/interfaces/wifi/1.x 中。
  • 客户端 HAL: wpa_supplicant 的 HAL surface。HIDL 文件位于 hardware/interfaces/wifi/supplicant/1.x 中,AIDL 文件位于 hardware/interfaces/supplicant/aidl 中。
  • Hostapd HAL: hostapd 的 HAL surface。HIDL 文件位于 hardware/interfaces/wifi/hostapd/1.x 中,AIDL 文件位于 hardware/interfaces/wifi/hostapd/aidl 中。

Android WiFi基础概览_第3张图片

3、相关编译

hardware/interfaces/wifi

  1. [email protected]
    hardware/interfaces/wifi/1.6/default/[email protected]
    hardware/interfaces/wifi/1.6/default/Android.bp
    hardware/interfaces/wifi/1.6/Android.bp
  2. wpa_supplicant
    hardware/interfaces/wifi/supplicant/1.4/Android.bp
    hardware/interfaces/wifi/supplicant/aidl/Android.bp
  3. hostapd
    hardware/interfaces/wifi/hostapd/1.3/Android.bp
    hardware/interfaces/wifi/hostapd/aidl/Android.bp

packages/modules/Wifi

  1. service-wifi : packages/modules/Wifi/service/Android.bp
  2. framework-wifi : packages/modules/Wifi/framework/Android.bp
    在这里插入图片描述

frameworks/opt/net/wifi

  1. WifiTrackerLib : frameworks/opt/net/wifi/libs/WifiTrackerLib/Android.bp ( SystemUI/Settings编译应用导入该包 )

system/connectivity/wificond

  1. wificond : system/connectivity/wificond/wificond.rc
    system/connectivity/wificond/Android.bp

在这里插入图片描述

你可能感兴趣的:(Android,WiFI,Android,WiFi)