測試多個設備的連通性

背景

可以透過執行以下命令來運行多個 Cuttlefish 虛擬設備:

launch_cvd --num_instances=n

當您使用--num_instances標誌執行兩個或多個實例時,實例共用 Wi-Fi 和藍牙的連線媒體。此設定允許 Cuttlefish 實例透過藍牙和 Wi-Fi 發現並相互連接,而無需執行其他操作。

但是,如果您使用--base_instance_num標誌和多個launch_cvd呼叫來執行多個實例,則需要指定wmediumd的 vhost 伺服器路徑以共用 Wi-Fi 介質,並防止為 AP 啟動多個 VM 實例。

多設備啟動範例

以下命令顯示如何使用launch_cvd的串列執行來啟動共享 Wi-Fi 媒體的兩個 Cuttlefish 實例。

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

藍牙

Cuttlefish 藍牙實作由 rootcanal 支持,可以使用 Web UI 命令列控制台進行控制。

在控制台中,有幾個命令可用於控制訪客設備上的藍牙:

命令描述
list列出目前設備和物理層
add DEVICE_TYPE [ARGS]建立DEVICE_TYPE類型的新設備
del DEVICE_INDEX刪除設備
add_phy PHY_TYPE使用PHY_TYPE新增新 phy
del_phy PHY_INDEX刪除 phy
add_device_to_phy DEVICE_INDEX PHY_INDEX將設備加入 phy
del_device_from_phy DEVICE_INDEX PHY_INDEX從 phy 中刪除“設備”
add_remote HOSTNAME PORT PHY_TYPE新增遠端 Rootcanal 作為設備並將其註冊到 phy
設備類型和參數
beacon [MAC_ADDRESS] [ADVERTISE_INTERVAL]
scripted_beacon [MAC_ADDRESS] [CONFIG_PATH] [EVENTS_PATH]
keyboard [MAC_ADDRESS] [ADVERTISE_INTERVAL]
loopback [MAC_ADDRESS] [ADVERTISE_INTERVAL]
sniffer

無線上網

wmediumd_control

wmediumd_control是一個控制 Wi-Fi 連線媒體的命令列工具。該工具具有以下命令來操作 Wi-Fi:

命令描述
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE設定兩站之間的SNR值(0~255)
start_pcap PCAP_FILE_PATH開始捕獲傳輸到空中的所有幀並將其儲存到 .pcap 文件
stop_pcap停止並完成當前資料包捕獲
list_stations列出連接到 wmediumd 的所有電台
reload_config [CONFIG_FILE_PATH]使用CONFIG_FILE_PATH重新載入 wmediumd 配置,如果省略CONFIG_FILE_PATH ,則重新載入目前載入的設定檔
set_position MAC_ADDR X_POSITION Y_POSITION設定站點在二維空間中的位置

開放WRT

如果您想要連線到 OpenWRT(存取點),您可以使用ssh或管理網頁。

連接類型方法
SSH
ssh root@192.168.96.2
管理網頁https://192.168.96.2