В Android 12 реализована поддержка одновременной работы точек доступа Wi-Fi (AP/AP), позволяющая устройствам создавать интерфейсы с двумя точками доступа (AP). Эта функция позволяет устройствам поддерживать режим модема через двухдиапазонную одновременную точку доступа Wi-Fi (DBS) (soft AP). Подробную информацию о поддержке режима модема через одну точку доступа Wi-Fi см. в разделе Точка доступа Wi-Fi (soft AP) .
На этой странице описывается поведение устройства при включении этой функции, а также подробности реализации для производителей и поставщиков устройств.
Как это работает
При поддержке одновременной работы точек доступа Wi-Fi устройство может создать два интерфейса точек доступа, например, один, работающий в диапазоне 2,4 ГГц, а другой — в диапазоне 5 ГГц. Клиенты могут подключаться к каждому из интерфейсов точек доступа.
Wi-Fi HAL генерирует единый мостовой интерфейс с двумя интерфейсами точек доступа и предоставляет его стеку Wi-Fi и подключений при включении программной точки доступа. После включения программной точки доступа Wi-Fi HAL сообщает о доступности двух интерфейсов и обновляет информацию (такую как рабочий канал, пропускная способность и BSSID) для каждой точки доступа.
Для экономии энергии фреймворк отключает неиспользуемую точку доступа (2,4 ГГц, 5 ГГц или 6 ГГц) после определённого периода бездействия. Фреймворк считает точку доступа неактивной, если к ней не подключен ни один клиент. Производители устройств могут настраивать длительность этого периода бездействия. Подробнее см. в разделе «Настройка периода бездействия» .
Устройства поддерживают параллелизм точек доступа Wi-Fi/AP, используя одну из следующих конфигураций программных мостовых точек доступа:
- Настройка двух диапазонов (канал автоматически выбирается фреймворком или драйвером)
- Настройка двух каналов на двухдиапазонной точке доступа
Требования
Для реализации одновременной работы точек доступа Wi-Fi/AP устройства должны соответствовать следующим требованиям:
Wi-Fi-чип или прошивка должны поддерживать два одновременных подключения к точкам доступа. Прошивка должна поддерживать все комбинации каналов и диапазонов для обоих подключений. Во избежание проблем с производительностью рекомендуем использовать Wi-Fi-чип с поддержкой DBS 2x2+2x2.
Устройство должно поддерживать следующие методы в HAL поставщика Wi-Fi:
-
IWifiChip.createBridgedApIface()
-
IWifiChip.removeIfaceInstanceFromBridgedApIface()
-
IWifiApIface.resetToFactoryMacAddress()
-
IWifiApIface.getBridgedInstances()
-
Выполнение
Чтобы реализовать параллелизм точек доступа Wi-Fi/AP, выполните следующие действия:
Включите как минимум одну из следующих функций (отключенных по умолчанию) с помощью наложений ресурсов времени выполнения :
-
config_wifiBridgedSoftApSupported
: поддерживает несколько точек доступа, соединенных вместе мостом. -
config_wifiStaWithBridgedSoftApConcurrencySupported
: поддерживает параллелизм станции (STA) и нескольких мостовых точек доступа.
-
Для устройств, использующих AIDL Wi-Fi HAL или HIDL Wi-Fi HAL 1.6, определите
AP_BRIDGED
в комбинации интерфейсов Wi-Fi HAL. Подробнее см. в разделе «Параллелизм Wi-Fi с несколькими интерфейсами» .Настройте конфигурацию мостовой программной точки доступа, вызвав один из следующих методов:
Зарегистрируйте обратный вызов для получения доступа к возможностям устройства с помощью
WifiManager#registerSoftApCallback
. Обратный вызовSoftApCallback
предоставляет следующие методы для настройки мостовой программной точки доступа:-
SoftApCallback#onInfoChanged
: предоставляет информацию о работающих экземплярах программной точки доступа. -
SoftApCallback#onConnectedClientsChanged
: предоставляет список подключенных клиентов для экземпляра программной точки доступа.
-
Настройте период бездействия
Чтобы настроить длительность периода бездействия, настройте следующий оверлей, который находится в packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
:
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
: интервал времени ожидания выключения по умолчанию. Действует только при включенномSoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
.(Доступно с версии 13)
config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging
: указывает, следует ли отключать таймер отключения при бездействии во время зарядки.