[Bug 1511887] [NEW] USB device 1.1 not correctly passedthru from Linux host to Windows guest

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 1511887] [NEW] USB device 1.1 not correctly passedthru from Linux host to Windows guest

Jiri Cejka
Public bug reported:

I have USB Digital Oscilloscope which works great on pure Windows
machine but not work on virtualized one. I tried passthru the device
from my Debian Jessie (64bit) host machine to Windows 7 (32bit) guest
machine but unfortunately it does not work very well. It looks that
device is passed thru so Windows machine knows about new device and
loads HID device driver for it but the device driver failed to start the
device and details of an error provided by device manager is "This
device cannot start" Code 10.

Installed Qemu version: 2.1+dfsg-12+deb8u4 0

USB device spec: Dynon Instruments ELAB-080, USB 1.1

On linux host computer
---------------------------
lsusb identify it as:
Bus 003 Device 009: ID 13a3:0001

lsusb -t identify it as:
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 12M

This is how I started my Windows guest machine
------------------------------------------------------
kvm -cpu host \
    -m 2048MiB \
    -hda test.vdi \
    -ctrl-grab \
    -parallel /dev/parport0 \
    -usbdevice host:13a3:0001

...also instead of last line I tried this one:
    -device usb-host,vendorid=0x13a3,productid=0x0001

none of them help to properly handle my device inside guest machine.

Only one time the Windows guest machine properly start the device so
software for that oscilloscope can identify the Oscilloscope and measure
for a while but unfortunately after I guess 5 seconds of measurement the
device was disconnected from Windows and never start working again even
after couple of restarts of guest machine even after plug and unplug
it's USB cable and power cable.

I searched for a solution or some clues to get it work but none of my
searching over the internet was successful. Because device works on pure
Windows but not work on virtualized one, I think there is a problem with
handling not standard USB devices (like sticks, keyboards, mouses etc.)

** Affects: qemu
     Importance: Undecided
         Status: New


** Tags: hid oscilloscope uhci usb

--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1511887

Title:
  USB device 1.1 not correctly passedthru from Linux host to Windows
  guest

Status in QEMU:
  New

Bug description:
  I have USB Digital Oscilloscope which works great on pure Windows
  machine but not work on virtualized one. I tried passthru the device
  from my Debian Jessie (64bit) host machine to Windows 7 (32bit) guest
  machine but unfortunately it does not work very well. It looks that
  device is passed thru so Windows machine knows about new device and
  loads HID device driver for it but the device driver failed to start
  the device and details of an error provided by device manager is "This
  device cannot start" Code 10.

  Installed Qemu version: 2.1+dfsg-12+deb8u4 0

  USB device spec: Dynon Instruments ELAB-080, USB 1.1

  On linux host computer
  ---------------------------
  lsusb identify it as:
  Bus 003 Device 009: ID 13a3:0001

  lsusb -t identify it as:
  /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
      |__ Port 1: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 12M

  This is how I started my Windows guest machine
  ------------------------------------------------------
  kvm -cpu host \
      -m 2048MiB \
      -hda test.vdi \
      -ctrl-grab \
      -parallel /dev/parport0 \
      -usbdevice host:13a3:0001

  ...also instead of last line I tried this one:
      -device usb-host,vendorid=0x13a3,productid=0x0001

  none of them help to properly handle my device inside guest machine.

  Only one time the Windows guest machine properly start the device so
  software for that oscilloscope can identify the Oscilloscope and
  measure for a while but unfortunately after I guess 5 seconds of
  measurement the device was disconnected from Windows and never start
  working again even after couple of restarts of guest machine even
  after plug and unplug it's USB cable and power cable.

  I searched for a solution or some clues to get it work but none of my
  searching over the internet was successful. Because device works on
  pure Windows but not work on virtualized one, I think there is a
  problem with handling not standard USB devices (like sticks,
  keyboards, mouses etc.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1511887/+subscriptions

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 1511887] Re: USB device 1.1 not correctly passedthru from Linux host to Windows guest

Thomas Huth-170
Triaging old bug tickets ... can you still reproduce this issue with the
latest version of QEMU (currently v2.9)?

** Changed in: qemu
       Status: New => Incomplete

--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1511887

Title:
  USB device 1.1 not correctly passedthru from Linux host to Windows
  guest

Status in QEMU:
  Incomplete

Bug description:
  I have USB Digital Oscilloscope which works great on pure Windows
  machine but not work on virtualized one. I tried passthru the device
  from my Debian Jessie (64bit) host machine to Windows 7 (32bit) guest
  machine but unfortunately it does not work very well. It looks that
  device is passed thru so Windows machine knows about new device and
  loads HID device driver for it but the device driver failed to start
  the device and details of an error provided by device manager is "This
  device cannot start" Code 10.

  Installed Qemu version: 2.1+dfsg-12+deb8u4 0

  USB device spec: Dynon Instruments ELAB-080, USB 1.1

  On linux host computer
  ---------------------------
  lsusb identify it as:
  Bus 003 Device 009: ID 13a3:0001

  lsusb -t identify it as:
  /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
      |__ Port 1: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 12M

  This is how I started my Windows guest machine
  ------------------------------------------------------
  kvm -cpu host \
      -m 2048MiB \
      -hda test.vdi \
      -ctrl-grab \
      -parallel /dev/parport0 \
      -usbdevice host:13a3:0001

  ...also instead of last line I tried this one:
      -device usb-host,vendorid=0x13a3,productid=0x0001

  none of them help to properly handle my device inside guest machine.

  Only one time the Windows guest machine properly start the device so
  software for that oscilloscope can identify the Oscilloscope and
  measure for a while but unfortunately after I guess 5 seconds of
  measurement the device was disconnected from Windows and never start
  working again even after couple of restarts of guest machine even
  after plug and unplug it's USB cable and power cable.

  I searched for a solution or some clues to get it work but none of my
  searching over the internet was successful. Because device works on
  pure Windows but not work on virtualized one, I think there is a
  problem with handling not standard USB devices (like sticks,
  keyboards, mouses etc.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1511887/+subscriptions

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 1511887] Re: USB device 1.1 not correctly passedthru from Linux host to Windows guest

Jiri Cejka
In reply to this post by Jiri Cejka
Currently I can reproduce this bug with 2.8+dfsg-3~bpo8+1 version
because I'm using stable Debian GNU/Linux. I'll try install latest qemu
test it and report back here.

--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1511887

Title:
  USB device 1.1 not correctly passedthru from Linux host to Windows
  guest

Status in QEMU:
  Incomplete

Bug description:
  I have USB Digital Oscilloscope which works great on pure Windows
  machine but not work on virtualized one. I tried passthru the device
  from my Debian Jessie (64bit) host machine to Windows 7 (32bit) guest
  machine but unfortunately it does not work very well. It looks that
  device is passed thru so Windows machine knows about new device and
  loads HID device driver for it but the device driver failed to start
  the device and details of an error provided by device manager is "This
  device cannot start" Code 10.

  Installed Qemu version: 2.1+dfsg-12+deb8u4 0

  USB device spec: Dynon Instruments ELAB-080, USB 1.1

  On linux host computer
  ---------------------------
  lsusb identify it as:
  Bus 003 Device 009: ID 13a3:0001

  lsusb -t identify it as:
  /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
      |__ Port 1: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 12M

  This is how I started my Windows guest machine
  ------------------------------------------------------
  kvm -cpu host \
      -m 2048MiB \
      -hda test.vdi \
      -ctrl-grab \
      -parallel /dev/parport0 \
      -usbdevice host:13a3:0001

  ...also instead of last line I tried this one:
      -device usb-host,vendorid=0x13a3,productid=0x0001

  none of them help to properly handle my device inside guest machine.

  Only one time the Windows guest machine properly start the device so
  software for that oscilloscope can identify the Oscilloscope and
  measure for a while but unfortunately after I guess 5 seconds of
  measurement the device was disconnected from Windows and never start
  working again even after couple of restarts of guest machine even
  after plug and unplug it's USB cable and power cable.

  I searched for a solution or some clues to get it work but none of my
  searching over the internet was successful. Because device works on
  pure Windows but not work on virtualized one, I think there is a
  problem with handling not standard USB devices (like sticks,
  keyboards, mouses etc.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1511887/+subscriptions

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 1511887] Re: USB device 1.1 not correctly passedthru from Linux host to Windows guest

Thomas Huth-170
In reply to this post by Jiri Cejka
** Changed in: qemu
       Status: Incomplete => Triaged

--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1511887

Title:
  USB device 1.1 not correctly passedthru from Linux host to Windows
  guest

Status in QEMU:
  Triaged

Bug description:
  I have USB Digital Oscilloscope which works great on pure Windows
  machine but not work on virtualized one. I tried passthru the device
  from my Debian Jessie (64bit) host machine to Windows 7 (32bit) guest
  machine but unfortunately it does not work very well. It looks that
  device is passed thru so Windows machine knows about new device and
  loads HID device driver for it but the device driver failed to start
  the device and details of an error provided by device manager is "This
  device cannot start" Code 10.

  Installed Qemu version: 2.1+dfsg-12+deb8u4 0

  USB device spec: Dynon Instruments ELAB-080, USB 1.1

  On linux host computer
  ---------------------------
  lsusb identify it as:
  Bus 003 Device 009: ID 13a3:0001

  lsusb -t identify it as:
  /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
      |__ Port 1: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 12M

  This is how I started my Windows guest machine
  ------------------------------------------------------
  kvm -cpu host \
      -m 2048MiB \
      -hda test.vdi \
      -ctrl-grab \
      -parallel /dev/parport0 \
      -usbdevice host:13a3:0001

  ...also instead of last line I tried this one:
      -device usb-host,vendorid=0x13a3,productid=0x0001

  none of them help to properly handle my device inside guest machine.

  Only one time the Windows guest machine properly start the device so
  software for that oscilloscope can identify the Oscilloscope and
  measure for a while but unfortunately after I guess 5 seconds of
  measurement the device was disconnected from Windows and never start
  working again even after couple of restarts of guest machine even
  after plug and unplug it's USB cable and power cable.

  I searched for a solution or some clues to get it work but none of my
  searching over the internet was successful. Because device works on
  pure Windows but not work on virtualized one, I think there is a
  problem with handling not standard USB devices (like sticks,
  keyboards, mouses etc.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1511887/+subscriptions

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Bug 1511887] Re: USB device 1.1 not correctly passedthru from Linux host to Windows guest

Jiri Cejka
In reply to this post by Jiri Cejka
In commnet #2 I promised to do test with latest qemu 2.9. I'm back here
to report what I've done and what's my findings.

1) I've downloaded newest Qemu 2.9.0 released at Apr 20 2017 from qemu.org website.
2) I've compiled it on fully updated Debian Jessie using following extra parameters: ../configure --enable-kvm --enable-libusb and then make
3) I tried to start my Windows guest machine using following command:

x86_64-softmmu/qemu-system-x86_64 \
        -enable-kvm \
        -M q35,accel=kvm \
        -m 2048 \
        -cpu host \
        -hda test.vdi \
        -usb \
        -device usb-host,vendorid=0x13a3,productid=0x0001

After Windows guest started I plugged in my USB Oscilloscope and get the
same result in Windows Device Manager: "This device cannot start" Code
10. The result is completely the same as before.

4) In terminal I got following errors:

libusb: error [_open_sysfs_attr] open /sys/bus/usb/devices/2-1/bConfigurationValue failed ret=-1 errno=2
libusb: error [op_set_configuration] failed, error -1 errno 71
qemu-system-x86_64: libusb_set_configuration: -99 [OTHER]

NOTE: libusb-dev version used during compile was 1.0.19-1

RESULT: I can confirm and can reproduce for sure that the problem
persist also in newest Qemu 2.9.0.

--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1511887

Title:
  USB device 1.1 not correctly passedthru from Linux host to Windows
  guest

Status in QEMU:
  Triaged

Bug description:
  I have USB Digital Oscilloscope which works great on pure Windows
  machine but not work on virtualized one. I tried passthru the device
  from my Debian Jessie (64bit) host machine to Windows 7 (32bit) guest
  machine but unfortunately it does not work very well. It looks that
  device is passed thru so Windows machine knows about new device and
  loads HID device driver for it but the device driver failed to start
  the device and details of an error provided by device manager is "This
  device cannot start" Code 10.

  Installed Qemu version: 2.1+dfsg-12+deb8u4 0

  USB device spec: Dynon Instruments ELAB-080, USB 1.1

  On linux host computer
  ---------------------------
  lsusb identify it as:
  Bus 003 Device 009: ID 13a3:0001

  lsusb -t identify it as:
  /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
      |__ Port 1: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 12M

  This is how I started my Windows guest machine
  ------------------------------------------------------
  kvm -cpu host \
      -m 2048MiB \
      -hda test.vdi \
      -ctrl-grab \
      -parallel /dev/parport0 \
      -usbdevice host:13a3:0001

  ...also instead of last line I tried this one:
      -device usb-host,vendorid=0x13a3,productid=0x0001

  none of them help to properly handle my device inside guest machine.

  Only one time the Windows guest machine properly start the device so
  software for that oscilloscope can identify the Oscilloscope and
  measure for a while but unfortunately after I guess 5 seconds of
  measurement the device was disconnected from Windows and never start
  working again even after couple of restarts of guest machine even
  after plug and unplug it's USB cable and power cable.

  I searched for a solution or some clues to get it work but none of my
  searching over the internet was successful. Because device works on
  pure Windows but not work on virtualized one, I think there is a
  problem with handling not standard USB devices (like sticks,
  keyboards, mouses etc.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1511887/+subscriptions

Loading...