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. 显示两个网络接口:

    • wlan0wlan1

验证

要验证该功能是否按预期正常运行,请同时执行集成测试 (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 所在的频段