Wi-Fi

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

Usar Wmediumd

O recurso de Wi-Fi do Cuttlefish usa o Wmediumd, uma ferramenta que simula a mídia sem fio. O Wmediumd gerencia o envio de pacotes de Wi-Fi entre duas instâncias do Cuttlefish ou entre uma instância do Cuttlefish e uma do OpenWRT. O Wmedium para Cuttlefish está implementado em /platform/external/wmediumd/.

Para controlar a interface do Wmediumd, use a ferramenta WmediumdService (Android 14 ou mais recente) ou wmedium_control (Android 13 ou uma versão anterior).

WmediumdService

Para dispositivos com Android 14 ou mais recente, use WmediumdService para controlar a ferramenta Wmedium. Para detalhes sobre como controlar esse serviço usando a API REST ou a interface de linha de comando (CLI), consulte Cuttlefish: controle do ambiente.

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

Métodos Descrição
ListStations Lista todas as estações anexadas a Wmediumd.
LoadConfig Carrega a configuração do Wmediumd com um determinado arquivo.
ReloadConfig Recarrega o arquivo de configuração do Wmediumd carregado no momento.
SetCivicloc Define o local cívico (por exemplo, endereço postal) da estação específica.
SetLci Define LCI (latitude, longitude, altitude) da estação específica.
SetPosition Define a posição da estação em um espaço bidimensional
SetSnr Define o valor (0 a 255) da relação sinal-ruído (SNR, na sigla em inglês) entre duas estações.
SetTxpower Define a potência de transmissão (TX power) da estação específica.
StartPcap Começa a capturar todos os frames transmitidos e os armazena em um arquivo .pcap.
StopPcap Interrompe e finaliza a captura de pacote atual

wmediumd_control

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

Subcomandos Descrição
list_stations Lista todas as estações anexadas a Wmediumd.
reload_config [CONFIG_FILE_PATH] Recarrega a configuração do Wmediumd com CONFIG_FILE_PATH . Se CONFIG_FILE_PATH for omitido, recarrega o arquivo de configuração carregado no momento.
set_civicloc MAC_ADDR CIVICLOC Define o local cívico (por exemplo, endereço postal) da estação específica.
set_lci MAC_ADDR LCI Define LCI (latitude, longitude, altitude) da estação específica.
set_position MAC_ADDR X_POSITION Y_POSITION Define a posição da estação em um espaço bidimensional.
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Define o valor (0 a 255) da relação sinal-ruído (SNR, na sigla em inglês) entre duas estações.
start_pcap PCAP_FILE_PATH Começa a capturar todos os frames transmitidos e os armazena em um arquivo .pcap.
stop_pcap Interrompe e finaliza a captura de pacote atual.

Usar OpenWRT

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

Para conectar o OpenWRT, use as informações da tabela abaixo. Se você não acrescentar nenhum opção ao iniciar o Cuttlefish, o ID do dispositivo será cvd-1 e o endereço IP da WAN 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 web https://localhost:1443/devices/DEVICE_ID/openwrt
Página da Web (legada) https://OPENWRT_WAN_IP_ADDRESS

OpenwrtControlService

Para dispositivos com Android 14 ou mais recente, para controlar e configurar APs Wi-Fi virtualizados, use o serviço OpenwrtControlService. Para detalhes sobre como controlar esse serviço usando a API REST ou a CLI, consulte Cuttlefish: controle de ambiente.

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

Métodos Descrição
LuciRpc Envia chamadas RPC para a interface da Web Luci em OpenWRT.
OpenwrtIpAddr Recebe o endereço IP da WAN OpenWRT. Usa esse endereço para conectar uma instância OpenWRT por SSH ou uma interface da Web.