Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Wi-Fi Aware

Функция Wi-Fi Aware, добавленная в Android 8.0, позволяет поддерживающим устройствам обнаруживать, подключаться и ранжировать (добавленные в Android 9) друг к другу напрямую, используя протокол Wi-Fi Aware без доступа к Интернету или сотовой сети. Эта функция, основанная на спецификации Wi-Fi Aware Wi-Fi Alliance (WFA) (версии 2.0 и 3.0), позволяет легко обмениваться данными с высокой пропускной способностью между доверенными устройствами и приложениями, которые в противном случае находятся вне сети.

Примеры и источник

Чтобы использовать эту функцию, производители устройств должны реализовать язык дизайна аппаратного интерфейса Wi-Fi (HIDL), предоставляемый в проекте Android Open Source (AOSP). HIDL заменяет предыдущую структуру уровня аппаратной абстракции (HAL), используемую для оптимизации реализаций, путем указания типов и вызовов методов, собранных в интерфейсах и пакетах.

Следуйте HIDL Wi-Fi, чтобы использовать функцию Wi-Fi Aware: аппаратное обеспечение / интерфейсы / wifi / 1.2 или выше. Поверхность Wi-Fi Aware HAL очень большая; файл hardware / interfaces / wifi / 1.2 / README-NAN.md описывает подмножество, которое в настоящее время используется платформой.

Вы можете сослаться на устаревший Wi-Fi HAL, чтобы увидеть, как он соотносится с новым интерфейсом HIDL: hardware / libhardware_legacy / + / master / include / hardware_legacy / wifi_nan.h .

Реализация

Производители устройств должны предоставлять поддержку как фреймворка, так и HAL / прошивки:

  • Фреймворк:
    • Код AOSP
    • Enable Aware: требует наличия как флага функции, так и флага сборки HIDL
  • Поддержка HAL Wi-Fi Aware (NAN) (что подразумевает поддержку прошивки)

Для реализации этой функции производители устройств используют Wi-Fi HIDL и включают два флага функций:

  • В BoardConfig.mk или BoardConfig-common.mk расположенном в device/<oem>/<device> , добавьте следующий флаг:

     WIFI_HIDL_FEATURE_AWARE := true
     
  • В device.mk расположенном в device/<oem>/<device> , измените переменную среды PRODUCT_COPY_FILES чтобы включить поддержку функции Wi-Fi Aware:

     PRODUCT_COPY_FILES +=
    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
     

Wi-Fi Aware включает в себя ранжирование на одноранговые устройства с использованием протокола IEEE 802.11mc, также известного как Round Trip Time (RTT). Эта вспомогательная функция Wi-Fi Aware зависит от устройства, поддерживающего функцию Wi-Fi RTT, то есть оно требует, чтобы устройство поддерживало как Wi-Fi Aware, так и Wi-Fi RTT. Для получения дополнительной информации см. Wi-Fi RTT .

В противном случае все необходимое для этой функции включено в AOSP.

Флаг WIFI_HIDL_FEATURE_AWARE игнорируется, если WIFI_HAL_INTERFACE_COMBINATIONS флаг WIFI_HAL_INTERFACE_COMBINATIONS . Для получения дополнительной информации см. Параллельный интерфейс Wi-Fi .

MAC рандомизация

Android требует, чтобы MAC-адрес Обнаружения Wi-Fi Aware (NMI) и интерфейсов данных (NDP) был рандомизирован и не совпадал с истинным MAC-адресом устройства. MAC-адреса должны быть:

  • Рандомизируется при включении или повторном включении Wi-Fi Aware.
  • Когда NanConfigRequest.macAddressRandomizationIntervalSec Wi-Fi Aware включена, MAC-адрес должен быть рандомизирован через регулярный интервал, настроенный параметром NanConfigRequest.macAddressRandomizationIntervalSec NanConfigRequest.macAddressRandomizationIntervalSec. Это настроено платформой по умолчанию на 30 минут.

Проверка

Android предоставляет набор модульных тестов, интеграционных тестов (ACTS), тестов Compatibility Test Suite (CTS) и тестов CTS Verifier для проверки функции Wi-Fi Aware. Wi-Fi Aware также можно протестировать с помощью Vendor Test Suite (VTS) .

Модульные тесты

Тесты пакета Wi-Fi Aware выполняются с использованием:

Сервисные тесты:

 % ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh -e package
com.android.server.wifi.aware
 

Менеджер тестов:

 % ./frameworks/base/wifi/tests/runtests.sh -e package android.net.wifi.aware
 

Интеграционные тесты (ACTS)

acts/sl4a тестов acts/sl4a , описанный в tools/test/connectivity/acts/tests/google/wifi/aware/README.md , предоставляет функциональные тесты, тесты производительности и стресс-тесты.

Тесты на совместимость тестов (CTS)

Используйте тесты CTS для проверки функции Wi-Fi Aware. CTS определяет, когда эта функция включена, и автоматически включает соответствующие тесты.

Тесты CTS могут быть запущены с помощью:

 % atest SingleDeviceTest
 

Тесты CTS Verifier

Тесты CTS Verifier проверяют поведение Wi-Fi Aware с использованием двух устройств: тестового устройства и известного исправного устройства. Чтобы запустить тесты, откройте CTS Verifier и перейдите к разделу под названием Wi-Fi Aware Tests.