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 |