[Qemu-devel] Data CDs cannot be automaticly mounted in Linux guest domain and a method to fix it
I met the problem that Linux guest domain cannot mount a data CD properly. If a data CD is inserted, and was assigned to the guest domain by issue something like change hdc /dev/cdrom, there will be an error message reported by guest Linux kernel This disc doesn't have any tracks I recognize!. And Nautilus in guest Linux domain cannot mount the CD properly. The patch in the attachment can solve this problem. Thanks Xiaoyang 1.diff Description: 1.diff
[Qemu-devel] Only one USB disk can be used in Windows XP guest domain, and a method to solve this problem
If we use something like usb_add disk:/dev/sdb to assign USB disks to Windows XP guest domain, assign one USB disk can work properly, but assign the second USB disk will cause problem in Windows device manager, and the second USB disk cannot be used properly. The attached patch can fix this problem. Thanks Xiaoyang 2.diff Description: 2.diff
RE: [Qemu-devel] Re: USB problem in QEMU
I found that using usb_add disk:/dev/sda instead of usb_add host:1.1 will fix this problem. Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Raúl Sánchez Siles Sent: 2007年4月23日 17:20 To: qemu-devel@nongnu.org Subject: [Qemu-devel] Re: USB problem in QEMU Raúl Sánchez Siles wrote: Yu, Xiaoyang wrote: The USB problem I met is that using some kind of USB disks will cause guest OS run extremely slow, while these disks can work properly in host OS. It looks like the USB simulation in QEMU is not fully featured, and can not handle some error conditions properly. I've also noticed this, I thought it was a multiconfiguration problem, but even applying the patch suggested sometime ago here, I could noticed the slowness. For this I guess the configuration is linux host and windows guest as is my case. Slowness started once I issued usb_add on the qemu console and after finding the emulated system unusable slowness stopped on usb_del on qemu console again. I think the problem may be the qemu lacks some usb feature, maybe not implemented yet. But I would be glad of hear what qemu people has to say about this. I'm still interested in this, I would appreciate some comment about the issue. Thanks. -- Raúl Sánchez Siles
RE: [Qemu-devel] RE: Re: USB problem in QEMU
The problem I met is that some USB disks will cause the guest OS not responding, and using usb_add disk:/dev/sda can fix this problem. For other USB disks, I have not met the same problem. Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Raúl Sánchez Siles Sent: 2007年4月23日 18:54 To: qemu-devel@nongnu.org Subject: [Qemu-devel] RE: Re: USB problem in QEMU Yu, Xiaoyang wrote: I found that using usb_add disk:/dev/sda instead of usb_add host:1.1 will fix this problem. Thanks Xiaoyang Thanks But what about devices that are not disks? Regards, -- Raúl Sánchez Siles
RE: [Qemu-devel] RE: Re: USB problem in QEMU
The problem I met is that some USB disks will cause the guest OS not responding, and using usb_add disk:/dev/sda can fix this problem. For other USB devices, I have not met the same problem. Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Raúl Sánchez Siles Sent: 2007年4月23日 18:54 To: qemu-devel@nongnu.org Subject: [Qemu-devel] RE: Re: USB problem in QEMU Yu, Xiaoyang wrote: I found that using usb_add disk:/dev/sda instead of usb_add host:1.1 will fix this problem. Thanks Xiaoyang Thanks But what about devices that are not disks? Regards, -- Raúl Sánchez Siles
RE: [Qemu-devel] QEMU only support USBendpoint 02(output)and 81(input)?
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
[Qemu-devel] QEMU only support USB endpoint 02(output) and 81(input)?
Hi guys, I found that some USB disks do not work in QEMU. I collected seven types of USB disks, and tested them in QEMU. Four of them can work properly, but other three do not work. I compared their information in /proc/bus/usb/devices, and found that the four good disks all use endpoint 02 as output endpoint, and use endpoint 81 as input endpoint, while other three are not. So, is QEMU only support USB endpoint 02(output) and 81(input)? I put the USB information of the seven disks below. The first four disks can work with QEMU, and the last three disks do not work with QEMU. USB disks work with QEMU: === Baitangping: 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 Chuan: T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 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 S: SerialNumber=200506211217 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 Meng: T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 7 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 S: SerialNumber=200510172115 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none) E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms Kingston: T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 6 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0930 ProdID=6533 Rev= 1.00 S: Manufacturer=Kingston S: Product=DataTraveler 2.0 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=31875us E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=64ms USB disks do not work with QEMU CNDATA: 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 TH: T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 4 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0204 ProdID=6025 Rev= 1.00 S: Manufacturer=USB0612 S: Product=Flash Disk S: SerialNumber=335657409262 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=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Intel: T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 7 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0204 ProdID=6025 Rev= 1.00 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=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Thanks Xiaoyang
[Qemu-devel] QEMU only support USB endpoint 02(output) and 81(input)?
Hi guys, I found that some USB disks do not work in QEMU. I collected seven types of USB disks, and tested them in QEMU. Four of them can work properly, but other three do not work. I compared their information in /proc/bus/usb/devices, and found that the four good disks all use endpoint 02 as output endpoint, and use endpoint 81 as input endpoint, while other three are not. So, is QEMU only support USB endpoint 02(output) and 81(input)? I put the USB information of the seven disks below. The first four disks can work with QEMU, and the last three disks do not work with QEMU. USB disks work with QEMU: === Baitangping: 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 Chuan: T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 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 S: SerialNumber=200506211217 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 Meng: T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 7 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 S: SerialNumber=200510172115 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none) E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms Kingston: T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 6 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0930 ProdID=6533 Rev= 1.00 S: Manufacturer=Kingston S: Product=DataTraveler 2.0 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=31875us E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=64ms USB disks do not work with QEMU CNDATA: 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 TH: T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 4 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0204 ProdID=6025 Rev= 1.00 S: Manufacturer=USB0612 S: Product=Flash Disk S: SerialNumber=335657409262 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=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Intel: T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 7 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0204 ProdID=6025 Rev= 1.00 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=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Thanks Xiaoyang
RE: [Qemu-devel] QEMU only support USB endpoint 02(output)and 81(input)?
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. Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shaddy Baddah Sent: 2007年3月29日 12:18 To: qemu-devel@nongnu.org Subject: Re: [Qemu-devel] QEMU only support USB endpoint 02(output)and 81(input)? Hi, On 3/29/2007 11:49 AM, Yu, Xiaoyang wrote: I found that some USB disks do not work in QEMU. I don't quite understand. In which way? As I understand it, QEMU just uses the I/O layer provided by the host operating system. In my experience, if there has been any USB problem, it is either with the USB device and its interaction with the kernel drivers. Regards, Shaddy
[Qemu-devel] USB storage cause kernel BUG soft lockup detected on CPU#0! in Linux guest domain
Hi Lonnie, Thanks a lot for your help on the UHCI suspend/resume support :-) I found another problem in QEMU USB support :-( I have 5 different types of USB disks at hand. Two of them can be used properly in Linux and Windows XP guest OS. But other three are not. After issue usb_add to enable those three USB disks in guest domain, the guest domain becomes extremely slow. It is the same in Linux and Windows XP guest domain. I checked the log file /var/log/messages in Linux guest domain, and found that it caused the following kernel bug: Mar 26 04:40:15 linux-FC5 kernel: BUG: soft lockup detected on CPU#0! The detailed logs when adding the three USB disks is attached at the end of this email. It will be great help if you can give me some instructions on this issue. Have anyone else also met this problem? Thanks Xiaoyang Mar 26 04:39:53 linux-FC5 kernel: usb 1-2: new full speed USB device using uhci_hcd and address 3 Mar 26 04:39:53 linux-FC5 kernel: usb 1-2: configuration #1 chosen from 1 choice Mar 26 04:39:53 linux-FC5 kernel: scsi1 : SCSI emulation for USB Mass Storage devices Mar 26 04:40:15 linux-FC5 kernel: psmouse.c: Explorer Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away. Mar 26 04:40:15 linux-FC5 kernel: BUG: soft lockup detected on CPU#0! Mar 26 04:40:15 linux-FC5 kernel: Mar 26 04:40:15 linux-FC5 kernel: Pid: 0, comm: swapper Mar 26 04:40:15 linux-FC5 kernel: EIP: 0060:[c02dd5d9] CPU: 0 Mar 26 04:40:15 linux-FC5 kernel: EIP is at _spin_unlock_irqrestore+0xa/0xc Mar 26 04:40:15 linux-FC5 kernel: EFLAGS: 0282Not tainted (2.6.16-1.2096_FC5 #1) Mar 26 04:40:15 linux-FC5 kernel: EAX: c03d5000 EBX: 0282 ECX: 0282 EDX: c033d300 Mar 26 04:40:15 linux-FC5 kernel: ESI: EDI: 029d EBP: 0001 DS: 007b ES: 007b Mar 26 04:40:15 linux-FC5 kernel: CR0: 8005003b CR2: b7f7f000 CR3: 048b4000 CR4: 06d0 Mar 26 04:40:15 linux-FC5 kernel: [c021e261] i8042_interrupt+0x9e/0x1fd [c01393e6] handle_IRQ_event+0x23/0x4c Mar 26 04:40:15 linux-FC5 kernel: [c0139489] __do_IRQ+0x7a/0xcd [c0104c3b] do_IRQ+0x69/0x77 Mar 26 04:40:15 linux-FC5 kernel: [c01035b6] common_interrupt+0x1a/0x20 [c012007b] do_proc_dointvec_jiffies_conv+0x42/0x54 Mar 26 04:40:15 linux-FC5 kernel: [c02dd5d9] _spin_unlock_irqrestore+0xa/0xc [c021e261] i8042_interrupt+0x9e/0x1fd Mar 26 04:40:15 linux-FC5 kernel: [c01393e6] handle_IRQ_event+0x23/0x4c [c0139489] __do_IRQ+0x7a/0xcd Mar 26 04:40:15 linux-FC5 kernel: [c0104c3b] do_IRQ+0x69/0x77 [c01035b6] common_interrupt+0x1a/0x20 Mar 26 04:40:15 linux-FC5 kernel: [d08fe391] uhci_irq+0x1a/0x138 [uhci_hcd] [c025c847] usb_hcd_irq+0x23/0x4f Mar 26 04:40:15 linux-FC5 kernel: [c01393e6] handle_IRQ_event+0x23/0x4c [c0139489] __do_IRQ+0x7a/0xcd Mar 26 04:40:15 linux-FC5 kernel: [c021e3c0] i8042_timer_func+0x0/0xb [c0104c2e] do_IRQ+0x5c/0x77 Mar 26 04:40:15 linux-FC5 kernel: === Mar 26 04:40:15 linux-FC5 kernel: [c01035b6] common_interrupt+0x1a/0x20 [c021e3c0] i8042_timer_func+0x0/0xb Mar 26 04:40:15 linux-FC5 kernel: [c012007b] do_proc_dointvec_jiffies_conv+0x42/0x54 [c02dd5d9] _spin_unlock_irqrestore+0xa/0xc Mar 26 04:40:15 linux-FC5 kernel: [c021e210] i8042_interrupt+0x4d/0x1fd [c021e3c0] i8042_timer_func+0x0/0xb Mar 26 04:40:15 linux-FC5 kernel: [c0122d8c] run_timer_softirq+0x126/0x186 [c011f812] __do_softirq+0x35/0x7f Mar 26 04:40:15 linux-FC5 kernel: [c0104c81] do_softirq+0x38/0x3f === Mar 26 04:40:15 linux-FC5 kernel: [c0104c40] do_IRQ+0x6e/0x77 Mar 26 04:40:15 linux-FC5 kernel: [c01035b6] common_interrupt+0x1a/0x20 [c01114ad] apm_bios_call_simple+0x75/0xb3 Mar 26 04:40:15 linux-FC5 kernel: [c02dd5cd] _spin_unlock_irq+0x5/0x7 [c02dc257] schedule+0x4a1/0x4ff Mar 26 04:40:15 linux-FC5 kernel: [c0111b63] apm_cpu_idle+0xeb/0x1e5 [c0101e76] cpu_idle+0x3a/0x4f Mar 26 04:40:15 linux-FC5 kernel: [c03a36a3] start_kernel+0x28c/0x28e 6usb 1-2: USB disconnect, address 3 Mar 26 04:40:15 linux-FC5 kernel: 1:0:0:0: scsi: Device offlined - not ready after error recovery Mar 26 04:49:29 linux-FC5 kernel: usb 1-2: new full speed USB device using uhci_hcd and address 9 Mar 26 04:49:29 linux-FC5 kernel: usb 1-2: configuration #1 chosen from 1 choice Mar 26 04:49:29 linux-FC5 kernel: scsi3 : SCSI emulation for USB Mass Storage devices Mar 26 04:49:47 linux-FC5 kernel: psmouse.c: Explorer Mouse at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away. Mar 26 04:49:47 linux-FC5 kernel: BUG: soft lockup detected on CPU#0! Mar 26 04:49:47 linux-FC5 kernel: Mar 26 04:49:47 linux-FC5 kernel: Pid: 0, comm: swapper Mar 26 04:49:47 linux-FC5 kernel: EIP: 0060:[c02dd5d9] CPU: 0 Mar 26 04:49:47 linux-FC5 kernel: EIP is at _spin_unlock_irqrestore+0xa/0xc Mar 26 04:49:47 linux-FC5 kernel: EFLAGS: 0282Not tainted (2.6.16-1.2096_FC5 #1) Mar 26 04:49:47 linux-FC5 kernel: EAX: c03d5000 EBX:
[Qemu-devel] Some usb disk may cause the guest OS not response
I am using qemu-dm 0.8.2 of xen 3.0.3, and found that use usb_add command to enable some usb disks may cause the guest OS not responding, while enable other usb disks cause no problem. I searched the archive but didn't found a similar report. Has anyone met the same problem? Thanks Xiaoyang ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain?
Lonnie, Thank you so much for write the patch for me! It works well with Fedora Core 4. Since it added UHCI suspend/resume support, so I guess it should also work with Windows XP :-) Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lonnie Mendez Sent: 2007年2月15日 22:49 To: qemu-devel@nongnu.org Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain? On Thu, 2007-02-15 at 15:44 +0800, Yu, Xiaoyang wrote: Hi Lonnie, Thanks a lot for the information. In our use case, we do not know the USB disk information before it is plugged by customer, so we cannot start qemu with -usbdevice. For Linux, reload the uhci_hcd driver works. If we use this solution in our use case, then we need to issue an interrupt (maybe by pic_set_irq_new?) to the guest OS when QEMU detect a USB device is attached, and then the guest OS will reload the uhci_hcd driver. Is that right? Currently there is something wrong with the list archive server, so I haven't search out any example code from it :-( I found that there is a patch to add the UHCI suspend/resume support in the archive posted by you, but it cannot be applied to QEMU-DM 0.8.2 directly: http://lists.gnu.org/archive/html/qemu-devel/2006-04/msg00576.html I wonder why there is no official UHCI suspend/resume support in QEMU. To reload the uhci_hcd driver seems to be only a work around. Sometimes it even cause kernel oops. I also wonder why the kernel 2.6.11-1.1369_FC4 can recognize USB storage without UHCI suspend/resume support. The attached patch is enough to have a device on linux recognized after usb_add. However, the device must be attached to the uhci controller's root hub. If a device is attached to an emulated usb hub device it will not be detected. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] USB storage cannot be recognized on guest Linux domain?
I just found that using an older kernel in Fedora Core 4 may “solve” the problem. When I tested Fedora Core 4 guest domain, the kernel version I used was 2.6.17-1.2142_FC4, and it cannot recognized the USB disk. I just changed the kernel in guest domain to version 2.6.11-1.1369_FC4. Then the guest domain can recognized the USB disk. I am wondering why the USB support in QEMU depend on the guest domain kernel. And I would like to know which kernel version can support QEMU USB emulation. BTW, I also found that Windows XP guest domain can not recognize the USB disk, while Windows XP SP2 guest domain can recognize the USB disk. So it seems like that the guest Linux/Windows domain should have some “special feature” to work with the QEMU USB emulation successfully. Isn’t it strange? Sent: 2007年2月14日 15:06 To: qemu-devel@nongnu.org Subject: [Qemu-devel] USB storage cannot be recognized on guest Linux domain? I am using Xen 3.0.3 with QEMU-DM 0.8.2 on a Intel VT platform. After insert a USB storage, and use “usb_add” command in QEMU monitor, the storage should be recognized on guest OS. I tested this with a Windows XP SP2 guest OS, it doing well. But when I test the “usb_add” command with some Linux guest OS, it seems that the guest OS cannot recognize the USB storage. And the device number and address in guest domain are always “0.0”. The Linux guest OS I tested including Fedora Core 4 and Fedora Core 5. Does any one also meet this problem or have some idea on this? Feedbacks will be highly appreciated. Thanks Xiaoyang ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] USB storage cannot be recognized on guestLinuxdomain?
Also I have tested QEMU 0.9.0 using image “linux-0.2.img”. After invoked “usb_add” in QEMU monitor, nothing was shown in guest domain. Then I type “exit” to reboot the system, then the following message shown in guest domain: scsi 0:0:0:0: Direct-Access Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI:2 It seems like that the USB disk can be recognized only after a system reboot of “linux-0.2.img”. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Yu, Xiaoyang Sent: 2007年2月14日 20:24 To: [EMAIL PROTECTED]; qemu-devel@nongnu.org Subject: RE: [Qemu-devel] USB storage cannot be recognized on guestLinuxdomain? Hi Nenad, Both kernels are configured to support USB devices. The config files are put in the attachment. USB storages can be recognized by both kernels successfully if I install the systems directly on hardware, instead of install the systems as guest domains in Xen/VT environment. Thanks Xiaoyang From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Nenad Cimerman Sent: 2007年2月14日 19:28 To: qemu-devel@nongnu.org Subject: AW: [Qemu-devel] USB storage cannot be recognized on guestLinuxdomain? Hi Xiaoyang, did you check whether both kernels are configured to support USB? # cat /proc/config or # zcat /proc/config.gz Cheers, Nenad. Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Yu, Xiaoyang Gesendet: Mittwoch, 14. Februar 2007 11:26 An: qemu-devel@nongnu.org Betreff: RE: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain? I just found that using an older kernel in Fedora Core 4 may “solve” the problem. When I tested Fedora Core 4 guest domain, the kernel version I used was 2.6.17-1.2142_FC4, and it cannot recognized the USB disk. I just changed the kernel in guest domain to version 2.6.11-1.1369_FC4. Then the guest domain can recognized the USB disk. I am wondering why the USB support in QEMU depend on the guest domain kernel. And I would like to know which kernel version can support QEMU USB emulation. BTW, I also found that Windows XP guest domain can not recognize the USB disk, while Windows XP SP2 guest domain can recognize the USB disk. So it seems like that the guest Linux/Windows domain should have some “special feature” to work with the QEMU USB emulation successfully. Isn’t it strange? Sent: 2007年2月14日 15:06 To: qemu-devel@nongnu.org Subject: [Qemu-devel] USB storage cannot be recognized on guest Linux domain? I am using Xen 3.0.3 with QEMU-DM 0.8.2 on a Intel VT platform. After insert a USB storage, and use “usb_add” command in QEMU monitor, the storage should be recognized on guest OS. I tested this with a Windows XP SP2 guest OS, it doing well. But when I test the “usb_add” command with some Linux guest OS, it seems that the guest OS cannot recognize the USB storage. And the device number and address in guest domain are always “0.0”. The Linux guest OS I tested including Fedora Core 4 and Fedora Core 5. Does any one also meet this problem or have some idea on this? Feedbacks will be highly appreciated. Thanks Xiaoyang ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain?
Thanks a lot for the instruction. Will the suspend/resume support be added in the future release? Without the suspend/resume support, is there anything can be done in the guest domain to help detect a USB device? Maybe patch the kernel? Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lonnie Mendez Sent: 2007年2月14日 23:01 To: qemu-devel@nongnu.org Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain? On Wed, 2007-02-14 at 18:26 +0800, Yu, Xiaoyang wrote: BTW, I also found that Windows XP guest domain can not recognize the USB disk, while Windows XP SP2 guest domain can recognize the USB disk. So it seems like that the guest Linux/Windows domain should have some “special feature” to work with the QEMU USB emulation successfully. Isn’t it strange? The uhci emulation has no suspend/resume support. From your description this is exactly the problem you are seeing. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] Bus number and address changes after usb_add?
After add a USB device by usb_add, I can view it by info usb. It shows the bus number and address. As shown in vl.c, it seems that usb_info() is called when issue info usb, and usb_device_add() is called when issue usb_add. But if I add call to usb_info() in the end of usb_device_add(), it always show the bus number and address as 0.0, which can be different from the output of usb_add. So it seems like the bus number and address of a USB device changed some time after usb_add. Does anyone know why it changes? Thanks in advance! Thanks Xiaoyang ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] Bus number and address changes after usb_add?
After add a USB device by usb_add, I can view it by info usb. It shows the bus number and address. As shown in vl.c, it seems that usb_info() is called when issue info usb, and usb_device_add() is called when issue usb_add. But if I add call to usb_info() in the end of usb_device_add(), it always show the bus number and address as 0.0, which can be different from the output of info usb. So it seems like the bus number and address of a USB device changed some time after usb_add. Does anyone know why it changes? Thanks in advance! Thanks Xiaoyang ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] Recall: Bus number and address changes after usb_add?
Yu, Xiaoyang would like to recall the message, Bus number and address changes after usb_add?. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] Bus number and address changes after usb_add?
I see. Guest OS will assign the USB device an address later. Is it possible to store this new address in host OS? Then when the USB device is unplugged, host OS can send usb_del command to QEMU to automatically delete the device. Thanks! Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lonnie Mendez Sent: 2006年12月7日 12:25 To: qemu-devel@nongnu.org Subject: Re: [Qemu-devel] Bus number and address changes after usb_add? On Thu, 2006-12-07 at 12:18 +0800, Yu, Xiaoyang wrote: After add a USB device by “usb_add”, I can view it by “info usb”. It shows the bus number and address. As shown in vl.c, it seems that usb_info() is called when issue “info usb”, and usb_device_add() is called when issue “usb_add”. But if I add call to usb_info() in the end of usb_device_add(), it always show the bus number and address as “0.0”, which can be different from the output of “usb_add”. So it seems like the bus number and address of a USB device changed some time after “usb_add”. Does anyone know why it changes? Thanks in advance! The address you see with the monitor command info usb is the address all usb devices start out with when connected to the guest. The guest os will later assign the device an address on bus 0 (the uhci controller on the i386 system target) after it does things like fetch the device descriptor, configuration, etc. iirc linux will first assign a device an address unlike windows which queries for the configuration information before an address is assigned. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] Bus number and address changes after usb_add?
Thanks a lot! So we need to use usb_del bus.addr to remove the device from the guest. So I must get the bus.addr information for the device first. But I cannot do so by just add code into usb_device_add() function, because the bus.addr will change after that. Is there a place in QEMU source code suitable for logging the bus.addr information? Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lonnie Mendez Sent: 2006年12月7日 14:23 To: qemu-devel@nongnu.org Subject: RE: [Qemu-devel] Bus number and address changes after usb_add? On Thu, 2006-12-07 at 14:11 +0800, Yu, Xiaoyang wrote: I see. Guest OS will assign the USB device an address later. Is it possible to store this new address in host OS? Then when the USB device is unplugged, host OS can send usb_del command to QEMU to automatically delete the device. It's possible (on linux host) to register a signal with the kernel that will trigger when the device is disconnected from the host system. From the signal handler the device can then be removed from the guest. See USBDEVFS_DISCSIGNAL ioctl in usbdevice_fs.h. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] About the code to detect a CD-ROM disk is unmounted
Yes raw_close() will be triggered when issue eject CD-ROM command in guest OS. Thanks a lot for your help. Much appreciated. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lonnie Mendez Sent: 2006年12月1日 17:01 To: qemu-devel@nongnu.org Subject: RE: [Qemu-devel] About the code to detect a CD-ROM disk is unmounted On Fri, 2006-12-01 at 16:21 +0800, Yu, Xiaoyang wrote: Great! Thanks a lot for the information! I found the function definition in the files you pointed out, by looking into the latest CVS snapshot. It seems that code changed a lot since version 0.8.2 released. So if I still use version 0.8.2, is there some files or function I should look at instead? Thanks a lot! I found this just by searching for 'eject' in the source. It does look like qemu from cvs has nicely refactored the code for dealing with removable media since the qemu 0.8.2 release. Follow the path of the bdrv_close handler (for cdrom raw_close() is called). The call is made from hw/ide.c (GPCMD_START_STOP_UNIT). ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] About the code to detect a CD-ROM disk is unmounted
Great! Thanks a lot for the information! I found the function definition in the files you pointed out, by looking into the latest CVS snapshot. It seems that code changed a lot since version 0.8.2 released. So if I still use version 0.8.2, is there some files or function I should look at instead? Thanks a lot! Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lonnie Mendez Sent: 2006年11月30日 15:08 To: qemu-devel@nongnu.org Subject: Re: [Qemu-devel] About the code to detect a CD-ROM disk is unmounted On Thu, 2006-11-30 at 15:03 +0800, Yu, Xiaoyang wrote: Hi guys, I am using QEMU with Xen and Intel VT, and I have a question about detecting the CD-ROM disk unmount event: When user ejects CD-ROM in the guest domain, how can QEMU detect this event? I know if we use “info block” command before and after a CD-ROM disk is ejected, we can see the difference. But I want to add code to handle the CD-ROM unmount event, so I need to know which source file I should take a look. It seems to be not “monitor.c”. Any comment will be appreciated. Thanks in advance! hw/ide.c, block.c:bdrv_eject() ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] About the code to detect a CD-ROM disk is unmounted
Hi guys, I am using QEMU with Xen and Intel VT, and I have a question about detecting the CD-ROM disk unmount event: When user ejects CD-ROM in the guest domain, how can QEMU detect this event? I know if we use info block command before and after a CD-ROM disk is ejected, we can see the difference. But I want to add code to handle the CD-ROM unmount event, so I need to know which source file I should take a look. It seems to be not monitor.c. Any comment will be appreciated. Thanks in advance! Thanks Xiaoyang ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel