В Android 9 появилась возможность одновременной работы устройств в режимах STA и AP. Для устройств, поддерживающих двухдиапазонный одновременный доступ (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 := правда
Откройте два сетевых интерфейса:
- wlan0 и wlan1
Флаг WIFI_HIDL_FEATURE_DUAL_INTERFACE
игнорируется, если указан флаг WIFI_HAL_INTERFACE_COMBINATIONS
. Дополнительные сведения см. в статье Параллелизм нескольких интерфейсов Wi-Fi .
Проверка
Чтобы убедиться, что функция работает должным образом, запустите интеграционный тест (ACTS) и ручной тест.
Файл ACTS, WifiStaApConcurrencyTest.py
, расположенный в tools/test/connectivity/acts_tests/tests/google/wifi
, содержит набор тестов, которые вызывают различные комбинации STA и AP.
Чтобы вручную проверить эту функцию, включите и выключите интерфейсы STA и AP независимо от пользовательского интерфейса.
Если и AP, и STA находятся в одной подсети, могут возникнуть проблемы с маршрутизацией на тестируемом устройстве (DUT). Чтобы избежать коллизий, попробуйте переместить точку доступа в другую подсеть.
Некоторые поставщики микросхем Wi-Fi переводят радиостанцию в режим разделения времени, если STA и AP находятся в одном диапазоне, но на разных каналах. Это приводит к резкому падению производительности. Чтобы решить эту проблему, чип может использовать предотвращение переключения каналов (CSA), чтобы:
- Переместите точку доступа на тот же канал, что и STA.
- Переместите точку доступа на другой диапазон от STA