Testowanie łączności wielu urządzeń

Tło

Aby uruchomić wiele wirtualnych urządzeń Cuttlefish, wykonaj to polecenie:

launch_cvd --num_instances=n

Jeśli używasz co najmniej 2 instancji z flagą --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 wprowadzenia na rynek wielu urządzeń

Poniższe polecenia pokazują, jak uruchomić 2 instancje Cuttlefish, które współdzielą medium Wi-Fi, używając sekwencyjnego wykonywania 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 Bluetootha 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świetlanie listy bieżących urządzeń i fizycznych
add DEVICE_TYPE [ARGS] Utwórz nowe urządzenie typu DEVICE_TYPE
del DEVICE_INDEX Usuwanie urządzenia
add_phy PHY_TYPE Dodaj nowy plik z PHY_TYPE
del_phy PHY_INDEX Usuwanie phy
add_device_to_phy DEVICE_INDEX PHY_INDEX Dodawanie urządzenia do phy
del_device_from_phy DEVICE_INDEX PHY_INDEX Usuwanie urządzenia z poziomu urządzenia fizycznego
add_remote HOSTNAME PORT PHY_TYPE Dodaj zdalny Rootcanal jako urządzenie i zarejestruj go w phy.
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 kontroluje medium łączności Wi-Fi. Narzędzie ma te polecenia do manipulowania Wi-Fi:

Polecenie Opis
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Ustaw wartość SNR (0–255) między dwoma stacjami
start_pcap PCAP_FILE_PATH Rozpocznij rejestrowanie wszystkich ramek przesyłanych drogą radiową i zapisywanie ich w pliku .pcap.
stop_pcap Zatrzymaj i zakończ bieżące przechwytywanie pakietów.
list_stations Wyświetlanie listy wszystkich stacji dołączonych do usługi wmediumd
reload_config [CONFIG_FILE_PATH] Ponowne wczytanie konfiguracji wmediumd za pomocą polecenia CONFIG_FILE_PATH. Jeśli CONFIG_FILE_PATH zostanie pominięte, ponownie wczytany zostanie aktualnie załadowany plik konfiguracyjny.
set_position MAC_ADDR X_POSITION Y_POSITION Ustaw 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 internetowa administratora https://192.168.96.2