История изменений
Исправление 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 и софтиной.