Фон
Запуск нескольких виртуальных устройств 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 |