RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 921483 - pass through usb stick's driver can not be installed properly in win7 guest
Summary: pass through usb stick's driver can not be installed properly in win7 guest
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.0
Hardware: Unspecified
OS: Unspecified
low
unspecified
Target Milestone: rc
: ---
Assignee: Gerd Hoffmann
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-14 10:08 UTC by lijin
Modified: 2013-04-02 09:46 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-04-02 09:46:11 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
the screenshot shows the Usb Mass Storage Device properties (102.77 KB, image/png)
2013-03-14 10:08 UTC, lijin
no flags Details

Description lijin 2013-03-14 10:08:55 UTC
Created attachment 709953 [details]
the screenshot shows the Usb Mass Storage Device properties

Description of problem:

passthrough a usb stick to win7 guest, the device recognized as a usb mass storage device by guest, but the usb stick can't use in guest; get problem code: 0x0000000A

Version-Release number of selected component (if applicable):
RHEL-7.0-20130222.0
kernel:3.8.0-0.40.el7.x86_64
qemu:1.3.0-8.el7.x86_64

How reproducible:
Always

Steps to Reproduce:

1.start a win7-32 guest with below command line:
/usr/libexec/qemu-kvm  \
-drive file=/home/usb-test/win7-32-virtio.qcow2,if=none,cache=unsafe,media=disk,format=qcow2,id=drive-ide0-0-1 \
-device ide-drive,id=ide0-0-1,drive=drive-ide0-0-1 \
-netdev tap,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:7f:f9:F6,bus=pci.0 \
-monitor stdio \
-chardev file,id=serial_id_serial1,path=/tmp/serial-serial1-20130311-201534-UGwldR4R \
-device isa-serial,chardev=serial_id_serial1 \
-chardev file,id=seabioslog_id_20130311-201534-UGwldR4R,path=/tmp/seabios-20130311-201534-UGwldR4R \
-device isa-debugcon,chardev=seabioslog_id_20130311-201534-UGwldR4R,iobase=0x402 \
-boot menu=on \
-usb \
-device usb-mouse,id=mouse1 \
-device usb-kbd,id=kbd1 \
-device usb-tablet,id=tablet1 \
-device usb-host,bus=usb-bus.0,vendorid=0x0951,productid=0x168c \
-spice port=5900,addr=0.0.0.0,disable-ticketing \
-vga qxl \
-cpu 'SandyBridge',hv_relaxed \
-M pc \
-smp 2,cores=2,threads=1,sockets=1 -m 2048 \
-cdrom /usr/share/virtio-win/virtio-win-1.6.3.iso \
-global PIIX4_PM.disable_s3=0 \
-global PIIX4_PM.disable_s4=0 \
-fdb /usr/share/virtio-win/virtio-win-1.6.3_x86.vfd \
-enable-kvm

2.in the host: 
  lsusb:
  Bus 001 Device 022: ID 0951:168c Kingston Technology

3. info usb in qemu:
  Device 0.1, Port 1, Speed 12 Mb/s, Product QEMU USB Mouse
  Device 0.2, Port 2, Speed 12 Mb/s, Product QEMU USB Hub
  Device 0.3, Port 2.1, Speed 12 Mb/s, Product QEMU USB Keyboard
  Device 0.4, Port 2.2, Speed 12 Mb/s, Product QEMU USB Tablet
  Device 0.5, Port 2.3, Speed 480 Mb/s, Product DT Elite 3.0  ---the usb stick 
  
Actual results:

In device manager window, the usb stick mark with "!"

Expected results:

can read/write usb stick 

Additional info:
attached is the sceenshot of the USB Mass Storage Device's properties

Comment 2 lijin 2013-03-14 10:40:52 UTC
Use ehci bus for the usb stick, the stick work well;
 
the qemu-kvm command as following:

/usr/libexec/qemu-kvm \
-drive file=/home/usb-test/win7-32-virtio.qcow2,if=none,cache=unsafe,media=disk,format=qcow2,id=drive-ide0-0-1 \
-device ide-drive,id=ide0-0-1,drive=drive-ide0-0-1 \
-netdev tap,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:7f:f9:F6,bus=pci.0 \
-monitor stdio \
-chardev file,id=serial_id_serial1,path=/tmp/serial-serial1-20130311-201534-UGwldR4R \
-device isa-serial,chardev=serial_id_serial1 \
-chardev file,id=seabioslog_id_20130311-201534-UGwldR4R,path=/tmp/seabios-20130311-201534-UGwldR4R \
-device isa-debugcon,chardev=seabioslog_id_20130311-201534-UGwldR4R,iobase=0x402 \
-boot menu=on \
-readconfig /etc/qemu/ich9-ehci-uhci.cfg \
-device usb-host,bus=ehci.0,vendorid=0x0951,productid=0x168c \
-spice port=5900,addr=0.0.0.0,disable-ticketing \
-drive file=/home/usb-test/usb2.qcow2,if=none,id=drive-usb-0-0,media=disk,format=qcow2,cache=writethrough,aio=native \
-cpu 'SandyBridge',hv_relaxed \
-M pc \
-smp 2,cores=2,threads=1,sockets=1 -m 2048 \
-cdrom /usr/share/virtio-win/virtio-win-1.6.3.iso \
-global PIIX4_PM.disable_s3=0 \ 
-global PIIX4_PM.disable_s4=0 \
-fdb /usr/share/virtio-win/virtio-win-1.6.3_x86.vfd \
-enable-kvm

Comment 3 Gerd Hoffmann 2013-03-20 14:02:29 UTC
Can I get 'lsusb -v' output for the stick in question?

Comment 4 lijin 2013-04-01 07:16:18 UTC
(In reply to comment #3)
> Can I get 'lsusb -v' output for the stick in question?

Bus 001 Device 003: ID 0951:168c Kingston Technology 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0951 Kingston Technology
  idProduct          0x168c 
  bcdDevice            1.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              400mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        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     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0

Comment 5 Gerd Hoffmann 2013-04-02 09:46:11 UTC
The stick simply doesn't support USB 1.1.
USB 2.0 sticks which support 1.1 too have a section like this:

Device Qualifier (for other device speed):
  [ more stuff here ]

So the stick must be passed through using ehci (or xhci).


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