Testar a conectividade de vários dispositivos

Contexto

Para executar vários dispositivos virtuais Cuttlefish ao mesmo tempo, execute este comando:

launch_cvd --num_instances=n

Quando você executa duas ou mais instâncias usando a flag --num_instances, elas compartilham mídia de conectividade por Wi-Fi e Bluetooth. Essa configuração permite que instâncias do Cuttlefish encontrem e se conectem por Bluetooth e Wi-Fi sem qualquer outra ação.

Porém, se você estiver executando várias instâncias usando a flag --base_instance_num e múltiplas invocações de launch_cvd, será preciso especificar o caminho do servidor vhost de wmediumd para compartilhar a mídia por Wi-Fi, além de evitar a inicialização de várias instâncias de VM para o AP.

Exemplo de inicialização em vários dispositivos

Os comandos abaixo mostram como iniciar duas instâncias do Cuttlefish que compartilham a mídia por Wi-Fi usando a execução serial de launch_cvd.

launch_cvd
launch_cvd --base_instance_num=2 \
  --vhost_user_mac80211_hwsim=$HOME/cuttlefish_runtime.1/internal/vhost_user_mac80211 \
  --ap_kernel_image="" --ap_rootfs_image="" #Prevent launching multiple VM instances for AP

Bluetooth

A implementação do Bluetooth do Cuttlefish está disponível para o rootcanal e pode ser controlada com o console de linha de comando da interface na Web.

No console, há vários comandos que permitem o controle do Bluetooth no dispositivo convidado.

Comando Descrição
list Lista dispositivos e phys atuais
add DEVICE_TYPE [ARGS] Cria um novo dispositivo do tipo DEVICE_TYPE
del DEVICE_INDEX Exclui um dispositivo
add_phy PHY_TYPE Adiciona um novo objeto phy com PHY_TYPE
del_phy PHY_INDEX Exclui um phy
add_device_to_phy DEVICE_INDEX PHY_INDEX Adiciona um dispositivo ao phy
del_device_from_phy DEVICE_INDEX PHY_INDEX Exclui um dispositivo do phy
add_remote HOSTNAME PORT PHY_TYPE Adiciona um Rootcanal remoto como dispositivo e faz o registro no phy
Tipo de dispositivo e args
beacon [MAC_ADDRESS] [ADVERTISE_INTERVAL]
scripted_beacon [MAC_ADDRESS] [CONFIG_PATH] [EVENTS_PATH]
keyboard [MAC_ADDRESS] [ADVERTISE_INTERVAL]
loopback [MAC_ADDRESS] [ADVERTISE_INTERVAL]
sniffer

Wi-Fi

wmediumd_control

wmediumd_control é uma ferramenta de linha de comando que controla a mídia de conectividade por Wi-Fi. A ferramenta oferece estes comandos para manipular o Wi-Fi:

Comando Descrição
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Define o valor SNR (0 a 255) entre duas estações
start_pcap PCAP_FILE_PATH Começa a capturar todos os frames transmitidos pelo ar e os armazena no arquivo .pcap
stop_pcap Interrompe e finaliza a captura de pacote atual
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_position MAC_ADDR X_POSITION Y_POSITION Define a posição da estação em espaço bidimensional

OpenWRT

Se você quiser conectar com OpenWRT (ponto de acesso), use ssh ou a página da Web de administrador.

Tipo de conexão Método
ssh
ssh root@192.168.96.2
Página da Web do administrador https://192.168.96.2