Android 9 引入了可以讓設備同時在 STA 和 AP 模式下運行的功能。對於支持雙頻併發 (DBS) 的設備,此功能讓一些新功能得以實現,例如在用戶想要啓用熱點 (softAP) 時不會中斷 STA WLAN。網絡
示例和來源
默認的 AOSP Android 框架代碼支持 WLAN STA/AP 併發。WLAN HAL 中介紹的參考 HAL 實現也支持 WLAN STA/AP 併發。下文「實現」部分中介紹的 WIFI_HIDL_FEATURE_DUAL_INTERFACE
編譯時標記會啓用接口併發規範(指示 STA 和 AP 的併發支持)。併發
實現
要在設備上實現 WLAN STA/AP 併發,請執行如下操做:框架
-
開啓編譯時標記以在 HAL 中啓用對這兩個接口的支持。該標記位於
device/<oem>/<device>/BoardConfig-common.mk
中。性能- WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
-
顯示兩個網絡接口:測試
- wlan0 和 wlan1
驗證
要驗證該功能是否按預期正常運行,請同時執行集成測試 (ACTS) 和手動測試。google
ACTS 文件 WifiStaApConcurrencyTest.py
(位於 tools/test/connectivity/acts/tests/google/wifi
中)包含一組能夠啓動不一樣 STA 和 AP 組合的測試。url
要手動驗證此功能,請從界面中單獨開啓和關閉 STA 和 AP 接口。spa
若是 AP 和 STA 位於同一子網上,則被測設備 (DUT) 上可能會出現路由問題。爲避免衝突,請嘗試將 AP 移動到其餘子網。.net
若是 STA 和 AP 位於同一頻段但卻在不一樣的頻道上,則一些 WLAN 芯片供應商會將無線置於分時共享模式。這種作法會致使性能急劇降低。爲了解決此問題,芯片能夠使用 Channel Switch Avoidance (CSA) 以便:
- 將 AP 移動到 STA 所在的頻道
- 將 AP 移動到非 STA 所在的頻段