Testowanie łączności wielu urządzeń

Tło

Uruchamianie wielu wirtualnych urządzeń Cuttlefish można wykonać za pomocą tego polecenia:

launch_cvd --num_instances=n

Gdy uruchamiasz co najmniej 2 instancje za pomocą flagi --num_instances, instancje współdzielą medium łączności Wi-Fi i Bluetooth. To ustawienie umożliwia instancjom Cuttlefish wykrywanie się nawzajem i łączenie się ze sobą przez Bluetooth i Wi-Fi bez dodatkowych działań.

Jeśli jednak uruchamiasz wiele instancji za pomocą flagi --base_instance_num i wielu wywołań launch_cvd, musisz określić ścieżkę serwera vhost wmediumd, aby udostępnić medium Wi-Fi, a także zapobiec uruchamianiu wielu instancji maszyn wirtualnych dla punktu dostępu.

Przykład uruchamiania na wielu urządzeniach

Poniższe polecenia pokazują, jak uruchomić 2 instancje Cuttlefish, które współdzielą medium Wi-Fi, za pomocą sekwencyjnego wykonania 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

Implementacja Bluetooth w Cuttlefish jest obsługiwana przez rootcanal i można nią sterować za pomocą konsoli wiersza poleceń interfejsu internetowego.

W konsoli jest kilka poleceń, które umożliwiają sterowanie Bluetooth na urządzeniu gościa:

Polecenie Opis
list Wyświetla listę bieżących urządzeń i fizycznych interfejsów
add DEVICE_TYPE [ARGS] Tworzy nowe urządzenie typu DEVICE_TYPE
del DEVICE_INDEX Usuwa urządzenie
add_phy PHY_TYPE Dodaje nowy fizyczny interfejs typu PHY_TYPE
del_phy PHY_INDEX Usuwa fizyczny interfejs
add_device_to_phy DEVICE_INDEX PHY_INDEX Dodaje urządzenie do fizycznego interfejsu
del_device_from_phy DEVICE_INDEX PHY_INDEX Usuwa urządzenie z fizycznego interfejsu
add_remote HOSTNAME PORT PHY_TYPE Dodaje zdalny Rootcanal jako urządzenie i rejestruje go w fizycznym interfejsie
Typ urządzenia i argumenty
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 to narzędzie wiersza poleceń, które steruje medium łączności Wi-Fi. Narzędzie ma te polecenia do manipulowania Wi-Fi:

Polecenie Opis
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Ustawia wartość SNR (0–255) między 2 stacjami
start_pcap PCAP_FILE_PATH Rozpoczyna przechwytywanie wszystkich ramek przesyłanych drogą radiową i zapisuje je w pliku .pcap
stop_pcap Zatrzymuje i kończy bieżące przechwytywanie pakietów
list_stations Wyświetla listę wszystkich stacji podłączonych do wmediumd
reload_config [CONFIG_FILE_PATH] Ponownie wczytuje konfigurację wmediumd z CONFIG_FILE_PATH. Jeśli CONFIG_FILE_PATH jest pominięty, ponownie wczytuje aktualnie wczytany plik konfiguracyjny
set_position MAC_ADDR X_POSITION Y_POSITION Ustawia pozycję stacji w przestrzeni dwuwymiarowej

OpenWRT

Jeśli chcesz połączyć się z OpenWRT (punktem dostępu), możesz użyć ssh lub strony administracyjnej.

Typ połączenia Metoda
ssh
ssh root@192.168.96.2
Strona administracyjna https://192.168.96.2