В Android 9 появилась возможность одновременно использовать режимы STA и AP. На устройствах с поддержкой DBS эта функция открывает новые возможности, например позволяет не прерывать работу Wi-Fi в режиме STA, когда пользователь хочет включить точку доступа (softAP).
Примеры и источник
Параллельная работа Wi-Fi STA/AP поддерживается в коде фреймворка 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
- Предоставьте доступ к двум сетевым интерфейсам:
wlan0wlan1
Если указан флаг WIFI_HAL_INTERFACE_COMBINATIONS, флаг WIFI_HIDL_FEATURE_DUAL_INTERFACE игнорируется. Подробнее о параллельной работе нескольких интерфейсов Wi-Fi…
Проверка
Чтобы убедиться, что функция работает правильно, проведите тестирование вручную.
Чтобы проверить эту функцию вручную, включите и отключите интерфейсы STA и AP независимо от интерфейса.
Если точка доступа и станция находятся в одной подсети, на тестируемом устройстве могут возникнуть проблемы с маршрутизацией. Чтобы избежать конфликтов, попробуйте переместить ТД в другую подсеть.
Некоторые поставщики чипов Wi-Fi переводят радиомодуль в режим разделения времени, если STA и AP работают в одном диапазоне, но на разных каналах. Это приводит к значительному снижению производительности. Чтобы решить эту проблему, чип может использовать функцию "Избегание переключения каналов" (CSA), чтобы:
- Переведите ТД на тот же канал, что и станция.
- Переместите точку доступа в другой диапазон, отличный от диапазона станции.