Wi-Fi directo

El Wi-Fi directo también conocida como Wi-Fi P2P, permite que los dispositivos compatibles descubran y entre sí directamente mediante el protocolo Wi-Fi directo sin acceso a Internet o a la red móvil. Esta basada en la Wi-Fi Alliance (WFA) Especificación de Wi-Fi directo permite compartir datos de alta capacidad de procesamiento entre dispositivos y apps de confianza que están fuera de la red.

Ejemplos y fuente

Para usar esta función, los fabricantes de dispositivos deben implementar el servicio de Wi-Fi. Interfaces de HAL de proveedor y solicitante.

En Android 13, La interfaz del solicitante usa el AIDL para la definición de la HAL. En Para Android 14 y versiones posteriores, la interfaz de la HAL del proveedor usa o AIDL. En Android 12 y versiones anteriores, el solicitante y Las interfaces de HAL del proveedor se definen con HIDL.

Se requieren las siguientes superficies de HAL de Wi-Fi para usar Wi-Fi Direct. atributo:

  • hardware/interfaces/wifi/aidl o hardware/interfaces/wifi/1.3 o más
  • hardware/interfaces/wifi/supplicant/aidl o hardware/interfaces/wifi/supplicant/1.2 o más

Implementación

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

  • Marco de trabajo:
    • Código del AOSP
    • Habilitar Wi-Fi directo: Requiere una marca de función.
  • Compatibilidad con HAL para Wi-Fi directo (P2P), lo que implica compatibilidad con firmware

Para implementar esta función, los fabricantes de dispositivos implementan el HIDL de Wi-Fi o AIDL interfaces y habilitar la marca de función para Wi-Fi directo. En device.mk, ubicado En device/<oem>/<device>, modifica la variable de entorno PRODUCT_COPY_FILES. para incluir compatibilidad con la función Wi-Fi directo:

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

AOSP incluye todos los demás requisitos de compatibilidad con Wi-Fi directo.

Aleatorización de MAC

Android requiere la dirección del dispositivo y la interfaz de Wi-Fi directo. dirección se aleatorizan. Deben ser diferentes de la dirección MAC verdadera de el dispositivo y debe cumplir con los siguientes requisitos:

  • La dirección del dispositivo Wi-Fi directo se debe aleatorizar durante la creación de la interfaz, si no se guardó ningún grupo persistente; De lo contrario, la dirección del dispositivo debe seguir usando el último dirección MAC generada.
  • La dirección de la interfaz de Wi-Fi directo, también conocida como dirección de grupo, debe ser aleatoria cada vez que se establece una conexión.

Se implementó la aleatorización de MAC de Wi-Fi directo en "wpa_supplicant". y controlado por dos parámetros de configuración, p2p_device_random_mac_addr y p2p_interface_random_mac_addr

Para habilitar esta función, los fabricantes de dispositivos deben hacer lo siguiente:

  • Implementa la API de ISupplicantP2pIface::setMacRandomization del solicitante de Wi-Fi. Según la interfaz implementada, esto se realizará en las siguientes ubicaciones:
    • hardware/interface/wifi/supplicant/1.2 para HIDL
    • hardware/interface/wifi/supplicant/aidl para AIDL
  • Definir config_wifi_p2p_mac_randomization_supported a "true" en un dispositivo superposición.

Validación

Android proporciona un conjunto de pruebas de unidades, Pruebas del Conjunto de pruebas de compatibilidad (CTS) Pruebas del verificador de CTS para validar la conexión Wi-Fi Función directa Wi-Fi directo también puede probarse con el Conjunto de pruebas de proveedores (VTS).

Pruebas de unidades

Verifica el paquete de Wi-Fi directo mediante las siguientes pruebas.

Pruebas de servicio:

atest com.android.server.wifi.p2p

Pruebas del administrador:

atest android.net.wifi.p2p

Pruebas del Conjunto de pruebas de compatibilidad (CTS)

Usa pruebas del CTS para validar la función Wi-Fi directo. El CTS detecta cuándo la función esté habilitada y que incluya automáticamente las pruebas asociadas.

Para activar las pruebas del CTS, ejecuta lo siguiente:

% atest android.net.wifi.p2p.cts

Pruebas del verificador del CTS

Las pruebas del verificador del CTS validan el comportamiento de Wi-Fi directo con dos dispositivos: una prueba. y un dispositivo conocido y bueno. Para ejecutar las pruebas, abre el verificador del CTS y ve a la sección titulada Pruebas de Wi-Fi directo.