В Android 9 появилась возможность одновременной работы устройств в режимах STA и AP. Для устройств с поддержкой режима Dual Band Simultaneous (DBS) эта функция открывает новые возможности, например, возможность не прерывать работу STA Wi-Fi при включении точки доступа (softAP).
Примеры и источники
Параллелизм Wi-Fi STA/AP поддерживается в стандартном коде фреймворка AOSP Android. Он также поддерживается эталонной реализацией HAL, описанной в разделе «Wi-Fi HAL» . Флаг WIFI_HIDL_FEATURE_DUAL_INTERFACE
, описанный в разделе «Реализация» , включает спецификацию параллелизма интерфейса, указывающую на параллельную поддержку STA и AP.
Выполнение
Чтобы реализовать параллелизм Wi-Fi STA/AP на вашем устройстве:
Включите флаг сборки, чтобы включить поддержку двух интерфейсов в HAL. Флаг находится в
device/<oem>/<device>/BoardConfig-common.mk
.- WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
Откройте два сетевых интерфейса:
- wlan0 и wlan1
Флаг WIFI_HIDL_FEATURE_DUAL_INTERFACE
игнорируется, если указан флаг WIFI_HAL_INTERFACE_COMBINATIONS
. Подробнее см. в разделе Многоинтерфейсная параллелизм Wi-Fi .
Проверка
Чтобы убедиться, что функция работает так, как задумано, запустите ручное тестирование.
Чтобы вручную проверить эту функцию, включайте и выключайте интерфейсы STA и AP независимо из пользовательского интерфейса.
Если точка доступа и STA находятся в одной подсети, могут возникнуть проблемы с маршрутизацией на тестируемом устройстве (DUT). Чтобы избежать коллизий, попробуйте переместить точку доступа в другую подсеть.
Некоторые производители Wi-Fi-чипов переводят радиомодуль в режим разделения времени, если STA и AP находятся в одном диапазоне, но на разных каналах. Это приводит к значительному снижению производительности. Для решения этой проблемы чип может использовать функцию предотвращения переключения каналов (CSA) для:
- Переместите AP на тот же канал, что и STA
- Переместите AP в другой диапазон от STA