Cuttlefish Wi-Fi 기능은 시뮬레이션 도구인 Wmediumd를 사용하여 무선 매체를 시뮬레이션합니다. Wmediumd는 두 Cuttlefish 인스턴스 간 또는 Cuttlefish 인스턴스와 OpenWRT 인스턴스 간 Wi-Fi 패킷 전송을 관리합니다. Cuttlefish용 Wmediumd는 /platform/external/wmediumd/에서 구현됩니다.
Wmediumd 인터페이스를 제어하려면 WmediumdService(Android 14 이상) 또는 wmedium_control(Android 13 이하) 도구를 사용하세요.
WmediumdService
Android 14 이상을 실행하는 기기의 경우 WmediumdService를 사용하여 Wmediumd 도구를 제어하세요. REST API나 명령줄 인터페이스(CLI)를 사용하여 이 서비스를 제어하는 방법에 관한 자세한 내용은 Cuttlefish: 환경 제어를 참고하세요.
다음 표에는 WmediumdService의 메서드가 나열되어 있습니다. 메서드에 관한 자세한 설명은 wmediumd.proto를 참고하세요.
메서드
설명
ListStations
Wmediumd에 연결된 모든 스테이션을 나열합니다.
LoadConfig
주어진 파일로 Wmediumd 구성을 로드합니다.
ReloadConfig
현재 로드된 Wmediumd 구성 파일을 새로고침합니다.
SetCivicloc
특정 스테이션의 도시 위치(예: 우편 주소)를 설정합니다.
SetLci
특정 스테이션의 LCI(위도, 경도, 고도)를 설정합니다.
SetPosition
2차원 공간에서 스테이션 위치를 설정합니다.
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가 생략된 경우에는 현재 로드된 구성 파일을 새로고침합니다.
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 인스턴스를 연결합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Wi-Fi\n\nThis page describes how to control Wi-Fi on a Cuttlefish device.\n\nUse Wmediumd\n------------\n\nThe Cuttlefish Wi-Fi feature uses Wmediumd, a simulation tool,\nto simulate the wireless medium. Wmediumd manages the delivery of Wi-Fi packets\nbetween two Cuttlefish instances or between a Cuttlefish instance and an\nOpenWRT instance. Wmedium for Cuttlefish is implemented in\n[`/platform/external/wmediumd/`](https://cs.android.com/android/platform/superproject/+/android-latest-release:external/wmediumd/).\n\nTo control the Wmediumd interface, use the `WmediumdService`\n(Android 14 or higher) or `wmedium_control`\n(Android 13 or lower) tool.\n\n### WmediumdService\n\nFor devices running Android 14 or higher, use\n`WmediumdService` to control the Wmedium tool. For details on how to control\nthis service using the REST API or the command line interface (CLI), see\n[Cuttlefish: Environment Control](/docs/devices/cuttlefish/control-environment).\n\nThe following table lists the methods in `WmediumdService`. For detailed\ninformation about the methods, see\n[`wmediumd.proto`](https://cs.android.com/android/platform/superproject/+/android-latest-release:external/wmediumd/wmediumd_server/wmediumd.proto).\n\n| Methods | Description |\n|----------------|-------------------------------------------------------------------------------|\n| `ListStations` | List all stations attached to Wmediumd. |\n| `LoadConfig` | Load Wmediumd configuration with a given file. |\n| `ReloadConfig` | Reload currently loaded Wmediumd configuration file. |\n| `SetCivicloc` | Set civic location (for example, postal address) of the specific station. |\n| `SetLci` | Set LCI (latitude, longitude, altitude) of the specific station. |\n| `SetPosition` | Set position of the station in two-dimensional space. |\n| `SetSnr` | Set signal-to-noise ratio (SNR) value (0-255) between two stations. |\n| `SetTxpower` | Set transmit power (TX power) of the specific station. |\n| `StartPcap` | Start capturing all frames transmitted to air and store it to a `.pcap` file. |\n| `StopPcap` | Stop and finalize current packet capture. |\n\n### wmediumd_control\n\n| **Note:** From Android 14, `WmediumdService` replaces the `wmediumd_control` tool.\n\nFor devices running Android 13 or lower, use the\n`wmediumd_control` tool to control the wireless medium in Cuttlefish devices.\nThe following table lists subcommands in `wmediumd_control`.\n\n| Subcommands | Description |\n|----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `list_stations` | List all stations attached to Wmediumd. |\n| `reload_config` \u003cvar translate=\"no\"\u003e[\u003ccode translate=\"no\" dir=\"ltr\"\u003eCONFIG_FILE_PATH\u003c/code\u003e] \u003c/var\u003e | Reload Wmediumd configuration with \u003cvar translate=\"no\"\u003eCONFIG_FILE_PATH \u003c/var\u003e. If \u003cvar translate=\"no\"\u003e CONFIG_FILE_PATH\u003c/var\u003e is omitted, reload currently loaded config file. |\n| `set_civicloc `\u003cvar translate=\"no\"\u003eMAC_ADDR \u003c/var\u003e` `\u003cvar translate=\"no\"\u003eCIVICLOC\u003c/var\u003e | Set civic location (for example, postal address) of the specific station. |\n| `set_lci `\u003cvar translate=\"no\"\u003eMAC_ADDR \u003c/var\u003e` `\u003cvar translate=\"no\"\u003eLCI\u003c/var\u003e | Set LCI (latitude, longitude, altitude) of the specific station. |\n| `set_position `\u003cvar translate=\"no\"\u003eMAC_ADDR \u003c/var\u003e` `\u003cvar translate=\"no\"\u003eX_POSITION\u003c/var\u003e` `\u003cvar translate=\"no\"\u003eY_POSITION\u003c/var\u003e | Set position of the station in two-dimensional space. |\n| `set_snr `\u003cvar translate=\"no\"\u003eMAC_ADDR1 \u003c/var\u003e` `\u003cvar translate=\"no\"\u003eMAC_ADDR2\u003c/var\u003e` `\u003cvar translate=\"no\"\u003eSNR_VALUE\u003c/var\u003e | Set signal-to-noise ratio (SNR) value (0-255) between two stations. |\n| `start_pcap `\u003cvar translate=\"no\"\u003ePCAP_FILE_PATH \u003c/var\u003e | Start capturing all frames transmitted to air and store it to a `.pcap` file. |\n| `stop_pcap` | Stop and finalize current packet capture. |\n\nUse OpenWRT\n-----------\n\nThe Cuttlefish Wi-Fi feature supports using OpenWRT for virtualizing Wi-Fi\naccess points (APs). The OpenWRT implementation for Cuttlefish is at\n[`platform/external/openwrt-prebuilts/`](https://cs.android.com/android/platform/superproject/+/android-latest-release:external/openwrt-prebuilts/).\n\nTo connect to OpenWRT, use the information in the following table. If you\ndon't append any options when launching Cuttlefish, the device ID is\n`cvd-1`, and the OpenWRT WAN IP address is `192.168.94.2` or `192.168.96.2`.\n\n| Connection type | Destination |\n|------------------|--------------------------------------------------------------------------------|\n| SSH | `root@`\u003cvar translate=\"no\"\u003eOPENWRT_WAN_IP_ADDRESS\u003c/var\u003e |\n| Webpage | `https://localhost:1443/devices/`\u003cvar translate=\"no\"\u003eDEVICE_ID\u003c/var\u003e`/openwrt` |\n| Webpage (legacy) | `https://`\u003cvar translate=\"no\"\u003eOPENWRT_WAN_IP_ADDRESS\u003c/var\u003e |\n\n### OpenwrtControlService\n\nFor devices running Android 14 or higher, to control\nand configure virtualized Wi-Fi APs, use the\n`OpenwrtControlService` service. For details on how to control this service\nusing the REST API or the CLI, see\n[Cuttlefish: Environment Control](/docs/devices/cuttlefish/control-environment).\n\nThe following table lists the methods in `OpenwrtControlService`. For detailed\ninformation about the methods, see\n[`openwrt_control.proto`](https://cs.android.com/android/platform/superproject/+/android-latest-release:device/google/cuttlefish/host/commands/openwrt_control_server/).\n\n| Methods | Description |\n|-----------------|-------------------------------------------------------------------------------------------------------------|\n| `LuciRpc` | Send RPC call to the Luci web interface in OpenWRT. |\n| `OpenwrtIpAddr` | Get OpenWRT WAN IP address. Use this address to connect an OpenWRT instance through SSH or a web interface. |"]]