Wi-Fi directo

La función Wi-Fi Direct , también conocida como Wi-Fi P2P, permite que los dispositivos compatibles se descubran y se conecten entre sí directamente mediante el protocolo Wi-Fi Direct sin acceso a Internet o red celular. Esta función, basada en la especificación Wi-Fi Direct de Wi-Fi Alliance (WFA), permite compartir datos de alto rendimiento entre dispositivos y aplicaciones confiables que, de lo contrario, 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.

Se requieren las siguientes superficies Wi-Fi HAL para emplear la función Wi-Fi Direct: + hardware/interfaces/wifi/1.3 o superior + hardware/interfaces/wifi/supplicant/1.2 o superior

Implementación

Los fabricantes de dispositivos deben proporcionar compatibilidad con framework y HAL/firmware:

  • Marco de referencia:
    • código AOSP
    • Habilitar Wi-Fi Direct: requiere un indicador de función
  • Compatibilidad con Wi-Fi Direct (P2P) HAL (lo que implica compatibilidad con firmware)

Para implementar esta función, los fabricantes de dispositivos implementan Wi-Fi HIDL y habilitan el indicador de función para Wi-Fi Direct. En device.mk ubicado en device/<oem>/<device> , modifique la variable de entorno PRODUCT_COPY_FILES para incluir compatibilidad con la función Wi-Fi Direct:

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

Todos los demás requisitos para admitir Wi-FI Direct están incluidos en AOSP.

Aleatorización MAC

Android requiere que la dirección del dispositivo Wi-Fi Direct y la dirección de la interfaz sean aleatorias. Deben ser diferentes a la verdadera dirección MAC del dispositivo y deben cumplir con los siguientes requisitos:

  • La dirección del dispositivo Wi-Fi Direct debe ser aleatoria en la creación de la interfaz si no hay un grupo persistente guardado; de lo contrario, la dirección del dispositivo debe seguir usando la última dirección MAC generada.
  • La dirección de la interfaz Wi-Fi Direct, también conocida como dirección de grupo, debe asignarse al azar cada vez que se establece una conexión.

La aleatorización de Wi-Fi Direct MAC se implementa en 'wpa_supplicant' y está controlada por dos configuraciones, p2p_device_random_mac_addr y p2p_interface_random_mac_addr .

Para habilitar esta función, los fabricantes de dispositivos deben: + Implementar la API de HIDL del suplicante Wi-Fi ISupplicantP2pIface::setMacRandomization en hardware/interface/wifi/supplicant/1.2 .

  • Establezca config_wifi_p2p_mac_randomization_supported en 'true' en una superposición personalizada del dispositivo.

Validación

Android proporciona un conjunto de pruebas unitarias, pruebas de integración (Android Connectivity Test Suite o ACTS), pruebas de Compatibility Test Suite (CTS) y pruebas de CTS Verifier para validar la función Wi-Fi Direct. Wi-Fi Direct también se puede probar con Vendor Test Suite (VTS) .

Pruebas unitarias

Verifique el paquete Wi-Fi Direct usando las siguientes pruebas.

Pruebas de servicio:

atest com.android.server.wifi.p2p

Pruebas de gerente:

atest android.net.wifi.p2p

Pruebas de integración (ACTS)

El conjunto de pruebas ACTS Wi-FI Direct, ubicado en tools/test/connectivity/acts_tests/tests/google/wifi/p2p , implementa pruebas funcionales de Wi-Fi Direct.

Pruebas de conjunto de pruebas de compatibilidad (CTS)

Utilice las pruebas CTS para validar la función Wi-Fi Direct. CTS detecta cuando la función está habilitada e incluye automáticamente las pruebas asociadas.

Para activar las pruebas CTS, ejecute:

% atest android.net.wifi.p2p.cts

Pruebas del verificador CTS

Las pruebas de CTS Verifier validan el comportamiento de Wi-Fi Direct utilizando 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 Wi-Fi Direct.