이 페이지에서는 Cuttlefish 기기에서 Wi-Fi를 제어하는 방법을 설명합니다.
Wmediumd 사용
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가 생략된 경우에는 현재 로드된 구성 파일을 새로고침합니다. |
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 |
두 스테이션 간 신호 대 잡음비(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 |
RPC 호출을 OpenWRT의 Luci 웹 인터페이스로 전송합니다. |
OpenwrtIpAddr
|
OpenWRT WAN IP 주소를 가져옵니다. 이 주소를 사용하여 SSH 또는 웹 인터페이스를 통해 OpenWRT 인스턴스를 연결합니다. |