Wi-fi

Esta página descreve como controlar o Wi-Fi em um dispositivo Cuttlefish.

Usar Wmédio

O recurso Cuttlefish Wi-Fi usa Wmediumd, uma ferramenta de simulação, para simular o meio sem fio. Wmediumd gerencia a entrega de pacotes Wi-Fi entre duas instâncias do Cuttlefish ou entre uma instância do Cuttlefish e uma instância do OpenWRT. Wmedium para Cuttlefish é implementado em /platform/external/wmediumd/ .

Para controlar a interface Wmediumd, use a ferramenta WmediumdService (Android 14 ou superior) ou wmedium_control (Android 13 ou inferior).

WmediumdServiço

Para dispositivos com Android 14 ou superior, use WmediumdService para controlar a ferramenta Wmedium. Para obter detalhes sobre como controlar este serviço usando a API REST ou a interface de linha de comando (CLI), consulte Cuttlefish: Environment Control .

A tabela a seguir lista os métodos em WmediumdService . Para obter informações detalhadas sobre os métodos, consulte wmediumd.proto .

Métodos Descrição
ListStations Liste todas as estações anexadas ao Wmediumd.
LoadConfig Carregue a configuração do Wmediumd com um determinado arquivo.
ReloadConfig Recarregue o arquivo de configuração Wmediumd atualmente carregado.
SetCivicloc Defina a localização cívica (por exemplo, endereço postal) da estação específica.
SetLci Defina LCI (latitude, longitude, altitude) da estação específica.
SetPosition Defina a posição da estação no espaço bidimensional.
SetSnr Defina o valor da relação sinal-ruído (SNR) (0-255) entre duas estações.
SetTxpower Defina a potência de transmissão (potência TX) da estação específica.
StartPcap Comece a capturar todos os quadros transmitidos ao ar e armazene-os em um arquivo .pcap .
StopPcap Pare e finalize a captura do pacote atual.

wmediumd_control

Para dispositivos com Android 13 ou inferior, use a ferramenta wmediumd_control para controlar a mídia sem fio em dispositivos Cuttlefish. A tabela a seguir lista subcomandos em wmediumd_control .

Subcomandos Descrição
list_stations Liste todas as estações anexadas ao Wmediumd.
reload_config [ CONFIG_FILE_PATH ] Recarregue a configuração Wmediumd com CONFIG_FILE_PATH . Se CONFIG_FILE_PATH for omitido, recarregue o arquivo de configuração atualmente carregado.
set_civicloc MAC_ADDR CIVICLOC Defina a localização cívica (por exemplo, endereço postal) da estação específica.
set_lci MAC_ADDR LCI Defina LCI (latitude, longitude, altitude) da estação específica.
set_position MAC_ADDR X_POSITION Y_POSITION Defina a posição da estação no espaço bidimensional.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Defina o valor da relação sinal-ruído (SNR) (0-255) entre duas estações.
start_pcap PCAP_FILE_PATH Comece a capturar todos os quadros transmitidos ao ar e armazene-os em um arquivo .pcap .
stop_pcap Pare e finalize a captura do pacote atual.

Usar OpenWRT

O recurso Cuttlefish Wi-Fi suporta o uso de OpenWRT para virtualizar pontos de acesso Wi-Fi (APs). A implementação do OpenWRT para Cuttlefish está em platform/external/openwrt-prebuilts/ .

Para se conectar ao OpenWRT, use as informações da tabela a seguir. Se você não anexar nenhuma opção ao iniciar o Cuttlefish, o ID do dispositivo será cvd-1 e o endereço IP WAN do OpenWRT será 192.168.94.2 ou 192.168.96.2 .

Tipo de conexão Destino
SSH root@ OPENWRT_WAN_IP_ADDRESS
Página da Internet https://localhost:1443/devices/ DEVICE_ID /openwrt
Página da Web (herdada) https:// OPENWRT_WAN_IP_ADDRESS

OpenwrtControlService

Para dispositivos com Android 14 ou superior, para controlar e configurar APs Wi-Fi virtualizados, use o serviço OpenwrtControlService . Para obter detalhes sobre como controlar este serviço usando a API REST ou CLI, consulte Cuttlefish: Environment Control .

A tabela a seguir lista os métodos em OpenwrtControlService . Para obter informações detalhadas sobre os métodos, consulte openwrt_control.proto .

Métodos Descrição
LuciRpc Envie uma chamada RPC para a interface web Luci no OpenWRT.
OpenwrtIpAddr Obtenha o endereço IP WAN do OpenWRT. Use este endereço para conectar uma instância OpenWRT por meio de SSH ou interface web.