La función Wi-Fi Aware agregada en Android 8.0 permite que los dispositivos compatibles se descubran, conecten y alcancen (agregado en Android 9) entre sí directamente usando el protocolo Wi-Fi Aware sin acceso a Internet o red celular. Esta función, basada en la especificación Wi-Fi Aware de Wi-Fi Alliance (WFA) (versiones 2.0 y 3.0), permite compartir fácilmente datos de alto rendimiento entre dispositivos y aplicaciones confiables que de otro modo estarían fuera de la red.
Ejemplos y fuente
Para usar esta función, los fabricantes de dispositivos deben implementar el Lenguaje de diseño de interfaz de hardware Wi-Fi (HIDL) proporcionado en el Proyecto de código abierto de Android (AOSP). HIDL reemplaza la estructura anterior de capa de abstracción de hardware (HAL) que se usaba para agilizar las implementaciones mediante la especificación de tipos y llamadas a métodos recopilados en interfaces y paquetes.
Siga Wi-Fi HIDL para emplear la función Wi-Fi Aware: hardware/interfaces/wifi/1.2 o superior. La superficie Wi-Fi Aware HAL es muy grande; el archivo hardware/interfaces/wifi/1.2/README-NAN.md describe el subconjunto que actualmente utiliza el marco.
Puede hacer referencia a la HAL Wi-Fi heredada para ver cómo se correlaciona con la nueva interfaz HIDL: hardware/libhardware_legacy/+/master/include/hardware_legacy/wifi_nan.h .
Implementación
Los fabricantes de dispositivos deben proporcionar compatibilidad con framework y HAL/firmware:
- Marco de referencia:
- código AOSP
- Habilitar consciente: requiere un indicador de función y un indicador de compilación HIDL
- Compatibilidad con Wi-Fi Aware (NAN) HAL (lo que implica compatibilidad con firmware)
Para implementar esta función, los fabricantes de dispositivos implementan Wi-Fi HIDL y habilitan dos indicadores de funciones:
En
BoardConfig.mk
oBoardConfig-common.mk
ubicado endevice/<oem>/<device>
, agregue el siguiente indicador:WIFI_HIDL_FEATURE_AWARE := true
En
device.mk
ubicado endevice/<oem>/<device>
, modifique la variable de entornoPRODUCT_COPY_FILES
para incluir compatibilidad con la función 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 incluye rango a dispositivos pares usando el protocolo IEEE 802.11mc, también conocido como Round Trip Time (RTT). Esta subfunción de Wi-Fi Aware está condicionada a que el dispositivo admita la función Wi-Fi RTT, es decir, requiere que el dispositivo admita tanto Wi-Fi Aware como Wi-Fi RTT. Para obtener más detalles, consulte Wi-Fi RTT .
De lo contrario, todo lo necesario para esta función está incluido en AOSP.
El indicador WIFI_HIDL_FEATURE_AWARE
se ignora si se especifica el indicador WIFI_HAL_INTERFACE_COMBINATIONS
. Para obtener más información, consulte Simultaneidad de múltiples interfaces Wi-Fi .
Aleatorización MAC
Android requiere que la dirección MAC de Wi-Fi Aware Discovery (NMI) y las interfaces de datos (NDP) sean aleatorias y no sean idénticas a la verdadera dirección MAC del dispositivo. Las direcciones MAC deben ser:
- Aleatorizado cada vez que se habilita o se vuelve a habilitar Wi-Fi Aware.
Cuando Wi-Fi Aware está habilitado, la dirección MAC debe asignarse aleatoriamente a un intervalo regular configurado por el parámetro
NanConfigRequest.macAddressRandomizationIntervalSec
NanConfigRequest.macAddressRandomizationIntervalSec. Esto está configurado por el marco de forma predeterminada en 30 minutos.
Validación
Android proporciona un conjunto de pruebas unitarias, pruebas de integración (ACTS), pruebas de conjunto de pruebas de compatibilidad (CTS) y pruebas de verificador CTS para validar la función Wi-Fi Aware. Wi-Fi Aware también se puede probar con Vendor Test Suite (VTS) .
Pruebas unitarias
Las pruebas del paquete Wi-Fi Aware se ejecutan usando:
Pruebas de servicio:
atest com.android.server.wifi.aware
Pruebas de gerente:
atest android.net.wifi.aware
Pruebas de integración (ACTS)
El conjunto de pruebas acts/sl4a
, descrito en tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md
, proporciona pruebas funcionales, de rendimiento y de estrés.
Pruebas de conjunto de pruebas de compatibilidad (CTS)
Utilice las pruebas CTS para validar la función Wi-Fi Aware. CTS detecta cuando la función está habilitada e incluye automáticamente las pruebas asociadas.
Las pruebas CTS se pueden activar usando:
atest SingleDeviceTest
Pruebas del verificador CTS
Las pruebas de CTS Verifier validan el comportamiento de Wi-Fi Aware usando dos dispositivos: un dispositivo de prueba y un dispositivo en buen estado. Para ejecutar las pruebas, abra CTS Verifier y navegue a la sección titulada Pruebas de reconocimiento de Wi-Fi.