Android 12 引入了 Wi-Fi AP/AP 并发,允许设备创建两个接入点 (AP) 接口。此功能允许设备通过双频同步 (DBS) Wi-Fi 热点(软 AP)支持网络共享。有关通过单个 Wi-Fi 热点支持网络共享的详细信息,请参阅对网络共享的 Wi -Fi 热点(软 AP)支持。
此页面描述了启用此功能时的设备行为以及设备制造商和供应商的实施详细信息。
这个怎么运作
在支持Wi-Fi AP/AP并发的情况下,设备可以创建两个AP接口,例如一个工作在2.4Ghz频段,一个工作在5Ghz频段。然后客户端可以连接到每个 AP 接口。
Wi-Fi HAL 使用两个 AP 接口生成单个桥接接口,并在堆栈启用软 AP 时将其公开给 Wi-Fi 和连接堆栈。启用软AP后,Wi-Fi HAL指示两个接口可用,并更新每个AP的信息(如操作通道、带宽和BSSID)。
为了节省电量,框架会在一段时间不活动后禁用未使用的 AP(2.4Ghz 或 5GHz)。当没有客户端连接时,该框架认为 AP 处于非活动状态。设备制造商可以自定义此非活动期的长度。有关详细信息,请参阅自定义不活动期。
设备通过使用以下桥接软 AP 配置之一来支持 Wi-Fi AP/AP 并发:
- 配置两个频段(通道由框架或驱动程序自动选择)
- 双频AP配置两个通道
要求
要实现Wi-Fi AP/AP并发,设备必须满足以下要求:
Wi-Fi 芯片或固件必须支持两个并发 AP 连接。固件必须支持两种连接的所有通道和频段组合。为避免性能问题,我们建议使用支持 2x2+2x2 DBS 的 Wi-Fi 芯片。
设备必须支持供应商 HAL 版本 1.5中的以下 API
-
IWifiChip.createBridgedApIface()
-
IWifiChip.removeIfaceInstanceFromBridgedApIface()
-
IWifiApIface.resetToFactoryMacAddress()
-
IWifiApIface.getBridgedInstances()
-
HAL Wi-Fi 接口组合不能使用
[{AP} <= 2, ...]
等规范格式公开两个并发 AP 接口。这是因为 Wi-Fi HAL 向 Wi-Fi 和连接堆栈公开了一个桥接接口。更多信息,请参阅Wi-Fi 多接口并发。
执行
要实现 Wi-Fi AP/AP 并发,请执行以下操作:
使用运行时资源覆盖至少启用以下功能之一(默认禁用):
-
config_wifiBridgedSoftApSupported
: 支持多个 AP 桥接在一起 config_wifiStaWithBridgedSoftApConcurrencySupported
:支持一个站(STA)和多个桥接AP的并发
-
通过调用以下方法之一配置桥接软 AP 配置:
使用
WifiManager#registerSoftApCallback
注册回调以获取设备功能。SoftApCallback
回调为桥接软 AP 配置提供以下方法:-
SoftApCallback#onInfoChanged
:提供有关正在运行的软 AP 实例的信息 SoftApCallback#onConnectedClientsChanged
:提供软 AP 实例的已连接客户端列表
-
自定义不活动期
要自定义不活动期的长度,请配置以下覆盖,可在packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
中找到:
-
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
:默认关机超时间隔。仅在启用SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
有效。