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 接口。

Wi-Fi HAL 生成具有两个 AP 接口的单个桥接接口,并在堆栈启用软 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 芯片。

  • 设备必须支持供应商 HAL 1.5 版本中的以下方法:

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

实现

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

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

    • config_wifiBridgedSoftApSupported:支持多个桥接 AP。
    • config_wifiStaWithBridgedSoftApConcurrencySupported:支持一个站点 (STA) 和多个桥接 AP 的并发。
  2. 对于使用 Wi-Fi HAL 1.6(适用于 Android 13 及更高版本)的设备,请在 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 已启用的情况下有效。

  • (在 Android 13 中推出)config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging:指示是否在充电时停用非活动关闭计时器。