This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1025743 - USB tablet device does't work when USB bus is defined as EHCI (instead of the default one)
USB tablet device does't work when USB bus is defined as EHCI (instead of the...
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
6.4
All Linux
high Severity high
: rc
: ---
Assigned To: Virtualization Maintenance
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-01 08:26 EDT by Juan Rodriguez
Modified: 2014-01-12 19:30 EST (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-11 04:01:43 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
libvirt ehci setup (794 bytes, text/plain)
2013-11-11 04:01 EST, Gerd Hoffmann
no flags Details

  None (edit)
Description Juan Rodriguez 2013-11-01 08:26:57 EDT
Description of problem:

When you modify xml VM definition file and introduce a USB EHCI bus definition like http://pastebin.gsslab.fab.redhat.com/mypaste/W7jd/, USB tablet doesn't work and it's not possible to start the VM.


Version-Release number of selected component (if applicable):
qemu-kvm version package: 0.12.1.2-2.255.el6_4.9
libvirt-0.10.2-18.el6_4.14
kernel version 2.6.32-358.23.2.el6.x86_64

How reproducible:
Create passthrough setup similar to the one mentioned in the pastebin link

Actual results:
Table device fails to work with error when this passthrough is defined

Expected results:
It should work

Additional info:
Logs are attached in attachments
Comment 1 Sibiao Luo 2013-11-10 22:32:58 EST
Reproduce this issue on qemu-kvm-0.12.1.2-2.415.el6.x86_64 that passthrough usb tablet device doesn't work well with EHCI controller. If used uhci controller to test that worked well. 
BTW, i don't think there is bugging here, as QEMU has gave speed mismatch warning message for your using wrong controller, this suggestion that you should use the 1.1 UHCI controller for the low speed device i think.

host info:
# uname -r && rpm -q qemu-kvm
2.6.32-425.el6.x86_64
qemu-kvm-0.12.1.2-2.415.el6.x86_64

Steps:
1.insert a usb mouse to host, get the vendorid and productid info.
# lsusb | grep USB
Bus 002 Device 003: ID 046d:c06a Logitech, Inc. USB Optical Mouse
2.passthroug the usb mouse to guest with EHCI controller.
e.g:...-device usb-ehci,id=ehci -device usb-host,vendorid=046d,productid=c06a,port=1

Results:
after step 2, there are many speed mismatch warning message prompt in HMP monitor, and the passthrough usb mouse can't work in guest.
(qemu) info usb
  Device 0.0, Port 1, Speed 1.5 Mb/s, Product USB Host Device
(qemu) c
husb: open device 2.3
husb: grabbed usb device 2.3
Warning: speed mismatch trying to attach usb device USB Optical Mouse to bus ehci.0

(qemu) husb: open device 2.3
husb: grabbed usb device 2.3
qemu-kvm: Warning: speed mismatch trying to attach usb device USB Optical Mouse to bus ehci.0

husb: open device 2.3
husb: grabbed usb device 2.3
qemu-kvm: Warning: speed mismatch trying to attach usb device USB Optical Mouse to bus ehci.0


(qemu) info usb
  Device 0.0, Port 1, Speed 1.5 Mb/s, Product USB Optical Mouse

Base on above, i make qa_ack+ this issue first, please correct me if any mistake.

Best Regards,
sluo
Comment 2 Sibiao Luo 2013-11-10 22:49:27 EST
(In reply to Sibiao Luo from comment #1)
> BTW, i don't think there is bugging here, as QEMU has gave speed mismatch
> warning message for your using wrong controller, this suggestion that you
> should use the 1.1 UHCI controller for the low speed device i think.
> 
According above, i should remove the qa_ack+ first, this maybe not a bug form QE side. Gerd Hoffmann, could you help check this issue, thanks in advance.

Best Regards,
sluo
Comment 3 Gerd Hoffmann 2013-11-11 04:01:06 EST
Created attachment 822323 [details]
libvirt ehci setup

Tablet is a usb1.1 device and doesn't work with ehci (usb 2.0 controller).

If you need a usb bus which can handle both 1.1 and 2.0 devices you'll need
a bunch of uhci companion controllers for the ehci controller.  The attachment
shows how to configure this in libvirt.

Note You need to log in before you can comment on or make changes to this bug.