Re: [Qemu-devel] [RFC] Add serial number to usbdevice when passthrough to VM

2013-01-17 Thread Gerd Hoffmann
  Hi,

> But as the backinfo's request, should we extented the usbdevice parameter
> like:
> 
> --usbdevice host:[:[:]?

-usbdevice is legacy syntax and isn't going to be extended.

Adding an "serial" property to usb-host is an option though.
Patches are welcome.

cheers,
  Gerd




Re: [Qemu-devel] [RFC] Add serial number to usbdevice when passthrough to VM

2013-01-16 Thread Lei Li

On 01/16/2013 03:56 PM, Gerd Hoffmann wrote:

On 01/16/13 08:18, Lei Li wrote:

Hi guys,

Currently we can passthrough the host USB device to the virtual
machine. This is done like:

–usbdevice  host:1234:5678, where 1234 is vendor id, 5678 is product
id.

But there is a problem. If there are two identical USB devices,
where the vendor id and the product id is the same. It's not possible
to direct one USB device to VM1 and the second USB device to VM2.

You can assign devices by physical port.
See docs/usb2.txt


Yes, I have read this doc, I know it also support hostbus+hostport or
hostbus+hostaddr combinations.

But as the backinfo's request, should we extented the usbdevice parameter
like:

--usbdevice host:[:[:]?

What happened if upper app try to passthough those identical USB devices
by vendorid+productid combination?

AFAIK, Virtualbox support to distingish those device by adding this
third parameter 'Serial Number' for vendorid+productid combination.
 


cheers,
   Gerd





--
Lei




Re: [Qemu-devel] [RFC] Add serial number to usbdevice when passthrough to VM

2013-01-15 Thread Gerd Hoffmann
On 01/16/13 08:18, Lei Li wrote:
> Hi guys,
> 
> Currently we can passthrough the host USB device to the virtual
> machine. This is done like:
> 
> –usbdevice  host:1234:5678, where 1234 is vendor id, 5678 is product
> id.
> 
> But there is a problem. If there are two identical USB devices,
> where the vendor id and the product id is the same. It's not possible
> to direct one USB device to VM1 and the second USB device to VM2.

You can assign devices by physical port.
See docs/usb2.txt

cheers,
  Gerd




[Qemu-devel] [RFC] Add serial number to usbdevice when passthrough to VM

2013-01-15 Thread Lei Li

Hi guys,

Currently we can passthrough the host USB device to the virtual
machine. This is done like:

–usbdevice  host:1234:5678, where 1234 is vendor id, 5678 is product
id.

But there is a problem. If there are two identical USB devices,
where the vendor id and the product id is the same. It's not possible
to direct one USB device to VM1 and the second USB device to VM2.

So i want make it possible to distingish those devices by adding a
third parameter, the Serial number of the USB device.


More backinfo as here:

https://bugs.launchpad.net/qemu/+bug/1090602
https://bugzilla.redhat.com/show_bug.cgi?id=640332

When i try to add hack as above and test it, I found that some USB
device don't have iSerial number, which appear as 0 (This value is
given in the "lsusb -v" as "iSerial" field in USB Descriptor), and
usb_host_scan may not get the right iSerial number based on the current
implement.

To solve this problem, I wonder should we support this Serial Number
although it might be zero, or should we add a serial number which is
generated in Qemu and unique within the virtual machine, we can use
physical location to generate such number for example. Please let me
know your suggestions and thoughts!


Thanks.

--
Lei