This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] USB (virtualiation?) in PV and HVM

To: "Mark Williamson" <mark.williamson@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] USB (virtualiation?) in PV and HVM
From: "Emre Erenoglu" <erenoglu@xxxxxxxxx>
Date: Sun, 11 Mar 2007 01:31:35 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sat, 10 Mar 2007 16:30:39 -0800
Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=q67UPDB2yguBpOZZaAFENyVSW218RSgCEcy9a1NBT/NC+FpIe8Ww8rbTMAt54vdePI18H6MppUU/BlrZIYNjdY3pxX0nsAAkSTnQ4h47gaAygICkChykciE+Ow2+n7eBjQFlfBqEc0ZoYCt6HO28NBtgIQS15pfMISjhxLXU1jA=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=sPHw1VTME44HSKJKKcjICzTl7OEKpnDxBYrcQLFKDUrrdFioT47HkyUYBV1hcu/DbJwN/HrXF52/ioxyyaB87tB65wraGJ16nmioiWU3OjkjaL1Z4pmL40ac4YlGXTsxVH7nTepTv3fPYykmy9JXzKjihMn01dqMQUtGB0kzJvU=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200703101923.34833.mark.williamson@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <fe9771a80703080915t5c836e7cvb33349bb6c972f03@xxxxxxxxxxxxxx> <200703101923.34833.mark.williamson@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi Mark,

Thank you very much for your answer. I'm not sure if it was you who
wrote it in the mailing list (i lost it again), but nevertheless, I
found the exact document that I was looking for. In fact, it looks
like an original users manual for Xen 3.0, but might be outdated.
Here's the address:


This section, which is about USB Low Speed Physical Devices" seemed OK
for me. I still didn't use it but i guess I'll try tomorrow.

I'm successfully using USB Mass Storage devices showing them as hard
disks to PV and HVM guests, so it's no problem.

Nevertheless, I would like to do it the USB way, i.e. plug-and-play,
and my ultimate target is to be able to use stuff like Webcam etc. for
the DomUs.

Mark, could you please also comment on the availability of PV drivers
for HVM domains? i.e., HDD controller as the disk i/o (ioemu) in hvm
domains seems to be a bit slow.

Good night and Best regards,


On 3/10/07, Mark Williamson <mark.williamson@xxxxxxxxxxxx> wrote:
> Another question and another pardon for getting your valuable development
> time.
> I want to assign specific USB ports to Specific DomU's in my Xen
> Setup. Am I able to do it in:
> - HVM domains (i.e. Windows)?

This sort-of works; there is a syntax for controlling USB passthrough to HVM
domUs in the config file format.  However, I'm not sure anybody uses this;
the one or two reports I've recently seen reported significant problems with
this mode of operation.

You could test how it works for you, but please treat it with caution.  I'm
not sure it's "officially" supported as a working configuration at all.

> - in PV domains (i.e. linux running a xen domu kernel)?

This is not supported at the moment; there were patches for paravirtualised
USB available at one stage but they certainly wouldn't work on modern Xen
releases without some modification.  There's no officially sanctioned way of
doing this either, unfortunately.

> So that I can share my 8 USB ports to different domains.
> Is there any documentation? I checked xensource, mail lists etc. but
> maybe didn't search the right way and couldn't find anything to put
> inside the domain configuration files to enable this function.
> I remember seeing somewhere (maybe mailing lists) about this
> functionality and config like:
> usb:x:y:z:t
> to assign to a specific domain, but can't find it anymore...

This was probably a description of them PV USB interface, but that's not
available anymore (IIRC it was included in Linux 2.4 on Xen 2.x releases -
but that's ancient history now and not maintained.  In any case, it wasn't
widely tested then so I wouldn't recommend trying it now other than to play
around with.).

> I also
> remember that it will be even possible to assign "specific devices" to
> specific domains regardless of the port (but this i don't need for the
> moment).

That sounds like something I might have said - was it me who made the post you
were looking at?  Indeed this is something that shouldn't be too hard to
implement given basic USB passthrough functionality; unfortunately we still
don't have a stable and supported way of doing that.

Sorry to disappoint you.

You *could* pass through things like USB mass storage devices to PV and HVM
guests using the standard blockfront/blockback driver, but USB hotplug will
not work in a particularly sane way with this.  I'd recommend unmounting and
removing the virtual block device corresponding to the USB device completely
from all domains using it before removing it from the dom0 system.

Hope that helps you somewhat,

> Thanks alot beforehand for any link to a document to read,
> Best regards,
> Emre
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

Emre Erenoglu

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>