本頁說明如何在 Cuttlefish 裝置上控制 Wi-Fi。
使用 Wmediumd
Cuttlefish Wi-Fi 功能使用模擬工具 Wmediumd 來模擬無線媒介。Wmediumd 會管理兩個 Cuttlefish 執行個體之間,或 Cuttlefish 執行個體與 OpenWRT 執行個體之間的 Wi-Fi 封包傳送作業。系統會在 /platform/external/wmediumd/
中實作 Cuttlefish 的 Wmedium。
如要控制 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 |
在二維空間中設定車站位置。 |
SetSnr
|
設定兩個站點之間的信噪比 (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 |
在二維空間中設定站點位置。 |
set_snr MAC_ADDR1
MAC_ADDR2
SNR_VALUE |
設定兩個站之間的信噪比 (SNR) 值 (0-255)。 |
start_pcap
PCAP_FILE_PATH
|
開始擷取所有傳輸至空氣的影格,並將其儲存至 .pcap 檔案。 |
stop_pcap
|
停止並完成目前的封包擷取作業。 |
使用 OpenWrt
Cuttlefish Wi-Fi 功能支援使用 OpenWRT 將 Wi-Fi 存取點 (AP) 虛擬化。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 |
將 RPC 呼叫傳送至 OpenWRT 中的 Luci 網頁介面。 |
OpenwrtIpAddr
|
取得 OpenWRT WAN IP 位址。使用這個位址,透過 SSH 或網頁介面連線至 OpenWRT 執行個體。 |