このページでは、Cuttlefish デバイスでの Wi-Fi の制御方法について説明します。
Wmediumd を使用する
Cuttlefish Wi-Fi 機能はシミュレーション ツールである Wmediumd を使用して、ワイヤレス メディアのシミュレーションを行います。Wmediumd は、Cuttlefish インスタンス間、または Cuttlefish インスタンスと OpenWRT インスタンス間での Wi-Fi パケットの配信を管理します。Cuttlefish の Wmedium は /platform/external/wmediumd/
に実装されています。
Wmediumd インターフェースを制御するには、WmediumdService
(Android 14 以降)または wmedium_control
(Android 13 以前)のツールを使用します。
WmediumdService
Android 14 以降を搭載しているデバイスでは、WmediumdService
を使用して Wmedium ツールを制御します。REST API またはコマンドライン インターフェース(CLI)を使用してこのサービスを制御する方法について詳しくは、Cuttlefish: 環境制御をご覧ください。
WmediumdService
のメソッドの一覧を次の表に示します。メソッドの詳細については、wmediumd.proto
をご覧ください。
メソッド | 説明 |
---|---|
ListStations |
Wmediumd に接続されている全局をリストします。 |
LoadConfig |
指定されたファイルの Wmediumd 構成を読み込みます。 |
ReloadConfig |
現在読み込まれている Wmediumd 構成ファイルを再度読み込みます。 |
SetCivicloc
|
特定の局の市民活動に関する位置情報(例: 住所)を設定します。 |
SetLci
|
特定の局の LCI(緯度、経度、高度)を設定します。 |
SetPosition |
2 次元空間における局の位置を設定します。 |
SetSnr
|
2 局間の信号対雑音比(SNR)の値(0~255)を設定します。 |
SetTxpower |
特定の局の送信電力(TX 電力)を設定します。 |
StartPcap
|
無線で送信される全フレームのキャプチャを開始し、.pcap ファイルに保存します。 |
StopPcap |
現在のパケット キャプチャを停止して完了します。 |
wmediumd_control
Android 13 以前を搭載しているデバイスの場合は、wmediumd_control
ツールを使用して Cuttlefish デバイスでワイヤレス メディアを制御します。wmediumd_control
のサブコマンドの一覧を次の表に示します。
サブコマンド | 説明 |
---|---|
list_stations
|
Wmediumd に接続されている全局をリストします。 |
reload_config
[CONFIG_FILE_PATH ]
|
CONFIG_FILE_PATH で Wmediumd 構成を再読み込みします。 CONFIG_FILE_PATH が省略された場合は、現在読み込まれている構成ファイルを再読み込みします。 |
set_civicloc MAC_ADDR
CIVICLOC |
特定の局の市民活動に関する位置情報(例: 住所)を設定します。 |
set_lci MAC_ADDR
LCI |
特定の局の LCI(緯度、経度、高度)を設定します。 |
set_position MAC_ADDR
X_POSITION
Y_POSITION |
2 次元空間における局の位置を設定します。 |
set_snr MAC_ADDR1
MAC_ADDR2
SNR_VALUE |
2 局間の信号対雑音比(SNR)の値(0~255)を設定します。 |
start_pcap
PCAP_FILE_PATH
|
無線で送信される全フレームのキャプチャを開始し、.pcap ファイルに保存します。 |
stop_pcap
|
現在のパケット キャプチャを停止して完了します。 |
OpenWRT を使用する
Cuttlefish Wi-Fi 機能は、仮想化された Wi-Fi アクセス ポイント(AP)に対する OpenWRT の使用に対応しています。Cuttlefish 用の OpenWRT 実装は platform/external/openwrt-prebuilts/
で入手できます。
OpenWRT に接続するには、次の表に記載されている情報を使用します。Cuttlefish をリリースする際にオプションを追加しない場合、デバイス ID は cvd-1
に設定され、OpenWRT WAN の IP アドレスは 192.168.94.2
または 192.168.96.2
です。
接続タイプ | 接続先 |
---|---|
SSH | root@OPENWRT_WAN_IP_ADDRESS |
ウェブページ | https://localhost:1443/devices/DEVICE_ID/openwrt |
ウェブページ(レガシー) | https://OPENWRT_WAN_IP_ADDRESS |
OpenwrtControlService
Android 14 以降を搭載したデバイスの場合、仮想化された Wi-Fi AP の制御と構成を行うには、OpenwrtControlService
サービスを使用します。REST API または CLI を使用してこのサービスを制御する方法について詳しくは、Cuttlefish: 環境制御をご覧ください。
OpenwrtControlService
のメソッドの一覧を次の表に示します。メソッドの詳細については、openwrt_control.proto
をご覧ください。
メソッド | 説明 |
---|---|
LuciRpc |
OpenWRT の Luci ウェブ インターフェースに RPC 呼び出しを送信します。 |
OpenwrtIpAddr
|
OpenWRT WAN の IP アドレスを取得します。このアドレスを使用し、SSH またはウェブ インターフェースを介して OpenWRT インスタンスを接続します。 |