Android 9 引入了可让设备同时在 STA 和 AP 模式下运行的功能。对于支持双频并发 (DBS) 的设备,此功能让一些新功能得以实现,例如在用户想要启用热点 (softAP) 时不会中断 STA WLAN。
示例和来源
默认的 AOSP Android 框架代码支持 Wi-Fi 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
如果指定了 WIFI_HAL_INTERFACE_COMBINATIONS
标志,则忽略 WIFI_HIDL_FEATURE_DUAL_INTERFACE
标志。如需了解详情,请参阅 Wi-Fi 多接口并发。
验证
如需验证该功能是否按预期运行,请运行手动测试。
要手动验证此功能,请从界面中单独开启和关闭 STA 和 AP 接口。
如果 AP 和 STA 位于同一子网上,则被测设备 (DUT) 上可能会出现路由问题。为避免冲突,请尝试将 AP 移动到其他子网。
如果 STA 和 AP 位于同一频段但却在不同的频道上,则一些 WLAN 芯片供应商会将无线置于分时共享模式。这种做法会导致性能急剧下降。为了解决此问题,芯片可以使用 Channel Switch Avoidance (CSA) 以便:
- 将 AP 移动到 STA 所在的频道
- 或将 AP 移到非 STA 所在的频段