Bug 757936

Summary: usb stick can't be detected inside windows guest under uhci
Product: Red Hat Enterprise Linux 6 Reporter: Xiaomei Gao <xigao>
Component: qemu-kvmAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED WORKSFORME QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 6.2CC: acathrow, areis, bsarathy, juzhang, lnovich, michen, mkenneth, qzhang, qzhou, rhod, shuang, sluo, tburke, virt-bugs, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-25 09:09:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
this file describes the infomation of A usb stick
none
The file describes the infomation of B usb stick none

Description Xiaomei Gao 2011-11-29 02:42:40 UTC
Description of problem:
usb stick can't be detected inside windows guest when booting guest with usb stick or hotplugging usb stick to guest under 1.1 controller

Version-Release number of selected component (if applicable):
# uname -r
2.6.32-220.el6.x86_64
# rpm -qa | grep qemu-kvm
qemu-kvm-0.12.1.2-2.209.el6_2.1.x86_64

How reproducible:
100%

Steps to Reproduce:
1.boot a windows guest
/usr/libexec/qemu-kvm -m 4G -smp 2 -cpu cpu64-rhel6,+x2apic -drive file=/home/win7_64.qcow2,format=qcow2,if=none,id=drive-virtio-0-0,werror=stop,rerror=stop,cache=none -device virtio-blk-pci,drive=drive-virtio-0-0,id=virtio-0-0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,mac=00:10:20:2d:31:21,bus=pci.0,addr=0x5,id=net0 -uuid 3290efd3-7c9e-44f9-b5f7-af0f3a1b3066 -rtc base=localtime,clock=host,driftfix=slew -no-kvm-pit-reinjection -monitor stdio -name win7-64 -spice port=8000,disable-ticketing -vga qxl -balloon none -usb -device usb-host,hostbus=1,hostaddr=3,id=hostdev1

Actual results:
usb stick can not detected inside windows guest

Expected results:
usb stick can be detected inside windows guest and works well. 

Additional info:
I use two different usb sticks to test it. one of them is named A, the other is named B. Usb stick can not used normally by A and B under uhci.
However,guest hangs mostly when booting windows guest by A under ehci, maybe A has some hardware problems, but usb stick works well when booting linux guest by A under ehci, so open
Bug 752049. pls check the following comparison. And 'lsusb -v -s $device' is in the attachment.
usb stick | guest |   uhci      |      ehci
----------------------------------------------------
          | linux | normally    |     normally          
   A     -------------------------------------------        
          |windows| not detected| guest hangs mostly
----------------------------------------------------
          | linux | normally    |     normally          
   B     -------------------------------------------        
          |windows| not detected|     normally

Comment 1 Xiaomei Gao 2011-11-29 02:44:04 UTC
Created attachment 537736 [details]
this file describes the infomation of A usb stick

Comment 2 Xiaomei Gao 2011-11-29 02:45:39 UTC
Created attachment 537737 [details]
The file describes the infomation of B usb stick

Comment 3 Gerd Hoffmann 2012-03-16 13:42:56 UTC
Please retest with 6.3 snapshot.

Comment 4 Xiaomei Gao 2012-03-29 13:36:04 UTC
(In reply to comment #3)
> Please retest with 6.3 snapshot.

hi, Gerd
    sorry for delay. I retest it with 6.3 snapshot and usb still can't  be detected inside windows guest under uhci.
    #uname -r 2.6.32-257.el6.x86_64
    #qemu-kvm-0.12.1.2-2.265.el6.x86_64
    guest:win7_64_virtio.qcow2

Comment 5 Ademar Reis 2012-04-16 18:51:17 UTC
Not critical, deferring to 6.4.

Comment 7 Ademar Reis 2012-08-10 15:59:39 UTC
Low priority and low impact, limited to windows and a few specific usb sticks. Deferring to RHEL6.5, high change of closing this as WONTFIX in the next cycle if we get no customer reports.

Comment 9 Gerd Hoffmann 2013-04-04 09:48:01 UTC
Can I get 'lspci -v' for the non-working stick?

Comment 10 Xiaomei Gao 2013-04-07 06:23:49 UTC
(In reply to comment #9)
> Can I get 'lspci -v' for the non-working stick?

Sure. 
# lspci -v
...
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) (prog-if 20 [EHCI])
	Subsystem: Dell Device 047e
	Flags: bus master, medium devsel, latency 0, IRQ 16
	Memory at e1a70000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [50] Power Management version 2
	Capabilities: [58] Debug port: BAR=1 offset=00a0
	Capabilities: [98] PCI Advanced Features
	Kernel driver in use: ehci_hcd
...

Comment 11 Gerd Hoffmann 2013-04-15 06:59:14 UTC
Oops, sorry, I meant 'lsusb -v'.

Comment 12 Xiaomei Gao 2013-04-15 09:24:57 UTC
(In reply to comment #11)
> Oops, sorry, I meant 'lsusb -v'.

Bus 001 Device 005: ID 0951:1642 Kingston Technology
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0951 Kingston Technology
  idProduct          0x1642
  bcdDevice            1.00
  iManufacturer           1 Kingston
  iProduct                2 DT 101 G2
  iSerial                 3 001CC0EC32C7BB4107110077
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              200mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Comment 17 Ronen Hod 2013-07-25 09:09:51 UTC
QE,
We will not fix it for RHEL6.
Please test with RHEL7 (many changes) and file a new bug.

Comment 18 Sibiao Luo 2013-07-25 09:18:31 UTC
(In reply to Ronen Hod from comment #17)
> QE,
> We will not fix it for RHEL6.
> Please test with RHEL7 (many changes) and file a new bug.
ok, got it, and we have already this issue in rhel7(bug 949225), thanks.