複数のデバイスの接続をテストする

背景

次のコマンドを実行すると、複数の Cuttlefish 仮想デバイスを実行できます。

launch_cvd --num_instances=n

--num_instances フラグを使用して複数のインスタンスを実行している場合、インスタンスは Wi-Fi と Bluetooth の接続メディアを共有します。この設定により、Cuttlefish インスタンスは追加のアクションなしで Bluetooth と Wi-Fi から相互に検出と接続ができます。

一方、--base_instance_num フラグと複数の launch_cvd の呼び出しを使用して複数のインスタンスを実行する場合、Wi-Fi メディアを共有するために wmediumd の vhost サーバーのパスを指定し、さらに AP 用に複数の VM インスタンスが起動しないようにする必要もあります。

マルチデバイスの起動の例

次のコマンドは、launch_cvd のシリアル実行を使用して Wi-Fi メディアを共有する 2 つの 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

Bluetooth

Cuttlefish の Bluetooth 実装は rootcanal でサポートされており、ウェブ UI コマンドライン コンソールで制御できます。

コンソールには、ゲストデバイスの Bluetooth を制御できるコマンドがあります。

コマンド 説明
list 現在のデバイスと PHY をリストする
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

Wi-Fi

wmediumd_control

wmediumd_control は、Wi-Fi 接続メディアを制御するコマンドライン ツールです。このツールでは、Wi-Fi を操作するための次のコマンドを使用できます。

コマンド 説明
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE 2 局間の 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 2 次元空間における局の位置を設定する

OpenWRT

OpenWRT(アクセス ポイント)に接続する場合は、ssh または管理ウェブページを使用します。

接続タイプ メソッド
ssh
ssh root@192.168.96.2
管理ウェブページ https://192.168.96.2