于搭载 Android 13 或更高版本的设备,Android 支持 Wi-Fi 7 (IEEE 802.11be) 标准。本页将介绍 Android Wi-Fi 7 的功能,包括基准和多链路操作 (MLO)。
基准 Wi-Fi 7 功能
本部分介绍了 Android 13 及更高版本中包含的基准 Wi-Fi 7 功能。
支持 Wi-Fi 7 的设备
Android 框架包含 WifiManager#isWifiStandardSupported(int standard) API,其中应用可以使用 ScanResults.WIFI_STANDARD_11BE 参数调用该 API,以检查设备是否支持 Wi-Fi 7。
调用此 API 时,Wi-Fi 模块会检查 config_wifi11beSupportOverride
配置叠加层是否用作替换项,并执行以下操作:
- 如果叠加层设置为
true
,则无论 nl80211 的响应为何,系统都会假定设备支持 Wi-Fi 7。此替换项仅适用于没有返回 Wi-Fi 7 支持信息的驱动程序的设备制造商。 - 如果叠加层设置为
false
(默认值),Wi-Fi 模块将使用 nl80211 中的信息。Wi-Fi 模块会调用 nl80211 命令NL80211_CMD_GET_WIPHY
,向 wificond 请求信息。如果驱动程序的响应中包含NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
属性,则系统会假定设备支持 Wi-Fi 7。
支持 Wi-Fi 7 的扫描的 AP
Android 框架包含 int ScanResult#getWifiStandard() API,其中应用可以调用该 API 来检查扫描的接入点 (AP) 是否支持 Wi-Fi 7。如果 AP 支持 Wi-Fi 7,则该 API 会返回 ScanResults.WIFI_STANDARD_11BE。无需设备支持 Wi-Fi 7,应用即可使用此 API。
调用此 API 时,Wi-Fi 模块会检查连接扫描返回的结果中是否包含 EHT Capability IE
。如果扫描结果中包含 EHT Capability IE
,则表示扫描的 AP 支持 Wi-Fi 7。在详细模式下运行时,AOSP WifiTracker
类会在界面中显示此支持信息。
STA 连接模式
Android 框架包含 int WifiInfo#getWifiStandard() API,其中应用可以调用该 API 来检查当前站点 (STA) 连接模式是否为 Wi-Fi 7。当设备和连接的 AP 都支持 Wi-Fi 7 时,STA 连接模式为 Wi-Fi 7。如果连接模式为 Wi-Fi 7,则该 API 会返回 ScanResults.WIFI_STANDARD_11BE。
当调用 getWifiStandard
时,Wi-Fi 模块会通过调用 ISupplicantStaIface#getConnectionCapabilities()
HAL API 来确定模式。wpa_supplicant
AIDL 层中此 HAL API 的实现会在连接设置期间检查 EHT Capability IE
是否同时位于 AssocReq
和 AssocRsp
。
网络选择
注意:如需了解 Android 14 或更高版本中的网络选择,请参阅网络评分。
在 Android 13 中,网络选择会使用多个参数来确定要连接到哪个 AP。其中一个参数是 AP 的估计吞吐量,它是使用 ThroughputPredictor
代码块进行估算的。ThroughputPredictor
代码块使用设备和扫描的 AP 的 PHY 参数。
在 Android 13 中,ThroughputPredictor
会在计算时使用以下 AP 功能:
- 支持 Wi-Fi 7 (802.11be)
- 支持 320 MHz 信道宽度
当设备可以使用这些功能时,在 ThroughputPredictor
逻辑中纳入这些功能,可提高选择支持 Wi-Fi 7 的 AP 的几率。
基于 Wi-Fi RTT 的范围
Android 为 EHT 前导码和 Wi-Fi RTT 的 320 MHz 信道宽度提供 API 支持。只要芯片支持,RTT 范围内的 Wi-Fi 7 相关功能就会受到支持。
HAL API
以下 HAL API 支持基于 RTT 范围的 Wi-Fi 7 功能:
EHT
:enum RttPreamble 和 enum WifiRatePreamble 中的常量WIDTH_320
:enum WifiChannelWidthInMhz 中的常量BW_320MHz
:enum RttBw 中的常量
API
应用可使用以下 API 实现基于 Wi-Fi 7 RTT 的范围:
- ScanResult#PREAMBLE_EHT
- ResponderConfig#PREAMBLE_EHT (SystemApi)
软 AP
Android 在软 AP 中支持 Wi-Fi 7 并提供以下功能。
启动软 AP
Android 支持在 Wi-Fi 7 模式下启动软 AP。这将受 config_wifiSoftapIeee80211beSupported
叠加层配置的约束。
Wi-Fi 模块使用叠加层 config_wifiSoftapIeee80211beSupported
在 IHostApd#addAccessPoint()
API 调用中设置布尔值 HwModeParams#enable80211BE
。在 hostapd AIDL 层中,此值用于设置 hostapd.conf
参数。
HAL API
hostapd HAL 的 HwModeParams
中的 enable80211BE 布尔值支持在 Wi-Fi 7 模式下启动软 AP。
报告软 AP 信息
Android 包含 API 支持,可在报告的软 AP 信息中纳入 Wi-Fi 7 和 320 MHz 信道宽度信息。
HAL API
hostapd HAL 的