本页介绍了如何在 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 |
设置站点在二维空间中的位置。 |
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 实例。 |