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 并发,请执行以下操作:
使用运行时资源叠加层启用以下至少一个功能(默认情况下处于停用状态):
config_wifiBridgedSoftApSupported
:支持桥接在一起的多个 AP。config_wifiStaWithBridgedSoftApConcurrencySupported
:支持站点 (STA) 和多个桥接 AP 的并发。
对于使用 AIDL Wi-Fi HAL 或 HIDL Wi-Fi HAL 1.6 的设备,请在 Wi-Fi HAL 接口组合中定义
AP_BRIDGED
。如需了解更多详情,请参阅Wi-Fi 多接口并发。通过调用以下方法之一来配置桥接软 AP 配置:
使用
WifiManager#registerSoftApCallback
注册回调以获取设备功能。SoftApCallback
回调为桥接软 AP 配置提供以下方法:SoftApCallback#onInfoChanged
:提供有关正在运行的软 AP 实例的信息。SoftApCallback#onConnectedClientsChanged
:提供软 AP 实例的已连接客户端列表。
自定义不活动期
要自定义不活动期的时长,请配置以下叠加层,该叠加层位于 packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
中。
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
: 默认的关闭超时时间间隔。仅当启用了SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
时有效。(版本 13 起可用)
config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging
: 指示充电时是否禁用非活动状态关闭定时器。