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. | 
