New USB Pass Through Method with USB 3...Please Test


jonp

Recommended Posts

Is it possibile to make it so that even if an assigned device is missing the VM will start anyway? I have a printer that isn't always connected to the VM.

There is a plugin you can use for hotplugging devices to a running VM. Most likely in the plugin part of the forum  :)

Link to comment

Is it possibile to make it so that even if an assigned device is missing the VM will start anyway? I have a printer that isn't always connected to the VM.

There is a plugin you can use for hotplugging devices to a running VM. Most likely in the plugin part of the forum  :)

 

Thank you! Found it here : http://lime-technology.com/forum/index.php?topic=47240.0

Edit: this probably doesn't do what I want unfortunately. I'd like it to automatically detect and attach the peripheral, just like VMware or Virtualbox does.

Link to comment
  • 2 weeks later...

I am running W10 VM and I have other USB assignments. I have the same model as the recommended change but, my current XML shows it as a index ='1'. What should I do to get this to work?

 

<controller type='usb' index='0' model='ich9-ehci1'>

      <alias name='usb'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci1'>

      <alias name='usb'/>

      <master startport='0'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x07' function='0x0' multifunction='on'/>

    </controller>

    <controller type='usb' index='1' model='nec-xhci'>

      <alias name='usb1'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x08' function='0x0'/>

    </controller>

Link to comment

I am running W10 VM and I have other USB assignments. I have the same model as the recommended change but, my current XML shows it as a index ='1'. What should I do to get this to work?

 

<controller type='usb' index='0' model='ich9-ehci1'>

      <alias name='usb'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci1'>

      <alias name='usb'/>

      <master startport='0'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x07' function='0x0' multifunction='on'/>

    </controller>

    <controller type='usb' index='1' model='nec-xhci'>

      <alias name='usb1'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x08' function='0x0'/>

    </controller>

 

I believe you need to delete all of the usb controllers relating to ich9. it's what i had to do.

 

effective, delete this:

<controller type='usb' index='0' model='ich9-ehci1'>

      <alias name='usb'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci1'>

      <alias name='usb'/>

      <master startport='0'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x07' function='0x0' multifunction='on'/>

    </controller>

Link to comment
  • 1 month later...

<controller type='usb' index='0' model='nec-xhci'>

  ---deleted whatever was here---

</controller>

 

Worked like a charm for me in my Windows 10 vm.

 

Hopefully a bonus for me, in my Lenovo D30 I have 2 USB 3.0 ports that are these NEC high speed.  I'll pass the entire USB controller into my Windows 7 VM.  Hopefully the real thing works as well as it does emulated.

 

Cheers.

Link to comment

It didnt work for me, Like someone had stated, I tired to delete

 

 

    <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

 

but it will add it back to the xml  :-\

 

Any suggestion?

 

Did you add:

 

<controller type='usb' index='0' model='[glow=red,2,300]nec-xhci[/glow]'>

  ---deleted whatever was here---

</controller>

Link to comment

It didnt work for me, Like someone had stated, I tired to delete

 

 

    <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

 

but it will add it back to the xml  :-\

 

Any suggestion?

 

Yes, did that. but the address was added back. I'm running windows 10, it does show the usb 3.0 extensible  host controller in windows but nothing happens when i plug a USB.

Did you add:

 

<controller type='usb' index='0' model='[glow=red,2,300]nec-xhci[/glow]'>

  ---deleted whatever was here---

</controller>

Link to comment

It didnt work for me, Like someone had stated, I tired to delete

 

 

    <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

 

but it will add it back to the xml  :-\

 

Any suggestion?

 

Yes, did that. but the address was added back. I'm running windows 10, it does show the usb 3.0 extensible  host controller in windows but nothing happens when i plug a USB.

Did you add:

 

<controller type='usb' index='0' model='[glow=red,2,300]nec-xhci[/glow]'>

  ---deleted whatever was here---

</controller>

 

Adding 'nec-xhci' switches the usb driver in Windows to USB3.  You remove the address line and the VM manager adds it back based on the change you made.  This is the correct operation and is not a problem.

 

It sounds like you are expecting to hot plug USB devices in Windows.  This does not help with that if that is what you are trying to do.  You assign the USB devices in the VM manager to pass through a USB device to your VM.  This modification was only suggested to help in those cases when a USB device might not properly work on a motherboard with USB3 ports.

 

You need to describe in more detail what you are trying to do so we can offer you proper support.  Just saying that 'It doesn't work' does not give anyone enough information to help you.

Link to comment

any ways to get this working in windows 7?

works great while booting and even as windows 7 loads up, but then windows tries to load some drivers and it all crashed.

 

tried some xhci drivers i found online thata would install properly but all crashed the computer or didnt work with any keyboard/mouse combination.

 

Link to comment

any ways to get this working in windows 7?

works great while booting and even as windows 7 loads up, but then windows tries to load some drivers and it all crashed.

 

I was in the same boat.  model='nec-xhci' in Windows 7 had the vm crashing.  I couldn't get to a start menu.

 

I tried model='ehci' and rebooted.  Everything works including a wireless usb card that didn't work with the model='nec-xhci' removed.

 

Give it a shot.

 

Regards.

Link to comment
  • 1 month later...
  • 3 weeks later...
  • 3 weeks later...

This solved my USB issues on Windows 10 Ent x64 v1607.

 

After i SSH into the server i ran lsusb. Everything important to passthrough to the VM is on Bus 003

 

Bus 002 Device 002: ID 8087:8002 Intel Corp.

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 8087:800a Intel Corp.

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 003 Device 004: ID 413c:2003 Dell Computer Corp. Keyboard

Bus 003 Device 026: ID 045e:0719 Microsoft Corp. Xbox 360 Wireless Adapter

Bus 003 Device 034: ID 0461:4e22 Primax Electronics, Ltd

Bus 003 Device 005: ID 0781:556b SanDisk Corp.

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

I tried all 10 USB ports (USB 2.0 and 3.0) on my server but the device always showed up on Bus 003. These devices are currently plugged into USB 3.0 ports.

 

So per your suggestion i changed this

 

<controller type='usb' index='0' model='ich9-uhci1'>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x7'/>

    </controller>

<controller type='usb' index='0' model='ich9-uhci1'>

      <master startport='0'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0' multifunction='on'/>

    </controller>

 

to this

 

<controller type='usb' index='0' model='nec-xhci'>

</controller>

 

Now all 3 devices are working properly. Previously only 2 of the 3 devices would work at any given time.

 

THANK YOU!

Link to comment
  • 3 weeks later...

I was having a memory leak problem in Windows 10 VM and ran poolmon.exe:

 

Memory: 8388072K Avail: 2293780K  PageFlts: 10264  InRam Krnl:34192K P:451004K

Commit:8602616K Limit:14679528K Peak:8798868K            Pool N:3147096K P:469908K

System pool information

Tag  Type    Allocs            Frees            Diff      Bytes                  Per Alloc

 

Irp  Nonp    3706308 ( 569)  2700514 ( 571)  1005794  1238143488 (      -736)        1231

XHCW Nonp    1004767 (  0)      393 (  0)  1004374  964025232 (          0)        959

Urb  Nonp    2007946 (  0)  1004057 (  0)  1003889  369431152 (          0)        368

IoUs Nonp    7074229 ( 824)  5066420 ( 824)  2007809    96374832 (          0)          48

 

Found out that the XHCW tag is for the USBXHCI.SYS Driver.

 

My VM XML Has the following:

<controller type='usb' index='0' model='nec-xhci'>

      <alias name='usb'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>

    </controller>

 

Could this be a problem with the nec-xhci?

 

HELP!!!!

Link to comment

I was having a memory leak problem in Windows 10 VM and ran poolmon.exe:

 

Memory: 8388072K Avail: 2293780K  PageFlts: 10264  InRam Krnl:34192K P:451004K

Commit:8602616K Limit:14679528K Peak:8798868K            Pool N:3147096K P:469908K

System pool information

Tag  Type    Allocs            Frees            Diff      Bytes                  Per Alloc

 

Irp  Nonp    3706308 ( 569)  2700514 ( 571)  1005794  1238143488 (      -736)        1231

XHCW Nonp    1004767 (  0)      393 (  0)  1004374  964025232 (          0)        959

Urb  Nonp    2007946 (  0)  1004057 (  0)  1003889  369431152 (          0)        368

IoUs Nonp    7074229 ( 824)  5066420 ( 824)  2007809    96374832 (          0)          48

 

Found out that the XHCW tag is for the USBXHCI.SYS Driver.

 

My VM XML Has the following:

<controller type='usb' index='0' model='nec-xhci'>

      <alias name='usb'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>

    </controller>

 

Could this be a problem with the nec-xhci?

 

HELP!!!!

 

Found the culprit. Nothing to do with anything other than a bad old usb driver for my M-Audio Black Box.

 

Removed that, and everything is fine now.

 

This problem also happens in baremetal Windows 10 install.

Link to comment
Guest
This topic is now closed to further replies.