Wi-Fi AP/AP 并发

Android 12 引入了 Wi-Fi AP/AP 并发功能,允许设备创建两个接入点 (AP) 接口。此功能让设备可以通过双频同步 (DBS) Wi-Fi 热点(软 AP)支持网络共享。如需详细了解如何通过单个 Wi-Fi 热点支持网络共享,请参阅 Wi-Fi 热点(软 AP)支持

本页介绍了启用此功能后设备的运行方式,以及针对设备制造商和供应商的实现详情。

工作原理

当支持 Wi-Fi AP/AP 并发时,设备可以创建两个 AP 接口,例如,一个接口在 2.4 GHz 频段上工作,另一个接口在 5 GHz 频段上工作。然后,客户端可以连接到每个 AP 接口。

当堆栈启用软 AP 时,Wi-Fi HAL 会使用两个 AP 接口生成单个桥接接口,并将其公开给 Wi-Fi 和连接堆栈。启用软 AP 后,Wi-Fi HAL 会指示有两个接口可用,并更新每个 AP 的信息(例如,操作信道、带宽和 BSSID)。

为了节省电量,框架会在一段不活动时间后停用未使用的 AP(2.4 GHz、5 GHz 或 6 GHz)。当没有客户端连接时,框架会认为 AP 处于不活动状态。设备制造商可以自定义此不活动期的时长。如需了解详情,请参阅自定义不活动期

设备通过使用以下桥接软 AP 配置之一来支持 Wi-Fi AP/AP 并发:

  • 配置两个频段(信道由框架或驱动程序自动选择)
  • 在双频 AP 上配置两个信道

要求

要实现 Wi-Fi AP/AP 并发,设备必须满足以下要求:

  • Wi-Fi 芯片或固件必须支持两个并发 AP 连接。固件必须支持两个连接的所有信道和频段组合。为了避免性能问题,我们建议使用支持 2x2+2x2 DBS 的 Wi-Fi 芯片。

  • 设备必须在 Wi-Fi 供应商 HAL 中支持以下方法:

    • IWifiChip.createBridgedApIface()
    • IWifiChip.removeIfaceInstanceFromBridgedApIface()
    • IWifiApIface.resetToFactoryMacAddress()
    • IWifiApIface.getBridgedInstances()

实现

要实现 Wi-Fi AP/AP 并发,请执行以下操作:

  1. 使用运行时资源叠加层启用以下至少一个功能(默认情况下处于停用状态):

    • config_wifiBridgedSoftApSupported:支持桥接在一起的多个 AP。
    • config_wifiStaWithBridgedSoftApConcurrencySupported:支持站点 (STA) 和多个桥接 AP 的并发。
  2. 对于使用 AIDL Wi-Fi HAL 或 HIDL Wi-Fi HAL 1.6 的设备,请在 Wi-Fi HAL 接口组合中定义 AP_BRIDGED。如需了解更多详情,请参阅Wi-Fi 多接口并发

  3. 通过调用以下方法之一来配置桥接软 AP 配置:

  4. 使用 WifiManager#registerSoftApCallback 注册回调以获取设备功能。SoftApCallback 回调为桥接软 AP 配置提供以下方法:

自定义不活动期

要自定义不活动期的时长,请配置以下叠加层,该叠加层位于 packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml 中。

  • config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond: 默认的关闭超时时间间隔。仅当启用了 SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled 时有效。

  • (版本 13 起可用) config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging: 指示充电时是否禁用非活动状态关闭定时器。