本页介绍如何控制 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 或更低版本)工具。
中型服务
对于运行 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 power)。 |
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 |
Openwrt控制服务
对于运行 Android 14 或更高版本的设备,要控制和配置虚拟化 Wi-Fi AP,请使用OpenwrtControlService
服务。有关如何使用 REST API 或 CLI 控制此服务的详细信息,请参阅Cuttlefish:环境控制。
下表列出了OpenwrtControlService
中的方法。有关这些方法的详细信息,请参阅openwrt_control.proto
。
方法 | 描述 |
---|---|
LuciRpc | 向 OpenWRT 中的 Luci Web 界面发送 RPC 调用。 |
OpenwrtIpAddr | 获取 OpenWRT WAN IP 地址。使用此地址通过 SSH 或 Web 界面连接 OpenWRT 实例。 |