I''m trying to use usbdevice option in the config file (instead of passing USB PCI devices), and the documentation says to specify the device in the form host:xxxx:yyyy where xxxx:yyyy is the USB vendor:device ID. Except there is a problem with this - I have two identical keyboards and mice, one set of which I want to pass to the host, and the other set which I want to pass to the guest. Since the xxxx:yyyy will be the same for both devices of each type, how can I deterministically specify which I want to keep on the host and which I want to pass to the guest? Is there a way to use something like BusID:DeviceID instead in order to provide a more deterministic outcome? Gordan
On 07/29/2013 08:17 PM, Gordan Bobic wrote:> I''m trying to use usbdevice option in the config file (instead of > passing USB PCI devices), and the documentation says to specify the > device in the form host:xxxx:yyyy where xxxx:yyyy is the USB > vendor:device ID. > > Except there is a problem with this - I have two identical keyboards and > mice, one set of which I want to pass to the host, and the other set > which I want to pass to the guest. Since the xxxx:yyyy will be the same > for both devices of each type, how can I deterministically specify which > I want to keep on the host and which I want to pass to the guest? > > Is there a way to use something like BusID:DeviceID instead in order to > provide a more deterministic outcome?On a related note, the first device gets passed through successfully, but the second fails with a warning in qemu-dm log: Warning: could not add USB device host:1532:002f My usbdevice list is: usbdevice = [ ''host:045e:00dd'', ''host:1532:002f'' ] I cannot see anything more explanator in any of the other logs - what should I be looking for? Gordan
Pasi Kärkkäinen
2013-Jul-29 21:18 UTC
Re: usbdevice option and specifying a specific device
On Mon, Jul 29, 2013 at 09:01:42PM +0100, Gordan Bobic wrote:> On 07/29/2013 08:17 PM, Gordan Bobic wrote: > >I''m trying to use usbdevice option in the config file (instead of > >passing USB PCI devices), and the documentation says to specify the > >device in the form host:xxxx:yyyy where xxxx:yyyy is the USB > >vendor:device ID. > > > >Except there is a problem with this - I have two identical keyboards and > >mice, one set of which I want to pass to the host, and the other set > >which I want to pass to the guest. Since the xxxx:yyyy will be the same > >for both devices of each type, how can I deterministically specify which > >I want to keep on the host and which I want to pass to the guest? > > > >Is there a way to use something like BusID:DeviceID instead in order to > >provide a more deterministic outcome? > > On a related note, the first device gets passed through > successfully, but the second fails with a warning in qemu-dm log: > > Warning: could not add USB device host:1532:002f > > My usbdevice list is: > > usbdevice = [ ''host:045e:00dd'', ''host:1532:002f'' ] > > I cannot see anything more explanator in any of the other logs - > what should I be looking for? >You forgot to mention all the needed basic info.. What Xen version? Are you using xl? -- Pasi
On 07/29/2013 10:18 PM, Pasi Kärkkäinen wrote:> On Mon, Jul 29, 2013 at 09:01:42PM +0100, Gordan Bobic wrote: >> On 07/29/2013 08:17 PM, Gordan Bobic wrote: >>> I''m trying to use usbdevice option in the config file (instead of >>> passing USB PCI devices), and the documentation says to specify the >>> device in the form host:xxxx:yyyy where xxxx:yyyy is the USB >>> vendor:device ID. >>> >>> Except there is a problem with this - I have two identical keyboards and >>> mice, one set of which I want to pass to the host, and the other set >>> which I want to pass to the guest. Since the xxxx:yyyy will be the same >>> for both devices of each type, how can I deterministically specify which >>> I want to keep on the host and which I want to pass to the guest? >>> >>> Is there a way to use something like BusID:DeviceID instead in order to >>> provide a more deterministic outcome? >> >> On a related note, the first device gets passed through >> successfully, but the second fails with a warning in qemu-dm log: >> >> Warning: could not add USB device host:1532:002f >> >> My usbdevice list is: >> >> usbdevice = [ ''host:045e:00dd'', ''host:1532:002f'' ] >> >> I cannot see anything more explanator in any of the other logs - >> what should I be looking for? >> > > You forgot to mention all the needed basic info.. > > What Xen version? Are you using xl?Xen 4.3, and yes, I am using xl. Gordan
On Mon, 2013-07-29 at 20:17 +0100, Gordan Bobic wrote:> I''m trying to use usbdevice option in the config file (instead of > passing USB PCI devices), and the documentation says to specify the > device in the form host:xxxx:yyyy where xxxx:yyyy is the USB > vendor:device ID. > > Except there is a problem with this - I have two identical keyboards and > mice, one set of which I want to pass to the host, and the other set > which I want to pass to the guest. Since the xxxx:yyyy will be the same > for both devices of each type, how can I deterministically specify which > I want to keep on the host and which I want to pass to the guest? > > Is there a way to use something like BusID:DeviceID instead in order to > provide a more deterministic outcome?I think George (CCd) had some plans to improve this initial implementation in the 4.4 time frame. Since it looks like the devices which you pass are given direct to qemu''s -usbdevice option it seems like host:bus.addr should work too. "Supporting" this option is perhaps just a docs patch away? Not sure if this varies depending on qemu-trad vs upstream, I only looked at the upstream manpage. Ian.
On 30/07/13 09:23, Ian Campbell wrote:> On Mon, 2013-07-29 at 20:17 +0100, Gordan Bobic wrote: >> I''m trying to use usbdevice option in the config file (instead of >> passing USB PCI devices), and the documentation says to specify the >> device in the form host:xxxx:yyyy where xxxx:yyyy is the USB >> vendor:device ID. >> >> Except there is a problem with this - I have two identical keyboards and >> mice, one set of which I want to pass to the host, and the other set >> which I want to pass to the guest. Since the xxxx:yyyy will be the same >> for both devices of each type, how can I deterministically specify which >> I want to keep on the host and which I want to pass to the guest? >> >> Is there a way to use something like BusID:DeviceID instead in order to >> provide a more deterministic outcome? > I think George (CCd) had some plans to improve this initial > implementation in the 4.4 time frame. > > Since it looks like the devices which you pass are given direct to > qemu''s -usbdevice option it seems like host:bus.addr should work too. > "Supporting" this option is perhaps just a docs patch away?Yes, I think "host:bus.addr" should work as well. Let us know if it doesn''t.> Not sure if this varies depending on qemu-trad vs upstream, I only > looked at the upstream manpage.Command-line options to qemu are part of the stable interface, so it should work for both qemu-traditional and qemu-xen. -George
On Wed, 2013-07-31 at 09:25 +0100, George Dunlap wrote:> On 30/07/13 09:23, Ian Campbell wrote: > > On Mon, 2013-07-29 at 20:17 +0100, Gordan Bobic wrote: > >> I''m trying to use usbdevice option in the config file (instead of > >> passing USB PCI devices), and the documentation says to specify the > >> device in the form host:xxxx:yyyy where xxxx:yyyy is the USB > >> vendor:device ID. > >> > >> Except there is a problem with this - I have two identical keyboards and > >> mice, one set of which I want to pass to the host, and the other set > >> which I want to pass to the guest. Since the xxxx:yyyy will be the same > >> for both devices of each type, how can I deterministically specify which > >> I want to keep on the host and which I want to pass to the guest? > >> > >> Is there a way to use something like BusID:DeviceID instead in order to > >> provide a more deterministic outcome? > > I think George (CCd) had some plans to improve this initial > > implementation in the 4.4 time frame. > > > > Since it looks like the devices which you pass are given direct to > > qemu''s -usbdevice option it seems like host:bus.addr should work too. > > "Supporting" this option is perhaps just a docs patch away? > > Yes, I think "host:bus.addr" should work as well. Let us know if it > doesn''t.If it does then we should add it to our docs as something which we support passing on to qemu.> > Not sure if this varies depending on qemu-trad vs upstream, I only > > looked at the upstream manpage. > > Command-line options to qemu are part of the stable interface, so it > should work for both qemu-traditional and qemu-xen.Assuming it was supported at all in the -trad era, which I guess you are saying it was. Ian.
On 31/07/13 11:12, Ian Campbell wrote:> On Wed, 2013-07-31 at 09:25 +0100, George Dunlap wrote: >> On 30/07/13 09:23, Ian Campbell wrote: >>> On Mon, 2013-07-29 at 20:17 +0100, Gordan Bobic wrote: >>>> I''m trying to use usbdevice option in the config file (instead of >>>> passing USB PCI devices), and the documentation says to specify the >>>> device in the form host:xxxx:yyyy where xxxx:yyyy is the USB >>>> vendor:device ID. >>>> >>>> Except there is a problem with this - I have two identical keyboards and >>>> mice, one set of which I want to pass to the host, and the other set >>>> which I want to pass to the guest. Since the xxxx:yyyy will be the same >>>> for both devices of each type, how can I deterministically specify which >>>> I want to keep on the host and which I want to pass to the guest? >>>> >>>> Is there a way to use something like BusID:DeviceID instead in order to >>>> provide a more deterministic outcome? >>> I think George (CCd) had some plans to improve this initial >>> implementation in the 4.4 time frame. >>> >>> Since it looks like the devices which you pass are given direct to >>> qemu''s -usbdevice option it seems like host:bus.addr should work too. >>> "Supporting" this option is perhaps just a docs patch away? >> Yes, I think "host:bus.addr" should work as well. Let us know if it >> doesn''t. > If it does then we should add it to our docs as something which we > support passing on to qemu.Gordan, did you try this? -George
On Mon, 5 Aug 2013 12:24:40 +0100, George Dunlap <george.dunlap@eu.citrix.com> wrote:> On 31/07/13 11:12, Ian Campbell wrote: >> On Wed, 2013-07-31 at 09:25 +0100, George Dunlap wrote: >>> On 30/07/13 09:23, Ian Campbell wrote: >>>> On Mon, 2013-07-29 at 20:17 +0100, Gordan Bobic wrote: >>>>> I''m trying to use usbdevice option in the config file (instead of >>>>> passing USB PCI devices), and the documentation says to specify >>>>> the >>>>> device in the form host:xxxx:yyyy where xxxx:yyyy is the USB >>>>> vendor:device ID. >>>>> >>>>> Except there is a problem with this - I have two identical >>>>> keyboards and >>>>> mice, one set of which I want to pass to the host, and the other >>>>> set >>>>> which I want to pass to the guest. Since the xxxx:yyyy will be >>>>> the same >>>>> for both devices of each type, how can I deterministically >>>>> specify which >>>>> I want to keep on the host and which I want to pass to the guest? >>>>> >>>>> Is there a way to use something like BusID:DeviceID instead in >>>>> order to >>>>> provide a more deterministic outcome? >>>> I think George (CCd) had some plans to improve this initial >>>> implementation in the 4.4 time frame. >>>> >>>> Since it looks like the devices which you pass are given direct to >>>> qemu''s -usbdevice option it seems like host:bus.addr should work >>>> too. >>>> "Supporting" this option is perhaps just a docs patch away? >>> Yes, I think "host:bus.addr" should work as well. Let us know if >>> it >>> doesn''t. >> If it does then we should add it to our docs as something which we >> support passing on to qemu. > > Gordan, did you try this?Yes, it works, but only if BusID != 8. See the bug report I posted yesterday. I will double check tonight whether the BusID=8 gets clobbered into BusID=0 at xl or qemu-dm level. Gordan