From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHEDu-0000FD-Go for qemu-devel@nongnu.org; Wed, 14 Feb 2007 02:06:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHEDq-0000Bz-Ng for qemu-devel@nongnu.org; Wed, 14 Feb 2007 02:06:38 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHEDq-0000Bg-HW for qemu-devel@nongnu.org; Wed, 14 Feb 2007 02:06:34 -0500 Received: from mga01.intel.com ([192.55.52.88]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHEDq-0004Pj-1g for qemu-devel@nongnu.org; Wed, 14 Feb 2007 02:06:34 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C75006.89784A54" Date: Wed, 14 Feb 2007 15:05:44 +0800 Message-ID: From: "Yu, Xiaoyang" Subject: [Qemu-devel] USB storage cannot be recognized on guest Linux domain? Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C75006.89784A54 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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.=20 =20 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. =20 Thanks Xiaoyang ------_=_NextPart_001_01C75006.89784A54 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

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

------_=_NextPart_001_01C75006.89784A54-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHHL8-0002NA-2h for qemu-devel@nongnu.org; Wed, 14 Feb 2007 05:26:18 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHHL7-0002Lp-72 for qemu-devel@nongnu.org; Wed, 14 Feb 2007 05:26:17 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHHL6-0002LM-QS for qemu-devel@nongnu.org; Wed, 14 Feb 2007 05:26:16 -0500 Received: from mga02.intel.com ([134.134.136.20]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHHL5-0007Bm-P0 for qemu-devel@nongnu.org; Wed, 14 Feb 2007 05:26:16 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C75022.8A057558" Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linux domain? Date: Wed, 14 Feb 2007 18:26:06 +0800 Message-ID: In-Reply-To: From: "Yu, Xiaoyang" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C75022.8A057558 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable I just found that using an older kernel in Fedora Core 4 may = =A1=B0solve=A1=B1 the problem.=20 =20 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.=20 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. =20 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 = =A1=B0special feature=A1=B1 to work with the QEMU USB emulation = successfully. Isn=A1=AFt it strange? =20 =20 Sent: 2007=C4=EA2=D4=C214=C8=D5 15:06 To: qemu-devel@nongnu.org Subject: [Qemu-devel] USB storage cannot be recognized on guest Linux = domain? =20 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 =A1=B0usb_add=A1=B1 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.=20 =20 But when I test the =A1=B0usb_add=A1=B1 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 =A1=B00.0=A1=B1. = 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. =20 Thanks Xiaoyang ------_=_NextPart_001_01C75022.8A057558 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

I just found that using an older kernel in Fedora = Core 4 may =A1=B0solve=A1=B1 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 = =A1=B0special feature=A1=B1 to work with the QEMU USB emulation successfully. = Isn=A1=AFt it strange?

 

 <= /p>

Sent: = 2007=C4=EA<= font size=3D2 face=3DTahoma>2=D4=C2<= font size=3D2 face=3DTahoma>14=C8=D5<= font size=3D2 face=3DTahoma> 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 =A1=B0usb_add=A1=B1 = 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 =A1=B0usb_add=A1=B1 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 =A1=B00.0=A1=B1. 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

------_=_NextPart_001_01C75022.8A057558-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHIKX-0000jf-Iq for qemu-devel@nongnu.org; Wed, 14 Feb 2007 06:29:46 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHIKU-0000hd-G9 for qemu-devel@nongnu.org; Wed, 14 Feb 2007 06:29:42 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHIKT-0000hP-Vz for qemu-devel@nongnu.org; Wed, 14 Feb 2007 06:29:42 -0500 Received: from mo-p07-ob.rzone.de ([81.169.146.188]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHIKR-0007ov-0d for qemu-devel@nongnu.org; Wed, 14 Feb 2007 06:29:40 -0500 Received: from ctserver (Q678d.q.strato-dslnet.de [89.53.103.141]) by post.webmailer.de (klopstock mo24) (RZmta 4.6) with ESMTP id C073caj1EAbhiZ for ; Wed, 14 Feb 2007 12:27:50 +0100 (MET) Received: from [192.168.2.240] (helo=cclsrv01) by ctserver with esmtp (Exim 4.50) id 1HHIIf-00035E-3C for qemu-devel@nongnu.org; Wed, 14 Feb 2007 12:27:49 +0100 From: "Nenad Cimerman" Subject: AW: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain? Date: Wed, 14 Feb 2007 12:27:43 +0100 Message-ID: <001201c7502b$24fbdc50$f002a8c0@cclsrv01> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0013_01C75033.86C04450" In-Reply-To: Reply-To: nenad@cimerman.de, qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. ------=_NextPart_000_0013_01C75033.86C04450 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit Hi Xiaoyang, did you check whether both kernels are configured to support USB? # cat /proc/config or # zcat /proc/config.gz Cheers, Nenad. _____ Von: qemu-devel-bounces+nenad=cimerman.de@nongnu.org [mailto:qemu-devel-bounces+nenad=cimerman.de@nongnu.org] 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 ------=_NextPart_000_0013_01C75033.86C04450 Content-Type: text/html; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable

Hi Xiaoyang,=

 

did you check whether both kernels are configured to support = USB?

# cat = /proc/config

or

# zcat = /proc/config.gz

 =

Cheers,

Nenad.=

 =


Von: qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org [mailto:qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org] 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 =1B$B!H=1B(Jsolve=1B$B!I=1B(J 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 =1B$B!H=1B(Jspecial feature=1B$B!I=1B(J to work with the QEMU USB = emulation successfully. Isn=1B$B!G=1B(Jt it strange?

 

 = ;

Sent: 2007=1B$BG/=1B(J2=1B$B7n=1B(J<= font size=3D2 face=3DTahoma>14=1B$BF|=1B(J<= font size=3D2 face=3DTahoma> 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 = =1B$B!H=1B(Jusb_add=1B$B!I=1B(J 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 = =1B$B!H=1B(Jusb_add=1B$B!I=1B(J 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 = =1B$B!H=1B(J0.0=1B$B!I=1B(J. 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

------=_NextPart_000_0013_01C75033.86C04450-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHJBP-0004gf-AQ for qemu-devel@nongnu.org; Wed, 14 Feb 2007 07:24:23 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHJBN-0004g0-OL for qemu-devel@nongnu.org; Wed, 14 Feb 2007 07:24:22 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHJBN-0004fo-CK for qemu-devel@nongnu.org; Wed, 14 Feb 2007 07:24:21 -0500 Received: from mga03.intel.com ([143.182.124.21]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHJBL-00009I-Eb for qemu-devel@nongnu.org; Wed, 14 Feb 2007 07:24:21 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C75033.08F4978D" Subject: RE: [Qemu-devel] USB storage cannot be recognized on guestLinuxdomain? Date: Wed, 14 Feb 2007 20:24:10 +0800 Message-ID: In-Reply-To: <001201c7502b$24fbdc50$f002a8c0@cclsrv01> From: "Yu, Xiaoyang" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: nenad@cimerman.de, qemu-devel@nongnu.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C75033.08F4978D Content-Type: multipart/alternative; boundary="----_=_NextPart_002_01C75033.08F4978D" ------_=_NextPart_002_01C75033.08F4978D Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Hi Nenad, =20 Both kernels are configured to support USB devices. The config files are = put in the attachment. =20 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.=20 =20 Thanks Xiaoyang =20 ________________________________ From: qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org = [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf = Of Nenad Cimerman Sent: 2007=C4=EA2=D4=C214=C8=D5 19:28 To: qemu-devel@nongnu.org Subject: AW: [Qemu-devel] USB storage cannot be recognized on = guestLinuxdomain? =20 Hi Xiaoyang, =20 did you check whether both kernels are configured to support USB? # cat /proc/config=20 or # zcat /proc/config.gz =20 Cheers, Nenad. =20 ________________________________ Von: qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org = [mailto:qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org] 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? =20 I just found that using an older kernel in Fedora Core 4 may = =A1=B0solve=A1=B1 the problem.=20 =20 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.=20 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. =20 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 = =A1=B0special feature=A1=B1 to work with the QEMU USB emulation = successfully. Isn=A1=AFt it strange? =20 =20 Sent: 2007=C4=EA2=D4=C214=C8=D5 15:06 To: qemu-devel@nongnu.org Subject: [Qemu-devel] USB storage cannot be recognized on guest Linux = domain? =20 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 =A1=B0usb_add=A1=B1 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.=20 =20 But when I test the =A1=B0usb_add=A1=B1 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 =A1=B00.0=A1=B1. = 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. =20 Thanks Xiaoyang ------_=_NextPart_002_01C75033.08F4978D Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

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: = qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf Of Nenad Cimerman
Sent: = 2007
=C4=EA2=D4=C214=C8=D5 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: qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org = [mailto:qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org] 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 =A1=B0solve=A1=B1 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 =A1=B0special feature=A1=B1 to work with the QEMU USB emulation = successfully. Isn=A1=AFt it strange?

 

 <= /p>

Sent: = 2007=C4=EA2=D4=C214=C8=D5 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 =A1=B0usb_add=A1=B1 = 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 =A1=B0usb_add=A1=B1 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 =A1=B00.0=A1=B1. 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

------_=_NextPart_002_01C75033.08F4978D-- ------_=_NextPart_001_01C75033.08F4978D Content-Type: application/x-gzip; name="config-2.6.11-1.1369_FC4.gz" Content-Transfer-Encoding: base64 Content-Description: config-2.6.11-1.1369_FC4.gz Content-Disposition: attachment; filename="config-2.6.11-1.1369_FC4.gz" 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 ------_=_NextPart_001_01C75033.08F4978D Content-Type: application/x-gzip; name="config-2.6.17-1.2142_FC4.gz" Content-Transfer-Encoding: base64 Content-Description: config-2.6.17-1.2142_FC4.gz Content-Disposition: attachment; filename="config-2.6.17-1.2142_FC4.gz" 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 ------_=_NextPart_001_01C75033.08F4978D-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHJQb-00030B-8O for qemu-devel@nongnu.org; Wed, 14 Feb 2007 07:40:05 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHJQa-0002zW-5f for qemu-devel@nongnu.org; Wed, 14 Feb 2007 07:40:04 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHJQa-0002zQ-2S for qemu-devel@nongnu.org; Wed, 14 Feb 2007 07:40:04 -0500 Received: from mga02.intel.com ([134.134.136.20]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHJQZ-0002Rr-1N for qemu-devel@nongnu.org; Wed, 14 Feb 2007 07:40:03 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C75035.29BD080D" Subject: RE: [Qemu-devel] USB storage cannot be recognized on guestLinuxdomain? Date: Wed, 14 Feb 2007 20:39:24 +0800 Message-ID: In-Reply-To: From: "Yu, Xiaoyang" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, nenad@cimerman.de This is a multi-part message in MIME format. ------_=_NextPart_001_01C75035.29BD080D Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Also I have tested QEMU 0.9.0 using image =A1=B0linux-0.2.img=A1=B1. = After invoked =A1=B0usb_add=A1=B1 in QEMU monitor, nothing was shown in = guest domain. Then I type =A1=B0exit=A1=B1 to reboot the system, then = the following message shown in guest domain: =20 scsi 0:0:0:0: Direct-Access Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI:2 = =20 It seems like that the USB disk can be recognized only after a system = reboot of =A1=B0linux-0.2.img=A1=B1. =20 ________________________________ From: qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org = [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf = Of Yu, Xiaoyang Sent: 2007=C4=EA2=D4=C214=C8=D5 20:24 To: nenad@cimerman.de; qemu-devel@nongnu.org Subject: RE: [Qemu-devel] USB storage cannot be recognized on = guestLinuxdomain? =20 Hi Nenad, =20 Both kernels are configured to support USB devices. The config files are = put in the attachment. =20 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.=20 =20 Thanks Xiaoyang =20 ________________________________ From: qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org = [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf = Of Nenad Cimerman Sent: 2007=C4=EA2=D4=C214=C8=D5 19:28 To: qemu-devel@nongnu.org Subject: AW: [Qemu-devel] USB storage cannot be recognized on = guestLinuxdomain? =20 Hi Xiaoyang, =20 did you check whether both kernels are configured to support USB? # cat /proc/config=20 or # zcat /proc/config.gz =20 Cheers, Nenad. =20 ________________________________ Von: qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org = [mailto:qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org] 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? =20 I just found that using an older kernel in Fedora Core 4 may = =A1=B0solve=A1=B1 the problem.=20 =20 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.=20 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. =20 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 = =A1=B0special feature=A1=B1 to work with the QEMU USB emulation = successfully. Isn=A1=AFt it strange? =20 =20 Sent: 2007=C4=EA2=D4=C214=C8=D5 15:06 To: qemu-devel@nongnu.org Subject: [Qemu-devel] USB storage cannot be recognized on guest Linux = domain? =20 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 =A1=B0usb_add=A1=B1 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.=20 =20 But when I test the =A1=B0usb_add=A1=B1 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 =A1=B00.0=A1=B1. = 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. =20 Thanks Xiaoyang ------_=_NextPart_001_01C75035.29BD080D Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

Also I have tested QEMU 0.9.0 using = image =A1=B0linux-0.2.img=A1=B1. After invoked =A1=B0usb_add=A1=B1 in QEMU monitor, nothing was shown in = guest domain. Then I type =A1=B0exit=A1=B1 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 = =A1=B0linux-0.2.img=A1=B1.

 


From: qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf Of Yu, Xiaoyang
Sent: = 2007
=C4=EA<= font size=3D2 face=3DTahoma>2=D4=C2<= font size=3D2 face=3DTahoma>14=C8=D5<= font size=3D2 face=3DTahoma> 20:24
To: nenad@cimerman.de; = 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: qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org = [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf Of Nenad = Cimerman
Sent: = 2007
=C4=EA2=D4=C214=C8=D5 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: qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org [mailto:qemu-devel-bounces+nenad=3Dcimerman.de@nongnu.org] 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 =A1=B0solve=A1=B1 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 =A1=B0special feature=A1=B1 to work with the QEMU USB emulation = successfully. Isn=A1=AFt it strange?

 

 <= /p>

Sent: = 2007=C4=EA<= font size=3D2 face=3DTahoma>2=D4=C2<= font size=3D2 face=3DTahoma>14=C8=D5<= font size=3D2 face=3DTahoma> 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 =A1=B0usb_add=A1=B1 = 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 =A1=B0usb_add=A1=B1 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 =A1=B00.0=A1=B1. 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

------_=_NextPart_001_01C75035.29BD080D-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHLcm-0001fY-ED for qemu-devel@nongnu.org; Wed, 14 Feb 2007 10:00:48 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHLck-0001ep-El for qemu-devel@nongnu.org; Wed, 14 Feb 2007 10:00:47 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHLck-0001el-BG for qemu-devel@nongnu.org; Wed, 14 Feb 2007 10:00:46 -0500 Received: from ms-smtp-01.texas.rr.com ([24.93.47.40]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHLcj-0003ue-QW for qemu-devel@nongnu.org; Wed, 14 Feb 2007 10:00:46 -0500 Received: from vaio (cpe-66-68-31-100.austin.res.rr.com [66.68.31.100]) by ms-smtp-01.texas.rr.com (8.13.6/8.13.6) with ESMTP id l1EF0hkO018354 for ; Wed, 14 Feb 2007 09:00:44 -0600 (CST) Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linux domain? From: Lonnie Mendez In-Reply-To: References: Content-Type: text/plain; charset=iso-8859-13 Date: Wed, 14 Feb 2007 09:00:41 -0600 Message-Id: <1171465241.4091.26.camel@vaio> Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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 =B4special feature=A1 to work with the QEMU USB emulation > successfully. Isn=FFt it strange? The uhci emulation has no suspend/resume support. From your description this is exactly the problem you are seeing. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHWUH-0007Mh-VY for qemu-devel@nongnu.org; Wed, 14 Feb 2007 21:36:45 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHWUG-0007KO-Mt for qemu-devel@nongnu.org; Wed, 14 Feb 2007 21:36:45 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHWUG-0007KC-JX for qemu-devel@nongnu.org; Wed, 14 Feb 2007 21:36:44 -0500 Received: from mga01.intel.com ([192.55.52.88]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHWUG-000437-6E for qemu-devel@nongnu.org; Wed, 14 Feb 2007 21:36:44 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain? Date: Thu, 15 Feb 2007 10:36:24 +0800 Message-ID: In-Reply-To: <1171465241.4091.26.camel@vaio> From: "Yu, Xiaoyang" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Thanks a lot for the instruction. Will the suspend/resume support be = added in the future release?=20 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 =20 -----Original Message----- From: qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org = [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf = Of Lonnie Mendez Sent: 2007=C4=EA2=D4=C214=C8=D5 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 =A1=B0special feature=A1=B1 to work with the QEMU USB emulation > successfully. Isn=A1=AFt it strange? The uhci emulation has no suspend/resume support. From your description this is exactly the problem you are seeing. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHWbD-0002KO-5S for qemu-devel@nongnu.org; Wed, 14 Feb 2007 21:43:55 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHWbB-0002HW-DW for qemu-devel@nongnu.org; Wed, 14 Feb 2007 21:43:54 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHWbB-0002HM-6N for qemu-devel@nongnu.org; Wed, 14 Feb 2007 21:43:53 -0500 Received: from ms-smtp-04.texas.rr.com ([24.93.47.43]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHWbA-0004tn-Nu for qemu-devel@nongnu.org; Wed, 14 Feb 2007 21:43:52 -0500 Received: from vaio (cpe-66-68-31-100.austin.res.rr.com [66.68.31.100]) by ms-smtp-04.texas.rr.com (8.13.6/8.13.6) with ESMTP id l1F2hZSc011107 for ; Wed, 14 Feb 2007 20:43:38 -0600 (CST) Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain? From: Lonnie Mendez In-Reply-To: References: Content-Type: text/plain Date: Wed, 14 Feb 2007 20:43:32 -0600 Message-Id: <1171507413.4091.48.camel@vaio> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Thu, 2007-02-15 at 10:36 +0800, Yu, Xiaoyang wrote: > 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? For windows you can disable the power management for the controller. That will cause windows to constantly poll hub status. For linux you have to reload the uhci hcd driver. Notice that starting qemu with -usbdevice works. The code to implement this is very easy. You basically set/clear some bits and trigger an interrupt. See list archives for example code. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHbJ1-0002QL-Af for qemu-devel@nongnu.org; Thu, 15 Feb 2007 02:45:27 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHbIz-0002Q8-HG for qemu-devel@nongnu.org; Thu, 15 Feb 2007 02:45:26 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHbIz-0002Q5-BT for qemu-devel@nongnu.org; Thu, 15 Feb 2007 02:45:25 -0500 Received: from mga03.intel.com ([143.182.124.21]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHbIy-0007Ii-PJ for qemu-devel@nongnu.org; Thu, 15 Feb 2007 02:45:25 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linux domain? Date: Thu, 15 Feb 2007 15:44:55 +0800 Message-ID: In-Reply-To: <1171507413.4091.48.camel@vaio> From: "Yu, Xiaoyang" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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.=20 I also wonder why the kernel 2.6.11-1.1369_FC4 can recognize USB storage = without UHCI suspend/resume support. Thanks Xiaoyang =20 -----Original Message----- From: qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org = [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf = Of Lonnie Mendez Sent: 2007=C4=EA2=D4=C215=C8=D5 10:44 To: qemu-devel@nongnu.org Subject: RE: [Qemu-devel] USB storage cannot be recognized onguest = Linuxdomain? On Thu, 2007-02-15 at 10:36 +0800, Yu, Xiaoyang wrote: > Thanks a lot for the instruction. Will the suspend/resume support be = added in the future release?=20 >=20 > 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? For windows you can disable the power management for the controller. That will cause windows to constantly poll hub status. For linux you have to reload the uhci hcd driver. Notice that starting qemu with -usbdevice works. The code to implement this is very easy. You basically set/clear some bits and trigger an interrupt. See list archives for example code. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHhue-00032o-4I for qemu-devel@nongnu.org; Thu, 15 Feb 2007 09:48:44 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHhua-00032c-Kn for qemu-devel@nongnu.org; Thu, 15 Feb 2007 09:48:42 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHhua-00032Z-EI for qemu-devel@nongnu.org; Thu, 15 Feb 2007 09:48:40 -0500 Received: from ms-smtp-02.texas.rr.com ([24.93.47.41]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHhuZ-0003aE-U8 for qemu-devel@nongnu.org; Thu, 15 Feb 2007 09:48:40 -0500 Received: from vaio (cpe-66-68-31-100.austin.res.rr.com [66.68.31.100]) by ms-smtp-02.texas.rr.com (8.13.6/8.13.6) with ESMTP id l1FEmbgr019518 for ; Thu, 15 Feb 2007 08:48:38 -0600 (CST) Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linux domain? From: Lonnie Mendez In-Reply-To: References: Content-Type: multipart/mixed; boundary="=-9fUfiSpNFgJ0IWWF/TU/" Date: Thu, 15 Feb 2007 08:48:34 -0600 Message-Id: <1171550915.4091.52.camel@vaio> Mime-Version: 1.0 Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --=-9fUfiSpNFgJ0IWWF/TU/ Content-Type: text/plain Content-Transfer-Encoding: 7bit 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. --=-9fUfiSpNFgJ0IWWF/TU/ Content-Disposition: attachment; filename=qemu-uhci-resume.diff Content-Type: text/x-patch; name=qemu-uhci-resume.diff; charset=iso-8859-1 Content-Transfer-Encoding: 7bit ? qemu-uhci-resume.diff Index: hw/usb-uhci.c =================================================================== RCS file: /sources/qemu/qemu/hw/usb-uhci.c,v retrieving revision 1.13 diff -u -r1.13 usb-uhci.c --- hw/usb-uhci.c 17 Jan 2007 23:08:17 -0000 1.13 +++ hw/usb-uhci.c 15 Feb 2007 14:44:40 -0000 @@ -26,6 +26,8 @@ //#define DEBUG //#define DEBUG_PACKET +#define UHCI_CMD_FGR (1 << 4) +#define UHCI_CMD_EGSM (1 << 3) #define UHCI_CMD_GRESET (1 << 2) #define UHCI_CMD_HCRESET (1 << 1) #define UHCI_CMD_RS (1 << 0) @@ -327,6 +329,21 @@ return val; } +/* signal resume if controller suspended */ +static void uhci_resume (void *opaque) +{ + UHCIState *s = (UHCIState *)opaque; + + if (!s) + return; + + if (s->cmd & UHCI_CMD_EGSM) { + s->cmd |= UHCI_CMD_FGR; + s->status |= UHCI_STS_RD; + uhci_update_irq(s); + } +} + static void uhci_attach(USBPort *port1, USBDevice *dev) { UHCIState *s = port1->opaque; @@ -344,6 +361,9 @@ port->ctrl |= UHCI_PORT_LSDA; else port->ctrl &= ~UHCI_PORT_LSDA; + + uhci_resume(s); + port->port.dev = dev; /* send the attach message */ usb_send_msg(dev, USB_MSG_ATTACH); @@ -358,6 +378,9 @@ port->ctrl &= ~UHCI_PORT_EN; port->ctrl |= UHCI_PORT_ENC; } + + uhci_resume(s); + dev = port->port.dev; if (dev) { /* send the detach message */ --=-9fUfiSpNFgJ0IWWF/TU/-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HHvMo-0006BO-KU for qemu-devel@nongnu.org; Fri, 16 Feb 2007 00:10:42 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HHvMm-0006BB-5W for qemu-devel@nongnu.org; Fri, 16 Feb 2007 00:10:41 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HHvMl-0006B8-Vy for qemu-devel@nongnu.org; Fri, 16 Feb 2007 00:10:40 -0500 Received: from mga01.intel.com ([192.55.52.88]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HHvMl-0008KO-G5 for qemu-devel@nongnu.org; Fri, 16 Feb 2007 00:10:39 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Subject: RE: [Qemu-devel] USB storage cannot be recognized on guest Linuxdomain? Date: Fri, 16 Feb 2007 13:10:34 +0800 Message-ID: In-Reply-To: <1171550915.4091.52.camel@vaio> From: "Yu, Xiaoyang" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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 =20 -----Original Message----- From: qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org = [mailto:qemu-devel-bounces+xiaoyang.yu=3Dintel.com@nongnu.org] On Behalf = Of Lonnie Mendez Sent: 2007=C4=EA2=D4=C215=C8=D5 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, >=20 > Thanks a lot for the information. >=20 > 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. >=20 > 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 :-( >=20 > 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 >=20 > 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.=20 >=20 > 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.