Bug 723858 - usb: add companion controller support
Summary: usb: add companion controller support
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Gerd Hoffmann
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-21 12:10 UTC by Gerd Hoffmann
Modified: 2013-01-10 00:07 UTC (History)
6 users (show)

Fixed In Version: qemu-kvm-0.12.1.2-2.179.el6
Doc Type: Bug Fix
Doc Text:
Part of the "USB 2.0 support" feature in 6.2.
Clone Of:
Environment:
Last Closed: 2011-12-06 15:54:05 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:1531 0 normal SHIPPED_LIVE Moderate: qemu-kvm security, bug fix, and enhancement update 2011-12-06 01:23:30 UTC

Description Gerd Hoffmann 2011-07-21 12:10:13 UTC
Description of problem:
EHCI handles USB 2.0 devices only and hands off USB 1.1 devices to one or more companion controllers.  qemu should emulate companion controllers so we have a single usb bus which can handle both 1.1 and 2.0 devices instead of two completely separate busses, one for 1.1 and one for 2.0 devices.

Comment 6 Shaolong Hu 2011-09-01 04:43:26 UTC
This is a new feature, no need to reproduce, verify it on:
-----------------------------------------------------------
qemu-kvm-0.12.1.2-2.184.el6.x86_64
2.6.32-191.el6.x86_64


Steps to verify:
------------------
1.Boot guest with:
#/usr/libexec/qemu-kvm -enable-kvm -M rhel6.2.0 -smp 4 -m 4G -name rhel6.1-64 -uuid 3f2ea5cd-3d29-48ff-aab2-23df1b6ae213 -drive file=RHEL-Server-6.1-64-virtio.qcow2,cache=none,if=none,rerror=stop,werror=stop,id=drive-virtio-disk0,format=qcow2 -device virtio-blk-pci,drive=drive-virtio-disk0,id=device-virtio-disk0,bootindex=1 -netdev tap,script=/etc/qemu-ifup,id=netdev0 -device virtio-net-pci,netdev=netdev0,id=device-net0 -boot order=cd,menu=on -monitor stdio -vnc :10 -readconfig ich9-ehci-uhci.cfg

2.In qemu monitor:
device_add usb-tablet,bus=ehci.0,id=input0
device_add usb-hub,bus=ehci.0,id=usbhub0
device_add usb-host,hostbus=3,hostaddr=2,bus=ehci.0,id=camera


Actual results:
-----------------
In guest:
#lsusb:
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 045e:00f7 Microsoft Corp. LifeCam VX-1000
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 0000:0000
Bus 002 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

#lsusb -t
Bus#  4
`-Dev#   1 Vendor 0x1d6b Product 0x0001
Bus#  3
`-Dev#   1 Vendor 0x1d6b Product 0x0001
  `-Dev#   2 Vendor 0x045e Product 0x00f7
Bus#  2
`-Dev#   1 Vendor 0x1d6b Product 0x0001
  |-Dev#   2 Vendor 0x0627 Product 0x0001
  `-Dev#   3 Vendor 0x0000 Product 0x0000
Bus#  1
`-Dev#   1 Vendor 0x1d6b Product 0x0002


Conclusion:
------------
Based on results above, usb 1.1 devices are dropped to companion uhci controller correctly, verified.

Comment 8 Gerd Hoffmann 2011-11-18 16:24:39 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Part of the "USB 2.0 support" feature in 6.2.

Comment 9 errata-xmlrpc 2011-12-06 15:54:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2011-1531.html


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