Android 12 引入了 Wi-Fi AP/AP 並發,允許設備創建兩個接入點 (AP) 接口。此功能允許設備通過雙頻同步 (DBS) Wi-Fi 熱點(軟 AP)支持網絡共享。有關通過單個 Wi-Fi 熱點支持網絡共享的詳細信息,請參閱對網絡共享的 Wi -Fi 熱點(軟 AP)支持。
此頁面描述了啟用此功能時的設備行為以及設備製造商和供應商的實施詳細信息。
這個怎麼運作
在支持Wi-Fi AP/AP並發的情況下,設備可以創建兩個AP接口,例如一個工作在2.4Ghz頻段,一個工作在5Ghz頻段。然後客戶端可以連接到每個 AP 接口。
Wi-Fi HAL 使用兩個 AP 接口生成單個橋接接口,並在堆棧啟用軟 AP 時將其公開給 Wi-Fi 和連接堆棧。啟用軟AP後,Wi-Fi HAL指示兩個接口可用,並更新每個AP的信息(如操作通道、帶寬和BSSID)。
為了節省電量,框架會在一段時間不活動後禁用未使用的 AP(2.4Ghz 或 5GHz)。當沒有客戶端連接時,該框架認為 AP 處於非活動狀態。設備製造商可以自定義此非活動期的長度。有關詳細信息,請參閱自定義不活動期。
設備通過使用以下橋接軟 AP 配置之一來支持 Wi-Fi AP/AP 並發:
- 配置兩個頻段(通道由框架或驅動程序自動選擇)
- 雙頻AP配置兩個通道
要求
要實現Wi-Fi AP/AP並發,設備必須滿足以下要求:
Wi-Fi 芯片或固件必須支持兩個並發 AP 連接。固件必須支持兩種連接的所有通道和頻段組合。為避免性能問題,我們建議使用支持 2x2+2x2 DBS 的 Wi-Fi 芯片。
設備必須支持供應商 HAL 版本 1.5中的以下 API
-
IWifiChip.createBridgedApIface()
-
IWifiChip.removeIfaceInstanceFromBridgedApIface()
-
IWifiApIface.resetToFactoryMacAddress()
-
IWifiApIface.getBridgedInstances()
-
HAL Wi-Fi 接口組合不能使用
[{AP} <= 2, ...]
等規範格式公開兩個並發 AP 接口。這是因為 Wi-Fi HAL 向 Wi-Fi 和連接堆棧公開了一個橋接接口。更多信息,請參閱Wi-Fi 多接口並發。
執行
要實現 Wi-Fi AP/AP 並發,請執行以下操作:
使用運行時資源覆蓋至少啟用以下功能之一(默認禁用):
-
config_wifiBridgedSoftApSupported
: 支持多個 AP 橋接在一起 config_wifiStaWithBridgedSoftApConcurrencySupported
:支持一個站(STA)和多個橋接AP的並發
-
通過調用以下方法之一配置橋接軟 AP 配置:
使用
WifiManager#registerSoftApCallback
註冊回調以獲取設備功能。SoftApCallback
回調為橋接軟 AP 配置提供以下方法:-
SoftApCallback#onInfoChanged
:提供有關正在運行的軟 AP 實例的信息 SoftApCallback#onConnectedClientsChanged
:提供軟 AP 實例的已連接客戶端列表
-
自定義不活動期
要自定義不活動期的長度,請配置以下覆蓋,可在packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
中找到:
-
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
:默認關機超時間隔。僅在啟用SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
有效。