背景
可以通过执行以下命令来运行多个 Cuttlefish 虚拟设备
launch_cvd --num_instances=n
当您使用 --num_instances
标志运行两个或更多实例时,这些实例会共享 Wi-Fi 和蓝牙的连接介质。此设置允许 Cuttlefish 实例通过蓝牙和 Wi-Fi 相互发现和连接,而无需执行其他操作。
但是,如果您通过使用 --base_instance_num
标志和多个 launch_cvd
调用来执行多个实例,则需要指定 wmediumd
的 vhost 服务器路径以共享 Wi-Fi 介质,并防止为 AP 启动多个 VM 实例。
多设备启动示例
以下命令展示了如何启动两个 Cuttlefish 实例,这两个实例通过串行执行 launch_cvd
共享 Wi-Fi 介质。
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
蓝牙
Rootcanal 支持 Cuttlefish 蓝牙实现,并且可以通过 Web 界面命令行控制台进行控制。
在控制台中,有几个命令允许控制访客设备上的蓝牙
命令 | 说明 |
---|---|
list |
列出当前设备和物理层 |
add DEVICE_TYPE [ARGS] |
创建类型为 DEVICE_TYPE 的新设备 |
del DEVICE_INDEX |
删除设备 |
add_phy PHY_TYPE |
添加具有 PHY_TYPE 的新物理层 |
del_phy PHY_INDEX |
删除物理层 |
add_device_to_phy DEVICE_INDEX PHY_INDEX |
将设备添加到物理层 |
del_device_from_phy DEVICE_INDEX PHY_INDEX |
从物理层删除设备 |
add_remote HOSTNAME PORT PHY_TYPE |
添加远程 Rootcanal 作为设备并将其注册到物理层 |
设备类型和参数 |
---|
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
是一个命令行工具,用于控制 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 |
在二维空间中设置站点的位置 |
OpenWRT
如果您想连接到 OpenWRT(接入点),您可以使用 ssh
或管理网页。
连接类型 | 方法 |
---|---|
ssh | ssh root@192.168.96.2 |
管理网页 | https://192.168.96.2 |