Shaddy, Thanks for your help. I used "info usbhost" command to find the plugged USB disks and used "usb_add" command to add USB disks to the guest OS.
For debugging purpose, I edited "hw/usb-uhci.c" to enable "#define DEBUG_PACKET" and logged UHCI packet information into log files. Please kindly find the log files for the "bad" and "good" USB disks in the attachment. Their USB information is as following: CNDATA: ("bad") T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0ed1 ProdID=6680 Rev= 1.00 S: Manufacturer=Generic S: Product=Mass Storage Device C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 50mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms Baitangping: ("good") T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=1043 ProdID=8006 Rev= 1.00 S: Manufacturer=Generic S: Product=Flash Disk C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms In the log file qemu.log.cndata.frame (for "bad" disk), in line 181, the bulk input returns error, and indicate for timeout failure. While in the log file qemu.log.baitangping.frame(for "good" disk), in line 145, the bulk input is success. Hope this information to be useful. If you need further information, please kindly let me know. Thanks a lot! Thanks Xiaoyang -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shaddy Baddah Sent: 2007年3月30日 0:48 To: qemu-devel@nongnu.org Subject: Re: [Qemu-devel] QEMU only support USBendpoint 02(output)and 81(input)? Hi, On 3/29/2007 2:52 PM, Yu, Xiaoyang wrote: > I used QEMU 0.9.0 to do the testing. All the seven USB disks can work > properly in host OS (Linux 2.6), so the USB devices and its interaction with > the kernel drivers should be okay. So the problem must be in QEMU USB code. As far as I know, QEMU does not have any of its own special USB handling. It has USB emulation. But this does not influence how it handles disk images... even if they are on a USB device. Perhaps you can demonstrate some QEMU command-lines to indicate how you are testing these disks? Regards, Shaddy
qemu.log.cndata.frame
Description: qemu.log.cndata.frame
qemu.log.baitangping.frame
Description: qemu.log.baitangping.frame