1. 程式人生 > >WLAN STA/AP 併發

WLAN STA/AP 併發

WLAN STA/AP 併發

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 併發,請執行以下操作:

  1. 開啟編譯時標記以在 HAL 中啟用對這兩個介面的支援。該標記位於 device/<oem>/<device>/BoardConfig-common.mk 中。

    • WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
  2. 顯示兩個網路介面:

    • wlan0 和 wlan1
注意:為了避免出現效能問題,請僅在採用支援多個獨立硬體 MAC(無線鏈路)的 WLAN 晶片的裝置上使用此功能。

驗證

要驗證該功能是否按預期正常執行,請同時執行整合測試 (ACTS) 和手動測試。

ACTS 檔案 WifiStaApConcurrencyTest.py(位於 tools/test/connectivity/acts/tests/google/wifi 中)包含一組可以啟動不同 STA 和 AP 組合的測試。

要手動驗證此功能,請從介面中單獨開啟和關閉 STA 和 AP 介面。

如果 AP 和 STA 位於同一子網上,則被測裝置 (DUT) 上可能會出現路由問題。為避免衝突,請嘗試將 AP 移動到其他子網。

如果 STA 和 AP 位於同一頻段但卻在不同的頻道上,則一些 WLAN 晶片供應商會將無線置於分時共享模式。這種做法會導致效能急劇下降。為了解決此問題,晶片可以使用 Channel Switch Avoidance (CSA) 以便:

  • 將 AP 移動到 STA 所在的頻道
  • 將 AP 移動到非 STA 所在的頻段