여러 기기 연결 테스트

배경

다음 명령어를 실행하여 여러 Cuttlefish 가상 기기를 실행할 수 있습니다.

launch_cvd --num_instances=n

--num_instances 플래그를 사용하여 두 개 이상의 인스턴스를 실행하는 경우 인스턴스는 Wi-Fi 및 블루투스에서 연결 매체를 공유합니다. 이 설정을 사용하면 Cuttlefish 인스턴스에서 추가 작업 없이 블루투스와 Wi-Fi를 통해 서로 찾고 연결할 수 있습니다.

하지만, --base_instance_num 플래그와 여러 launch_cvd 호출을 사용하여 여러 개의 인스턴스를 실행하고 있다면 wmediumd의 vhost 서버 경로를 지정하여 Wi-Fi 매체를 공유하고 AP의 여러 VM 인스턴스 실행도 방지해야 합니다.

멀티 디바이스 실행 예

다음 명령어는 launch_cvd 직렬 실행을 사용하여 Wi-Fi 매체를 공유하는 두 개의 Cuttlefish 인스턴스를 실행하는 방법을 보여줍니다.

launch_cvd
launch_cvd --base_instance_num=2 \
  --vhost_user_mac80211_hwsim=$HOME/cuttlefish_runtime.1/internal/vhost_user_mac80211 \
  --ap_kernel_image="" --ap_rootfs_image="" #Prevent launching multiple VM instances for AP

블루투스

Cuttlefish 블루투스 구현은 rootcanal에서 지원하며 웹 UI 명령줄 콘솔로 제어할 수 있습니다.

콘솔에는 게스트 기기의 블루투스를 제어할 수 있는 몇 가지 명령어가 있습니다.

명령어 설명
list 현재 기기 및 phy 목록
add DEVICE_TYPE [ARGS] DEVICE_TYPE 유형의 새 기기 만들기
del DEVICE_INDEX 기기 삭제
add_phy PHY_TYPE PHY_TYPE의 새 phy 추가
del_phy PHY_INDEX phy 삭제
add_device_to_phy DEVICE_INDEX PHY_INDEX phy에 기기 추가
del_device_from_phy DEVICE_INDEX PHY_INDEX phy에서 `기기 삭제
add_remote HOSTNAME PORT PHY_TYPE 원격 Rootcanal을 기기로 추가하고 phy에 등록
기기 유형 및 인수
beacon [MAC_ADDRESS] [ADVERTISE_INTERVAL]
scripted_beacon [MAC_ADDRESS] [CONFIG_PATH] [EVENTS_PATH]
keyboard [MAC_ADDRESS] [ADVERTISE_INTERVAL]
loopback [MAC_ADDRESS] [ADVERTISE_INTERVAL]
sniffer

Wi-Fi

wmediumd_control

wmediumd_control은 Wi-Fi 연결 매체를 제어하는 명령줄 도구로, Wi-Fi를 조작하기 위해 다음과 같은 명령어를 사용합니다.

명령어 설명
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE 두 스테이션 간 SNR 값(0~255) 설정
start_pcap PCAP_FILE_PATH 전송되는 모든 프레임의 캡처 시작 및 .pcap 파일에 저장
stop_pcap 현재 패킷 캡처 중지 및 마무리
list_stations wmediumd에 연결된 모든 스테이션 나열
reload_config [CONFIG_FILE_PATH] CONFIG_FILE_PATH의 wmediumd 구성 새로고침(CONFIG_FILE_PATH가 생략된 경우에는 현재 로드된 구성 파일을 새로고침)
set_position MAC_ADDR X_POSITION Y_POSITION 2차원 공간에서 스테이션 위치 설정

OpenWRT

OpenWRT(액세스 포인트)에 연결하려면 ssh나 관리자 웹페이지 중 하나를 사용하면 됩니다.

연결 유형 메서드
ssh
ssh root@192.168.96.2
관리 웹페이지 https://192.168.96.2