Wi-Fi

En esta página, se describe cómo controlar el Wi-Fi en un dispositivo Cuttlefish.

Cómo usar Wmediumd

La función de Wi-Fi de Cuttlefish usa Wmediumd, una herramienta de simulación, que simula el medio inalámbrico. Wmediumd administra la entrega de paquetes de Wi-Fi entre dos instancias de Cuttlefish o entre una instancia de Cuttlefish y otra de OpenWRT. Wmedium para Cuttlefish se implementa en /platform/external/wmediumd/.

Para controlar la interfaz de Wmediumd, usa la herramienta WmediumdService (para Android 14 o versiones posteriores) o wmedium_control (para Android 13 o versiones anteriores).

WmediumdService

En dispositivos que ejecutan Android 14 o versiones posteriores, usa WmediumdService para controlar la herramienta de Wmedium. Si deseas obtener información detallada para controlar este servicio usando la API de REST o la interfaz de línea de comandos (CLI), consulta Cuttlefish: Control del entorno.

En la siguiente tabla se indican los métodos de WmediumdService. Para obtener información detallada sobre los métodos, consulta wmediumd.proto.

Métodos Descripción
ListStations Enumera todas las estaciones adjuntadas a Wmediumd.
LoadConfig Carga la configuración de Wmediumd con un archivo determinado.
ReloadConfig Vuelve a cargar el archivo de configuración de Wmediumd cargado actual.
SetCivicloc Establece la ubicación cívica (por ejemplo, el código postal) de la estación específica.
SetLci Establece la LCI (latitud, longitud, altitud) de la estación específica.
SetPosition Establece la posición de la estación en un espacio bidimensional.
SetSnr Establece el valor de la relación señal/ruido, o SNR, (0-255) entre dos estaciones.
SetTxpower Establece la potencia de transmisión (potencia de TX) de la estación específica.
StartPcap Comienza a capturar todos los cuadros transmitidos al aire y los almacena en un archivo .pcap.
StopPcap Detiene y finaliza la captura de paquetes actual.

wmediumd_control

En dispositivos que ejecutan Android 13 o versiones anteriores, usa la herramienta wmediumd_control para controlar el medio inalámbrico en dispositivos Cuttlefish. En la siguiente tabla, se indican los subcomandos de wmediumd_control.

Subcomandos Descripción
list_stations Enumera todas las estaciones adjuntadas a Wmediumd.
reload_config [CONFIG_FILE_PATH] Vuelve a cargar la configuración de Wmediumd con CONFIG_FILE_PATH ; si se omite CONFIG_FILE_PATH, vuelve a cargar el archivo de configuración cargado actual.
set_civicloc MAC_ADDR CIVICLOC Establece la ubicación cívica (por ejemplo, el código postal) de la estación específica.
set_lci MAC_ADDR LCI Establece la LCI (latitud, longitud, altitud) de la estación específica.
set_position MAC_ADDR X_POSITION Y_POSITION Establece la posición de la estación en un espacio bidimensional.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Establece el valor de la relación señal/ruido, o SNR, (0-255) entre dos estaciones.
start_pcap PCAP_FILE_PATH Comienza a capturar todos los cuadros transmitidos al aire y los almacena en un archivo .pcap.
stop_pcap Detiene y finaliza la captura de paquetes actual.

Cómo usar OpenWRT

La función de Wi-Fi de Cuttlefish admite el uso de OpenWRT para virtualizar los puntos de acceso (AP) de Wi-Fi. La implementación de OpenWRT para Cuttlefish se encuentra en platform/external/openwrt-prebuilts/.

Para conectarte a OpenWRT, usa la información que se indica en la siguiente tabla. Si no agregas opciones a la hora de ejecutar Cuttlefish, el ID de dispositivo es cvd-1 y la dirección IP de WAN de OpenWRT es 192.168.94.2 o 192.168.96.2.

Tipo de conexión Destino
SSH root@OPENWRT_WAN_IP_ADDRESS
Página web https://localhost:1443/devices/DEVICE_ID/openwrt
Página web (heredada) https://OPENWRT_WAN_IP_ADDRESS

OpenwrtControlService

En dispositivos que ejecutan Android 14 o versiones posteriores, usa el servicio OpenwrtControlService para controlar y configurar AP de Wi-Fi virtualizados. Si deseas obtener información detallada para controlar este servicio usando la API de REST o la CLI, consulta Cuttlefish: Control del entorno.

En la siguiente tabla se indican los métodos de OpenwrtControlService. Para obtener información detallada sobre los métodos, consulta openwrt_control.proto.

Métodos Descripción
LuciRpc Envía una llamada de RPC a la interfaz web de Luci en OpenWRT.
OpenwrtIpAddr Obtiene una dirección IP de WAN de OpenWRT. Usa esta dirección para conectarte a una instancia de OpenWRT a través de SSH o de una interfaz web.