Проверка подключения нескольких устройств

Фон

Запуск нескольких виртуальных устройств Cuttlefish можно выполнить, применив следующую команду:

launch_cvd --num_instances=n

При использовании флага --num_instances два или более экземпляра совместно используют каналы связи Wi-Fi и Bluetooth. Этот параметр позволяет экземплярам Cuttlefish обнаруживать друг друга и подключаться друг к другу через Bluetooth и Wi-Fi без дополнительных действий.

Однако, если вы запускаете несколько экземпляров, используя флаг --base_instance_num и несколько вызовов launch_cvd , вам необходимо указать путь к серверу vhost wmediumd для совместного использования Wi-Fi-сети, а также предотвратить запуск нескольких экземпляров виртуальных машин для точки доступа.

Пример запуска на нескольких устройствах

Следующие команды показывают, как запустить два экземпляра Cuttlefish, использующих общую сеть Wi-Fi, с помощью последовательного выполнения команды launch_cvd .

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

Bluetooth

Реализация Bluetooth в Cuttlefish поддерживается программой rootcanal и может управляться через веб-интерфейс командной строки.

В консоли есть несколько команд, позволяющих управлять Bluetooth на гостевом устройстве:

Командование Описание
list Перечислите имеющиеся устройства и физические устройства.
add DEVICE_TYPE [ARGS] Создать новое устройство типа DEVICE_TYPE
del DEVICE_INDEX Удалить устройство
add_phy PHY_TYPE Добавить новый физический тип с помощью PHY_TYPE
del_phy PHY_INDEX Удалить физический объект
add_device_to_phy DEVICE_INDEX PHY_INDEX Добавить устройство в phy
del_device_from_phy DEVICE_INDEX PHY_INDEX Удалить устройство из физического порта
add_remote HOSTNAME PORT PHY_TYPE Добавьте удаленный Rootcanal в качестве устройства и зарегистрируйте его в физической системе.
Тип устройства и аргументы
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] Перезагрузите конфигурацию wmediumd с CONFIG_FILE_PATH ; если CONFIG_FILE_PATH отсутствует, перезагрузите текущий загруженный файл конфигурации.
set_position MAC_ADDR X_POSITION Y_POSITION Задать положение станции в двухмерном пространстве

OpenWRT

Для подключения к OpenWRT (точке доступа) можно использовать либо ssh , либо веб-страницу администратора.

Тип подключения Метод
ssh
ssh root@192.168.96.2
Страница администратора https://192.168.96.2