Wi-Fi

이 페이지에서는 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 인스턴스를 연결합니다.