Testen Sie die Konnektivität mehrerer Geräte

Hintergrund

Das Ausführen mehrerer virtueller Cuttlefish-Geräte kann durch Ausführen des folgenden Befehls erfolgen:

launch_cvd --num_instances=n

Wenn Sie zwei oder mehr Instanzen mit dem Flag --num_instances ausführen, teilen sich die Instanzen das Konnektivitätsmedium für Wi-Fi und Bluetooth. Mit dieser Einstellung können die Cuttlefish-Instanzen ohne zusätzliche Maßnahmen einander über Bluetooth und WLAN erkennen und eine Verbindung herstellen.

Wenn Sie jedoch mehrere Instanzen mithilfe des Flags --base_instance_num und mehrerer launch_cvd Aufrufe ausführen, müssen Sie den vhost-Serverpfad von wmediumd angeben, um das Wi-Fi-Medium freizugeben, und außerdem verhindern, dass mehrere VM-Instanzen für AP gestartet werden.

Beispiel für den Start mehrerer Geräte

Die folgenden Befehle zeigen, wie zwei Cuttlefish-Instanzen, die das Wi-Fi-Medium gemeinsam nutzen, mithilfe der seriellen Ausführung von launch_cvd gestartet werden.

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

Die Cuttlefish-Bluetooth-Implementierung wird von Rootcanal unterstützt und kann mit der Web-UI-Befehlszeilenkonsole gesteuert werden.

In der Konsole gibt es mehrere Befehle, die die Steuerung von Bluetooth auf dem Gastgerät ermöglichen:

Befehl Beschreibung
list Aktuelle Geräte und physische Daten auflisten
DEVICE_TYPE [ARGS] add Erstellen Sie ein neues Gerät vom Typ DEVICE_TYPE
del DEVICE_INDEX Ein Gerät löschen
add_phy PHY_TYPE Fügen Sie mit PHY_TYPE eine neue Phy hinzu
del_phy PHY_INDEX Löschen Sie eine Phy
add_device_to_phy DEVICE_INDEX PHY_INDEX Fügen Sie ein Gerät zu Phy hinzu
del_device_from_phy DEVICE_INDEX PHY_INDEX Löschen Sie ein Gerät aus der Phy
add_remote HOSTNAME PORT PHY_TYPE Fügen Sie einen Remote-Rootcanal als Gerät hinzu und registrieren Sie es bei Phy
Gerätetyp und Argumente
beacon [MAC_ADDRESS] [ADVERTISE_INTERVAL]
scripted_beacon [MAC_ADDRESS] [CONFIG_PATH] [EVENTS_PATH]
keyboard [MAC_ADDRESS] [ADVERTISE_INTERVAL]
loopback [MAC_ADDRESS] [ADVERTISE_INTERVAL]
sniffer

W-lan

wmediumd_control

wmediumd_control ist ein Befehlszeilentool, das das WLAN-Konnektivitätsmedium steuert. Das Tool verfügt über die folgenden Befehle zum Manipulieren von WLAN:

Befehl Beschreibung
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE Stellen Sie den SNR-Wert (0~255) zwischen zwei Stationen ein
start_pcap PCAP_FILE_PATH Beginnen Sie mit der Erfassung aller übertragenen Frames und speichern Sie sie in einer .pcap-Datei
stop_pcap Stoppen Sie die aktuelle Paketerfassung und schließen Sie sie ab
list_stations Listen Sie alle an wmediumd angeschlossenen Stationen auf
reload_config [CONFIG_FILE_PATH] Laden Sie die wmediumd-Konfiguration mit CONFIG_FILE_PATH neu. Wenn CONFIG_FILE_PATH weggelassen wird, laden Sie die aktuell geladene Konfigurationsdatei neu
set_position MAC_ADDR X_POSITION Y_POSITION Position der Station im zweidimensionalen Raum festlegen

OpenWRT

Wenn Sie eine Verbindung zu OpenWRT (Access Point) herstellen möchten, können Sie entweder ssh oder die Admin-Webseite verwenden.

Verbindungstyp Methode
ssh
ssh root@192.168.96.2
Admin-Webseite https://192.168.96.2