qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Implement the function usb_hub_handle_reset


From: hkran
Subject: Re: [Qemu-devel] [PATCH] Implement the function usb_hub_handle_reset
Date: Wed, 23 Nov 2011 11:16:45 +0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110617 Red Hat/3.1.11-2.el6_1 Thunderbird/3.1.11

On 11/22/2011 08:36 PM, Gerd Hoffmann wrote:
On 11/22/11 09:58, hkran wrote:
Implement the function usb_hub_handle_reset. without it the guest
propablly fail to configure the usb device attached to the virtulized
hub with a correct address.

Typically, attaching more than one usb devices when lauch qemu may lead
to the problem.
What is the exact problem you are trying to fix?

cheers,
   Gerd


For example, I use the following command line to lautch qemu to play win7

/home/huikai/qemu10/bin/qemu-system-x86_64 -enable-kvm -m 1024 -drive file=/root/win7_86.img,if=ide -net user -net nic,model=rtl8139 -localtime -chardev stdio,id=muxstdio -mon chardev=muxstdio -usb -usbdevice tablet -spice port=2345,disable-ticketing -cdrom /home/guest/Fedora-15-i686-Live-Desktop.iso -boot once=d -usbdevice host:0000:7777

Here, I attatched two usbdevice tablet and a usb storage device "host:0000:7777" on the host side. After guest have booted.there will not see the usb storage device.
using monitor cmd "info usb" found the below:

 (qemu) info usb
  Device 0.1, Port 1, Speed 12 Mb/s, Product QEMU USB Tablet
  Device 0.3, Port 2, Speed 12 Mb/s, Product QEMU USB Hub
  Device 0.3, Port 2.1, Speed 480 Mb/s, Product host:2.4

the device "host:0000:7777" have not been configured successfully, guest OS can not to see it.

I traced qemu and found that there will be several reset cmd issued by the guest usb protocol stack during win7 booting, if we left the hub_reset to do nothing, the usbdevice attached to it will fail to be configured just in above case. (If we "hot plug-in " a usb device via qemu's monitor, the problem is not so easy to be reproduced because the reset cmd only be issued only once or none)

(the problem is not always reproduced, but high possibility).




reply via email to

[Prev in Thread] Current Thread [Next in Thread]