LINUX.ORG.RU

Пробросить физический usb порт в гостевую ОС virtualbox

 , ,


0

2

Добрый день ЛОР. Сабж. Возможно ли вообще такое? Мне гостевая система нужна для прошивки окирпиченого девайса. Проброс устройств не предлагать.

★★★★
Ответ на: комментарий от iliyap

Необязательно, к нему доступ может быть только через специализированные драйверы, имеющиеся только под Windows.

К тому же в процессе прошивки кирпича через специализированное ПО VID и PID могут изменяться, а это значит, что в usbip перестанет работать проброс устройства и его нужно будет пробрасывать по уже новым vid и pid. И тут уже вопрос как специализированное ПО отработает в таком случае. Будет ли оно ждать достаточно долго, пока ТС перенастроит проброс в ХОСТ системе с usbip, удалит проброс по старым VID / PID и запустит проброс по новым, и аналогично перенастроит проброс в системе, куда пробрасывается.

anonymous
()
Ответ на: комментарий от anonymous

Тебе всё правильно пишут. Любое USB устройство сначала сообщает системе свои vid и pid. Ровным счётом как и в дровах есть список vid и pid, с которыми может работать драйвер. Система просто сопоставляет их и запускает необходимый драйвер.

Поэтому, устройство либо видно в системе(даже если это «неизвестное устройство» в винде) и тогда оно имеет свои vid и pid, либо устройство не видно в системе.

Ну и вопрос тебе на логику: если устройство не имеет vid и pid, то как система выберет для него драйвер?

u5er ★★
()
Ответ на: комментарий от vbr

Вообще логично, но повторюсь, всё зависит от софта.

К примеру, тестировали Google Coral Usb Accelerator, docker контейнер с FreeGate запускался на Debian, запущенном в HyperV. А там с пробросом USB вообще не очень. Пробрасывали через usbip с Windows хост системы в Debian, запущенном в виртуальном окружении HyperV. Далее запускался контейнер, в него пробрасывался /dev/bus/usb хоста.

Он запускался, говорил, что не вижу TPU. В итоге при своём запуске он посылал команды в USB устройство, оно меняло VID и PID.

После чего в Windows нужно было деаттачить устройство с usbip, добавить новое устройство с новыми VID/PID. В Linux ВМ так же деааттачить устройство. Присоединить новое, перезапустить контейнер - тогда всё запускалось.

Вот пример, когда софт не очень умеет, но всё возможно, если подумать.

https://picockpit.com/raspberry-pi/ru/%D0%B2%D1%81%D0%B5-%D0%BE-google-coral-usb-accelerator/

anonymous
()
Ответ на: комментарий от anonymous

В Hyper-V с пробросом USB всё грустно, да, в других виртуальных машинах обычно лучше работает. По крайней мере в VirtualBox и qemu у меня проблем не было, просто заранее пишутся все правила на проброс и потом оно нормально работает.

Не, понятно, что это всё гемор и если не сложно с нужной ОС загрузиться, то так и надо сделать.

vbr ★★★★
()

а в чём проблема в настройках gui указать этот самый проброс портов?

Я себе так делал для Android ADB, правда неокирпиченный, но полноценный adb имел и даже полноценную отладку с брекпоинтами и из VisualStudio (MAUI) и AndroidStudio (AndroidSDK)

bonta ★★★★★
()