LINUX.ORG.RU

История изменений

Исправление Stanson, (текущая версия) :

А что происходит по нажатию кнопки «Отключить устройство от хоста и подключить к гостевой системе»?

Выгрузка возможно загруженного линуксового драйвера который загрузился по VID:PID или классу и подключение виртуалки к девайсу через libusb, создание виртуального девайса для гостя и перекидывание URB из гостя в libusb и обратно.

В случае виртуалки схема такая:

USB девайс - USB хост - ядро - USB стек - libusb - виртуалка - псевдоUSBдевайс - псевдоUSBхост - ядро венды - вендовый USB стек - вендодрайвер - софтина.

В случае нормального использования чем-то типа xsane

USB девайс - USB хост - ядро - USB стек - libusb - софтина

или, если для девайса есть драйвер, например, usbserial

USB девайс - USB хост - ядро - USB стек - usbserial - софтина

Использование венды в виртуалке вообще ничего не меняет, только добавляет ненужные прослойки между libusb и софтиной.

Исходная версия Stanson, :

А что происходит по нажатию кнопки «Отключить устройство от хоста и подключить к гостевой системе»?

Выгрузка возможно загруженного линуксового драйвера который загрузился по VID:PID или классу и подключение к девайсу через libusb, создание виртуального девайса для гостя и перекидывание URB из гостя в libusb и обратно.

В случае виртуалки схема такая:

USB девайс - USB хост - ядро - USB стек - libusb - виртуалка - псевдоUSBдевайс - псевдоUSBхост - ядро венды - вендовый USB стек - вендодрайвер - софтина.

В случае нормального использования чем-то типа xsane

USB девайс - USB хост - ядро - USB стек - libusb - софтина

или, если для девайса есть драйвер, например, usbserial

USB девайс - USB хост - ядро - USB стек - usbserial - софтина

Использование венды в виртуалке вообще ничего не меняет, только добавляет ненужные прослойки между libusb и софтиной.