Android 9 引入了设备可以同时在 STA 和 AP 模式下运行的功能。对于支持双频并发 (DBS) 的设备,此功能开启了新的功能,例如,当用户想要启用热点 (softAP) 时,不会中断 STA Wi-Fi。
示例和源代码
默认 AOSP Android 框架代码支持 Wi-Fi STA/AP 并发。 Wi-Fi HAL中描述的参考 HAL 实现也支持它。实现中描述的 WIFI_HIDL_FEATURE_DUAL_INTERFACE
编译时标记启用了一个接口并发规范,指示同时支持 STA 和 AP。
实现
要在您的设备上实现 Wi-Fi STA/AP 并发,请执行以下操作
开启编译时标记以在 HAL 中启用对两个接口的支持。该标记位于
device/<oem>/<device>/BoardConfig-common.mk
中。- WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
公开两个网络接口
- wlan0 和 wlan1
如果指定了 WIFI_HAL_INTERFACE_COMBINATIONS
标记,则会忽略 WIFI_HIDL_FEATURE_DUAL_INTERFACE
标记。如需了解详情,请参阅Wi-Fi 多接口并发。
验证
要验证该功能是否按预期工作,请运行手动测试。
要手动验证此功能,请从 UI 独立开启和关闭 STA 和 AP 接口。
如果 AP 和 STA 位于同一子网,则被测设备 (DUT) 上可能会出现路由问题。为避免冲突,请尝试将 AP 移至不同的子网。
如果 STA 和 AP 位于同一频段但在不同信道上,则某些 Wi-Fi 芯片供应商会将无线电置于分时模式。这会导致性能严重下降。为了解决此问题,芯片可以使用信道切换规避 (CSA) 来执行以下操作之一
- 将 AP 移至与 STA 相同的信道
- 将 AP 移至与 STA 不同的频段