USB pass thought. all ports on the backplane and front panel show as Bus 1.


claira

Recommended Posts

Hi all,

 

I was following this guide for USB passthrough.  http://lime-technology.com/forum/index.php?topic=36768.45

 

However all the device on my back pannel (6x usb 2.0, 4x usb 3.0) and 4 front connectors (2x usb 2.0, 2x usb 3.0) are on bus 1. There is 1 spare usb 2.0 header on my motherboard that is untested so far.

 

I am confused as to how to map just the ports i need.  Ideally all ports except the set that has the boot usb device would be mapped.

 

Any advice would be much appreciated.

 

MB is a EVGA Z97 FTW

 

Thanks

 

 

root@UNRAID:~# lspci | grep USB

00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Contr  oller

00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Contr  oller #2

00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Contr  oller #1

root@UNRAID:~# lsusb

Bus 004 Device 002: ID 8087:8001 Intel Corp.

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

Bus 003 Device 002: ID 8087:8009 Intel Corp.

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

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

Bus 001 Device 003: ID 045e:02d1 Microsoft Corp. XBOX One Controller for Windows

Bus 001 Device 002: ID 0951:1603 Kingston Technology DataTraveler 1GB/2GB Pen Dr  ive

Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver

Bus 001 Device 004: ID 045e:02d1 Microsoft Corp. XBOX One Controller for Windows

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

root@UNRAID:~# lsusb

Bus 004 Device 002: ID 8087:8001 Intel Corp.

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

Bus 003 Device 002: ID 8087:8009 Intel Corp.

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

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

Bus 001 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver

Bus 001 Device 002: ID 0951:1603 Kingston Technology DataTraveler 1GB/2GB Pen Dr  ive

Bus 001 Device 006: ID 045e:02d1 Microsoft Corp. XBOX One Controller for Windows

Bus 001 Device 008: ID 045e:02d1 Microsoft Corp. XBOX One Controller for Windows

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

root@UNRAID:~# lsusb

Bus 004 Device 002: ID 8087:8001 Intel Corp.

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

Bus 003 Device 002: ID 8087:8009 Intel Corp.

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

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

Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver

Bus 001 Device 003: ID 045e:02d1 Microsoft Corp. XBOX One Controller for Windows

Bus 001 Device 005: ID 045e:02d1 Microsoft Corp. XBOX One Controller for Windows

Bus 001 Device 002: ID 0951:1603 Kingston Technology DataTraveler 1GB/2GB Pen Drive

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

 

 

Link to comment

What you need to do is boot into your motherboard BIOS and try tinkering with the settings relating to XHCI / EHCI handoff.  Doing so may allow you to coax certain USB ports to attach to one controller and others to the other controller(s).  It's honestly just a process of trial and error process of changing those settings, and then going through the guide you linked in the original post to see if anything changed.

Link to comment

What you need to do is boot into your motherboard BIOS and try tinkering with the settings relating to XHCI / EHCI handoff.  Doing so may allow you to coax certain USB ports to attach to one controller and others to the other controller(s).  It's honestly just a process of trial and error process of changing those settings, and then going through the guide you linked in the original post to see if anything changed.

 

I started this process, but the number of permutations between the 3 or 4 settings in my bios (each with 2-4 options) is ridiculous and I didn't have 4 hours to do trial and error.  I found one combo that at least got it so unraid could see 2 independent controllers but I really would prefer seeing all 3.  Some generic understanding of what these settings truly mean and how they affect the operation of the hardware would probably simplify the process, but I couldn't find this info online in the time I had available.  Any help is appreciated. 

 

If I ever finish mapping all the combos out I'll post them for anyone with a similar motherboard.

Link to comment

What you need to do is boot into your motherboard BIOS and try tinkering with the settings relating to XHCI / EHCI handoff.  Doing so may allow you to coax certain USB ports to attach to one controller and others to the other controller(s).  It's honestly just a process of trial and error process of changing those settings, and then going through the guide you linked in the original post to see if anything changed.

 

I started this process, but the number of permutations between the 3 or 4 settings in my bios (each with 2-4 options) is ridiculous and I didn't have 4 hours to do trial and error.  I found one combo that at least got it so unraid could see 2 independent controllers but I really would prefer seeing all 3.  Some generic understanding of what these settings truly mean and how they affect the operation of the hardware would probably simplify the process, but I couldn't find this info online in the time I had available.  Any help is appreciated. 

 

If I ever finish mapping all the combos out I'll post them for anyone with a similar motherboard.

 

Yup, it's a pain, isn't it?  Really wish the hardware vendors would do a better job of detailing that, but I don't think many of them thought about this use case when designing their motherboard / BIOS.  Bottom line:  if you're not willing/wanting to spend the time doing the trial and error, you could always just buy a PCIe USB controller card, install that, and pass it through to a VM directly.  Time or money...your choice.

 

Also, I doubt you really have three independent USB PCI controllers in your system.  What you're seeing are what are known as "companion controllers" which can take the place of another controller in case of compatibility issues.  That's why no devices are mapping to one of the three, no matter what you do.

 

Lastly, each motherboard out there may handle this differently, so the "magic settings" you find for your system may not apply to others, even if they have a similar board.  Unless they have the exact same board as you, this may not be entirely predictable.

 

You should also know that XHCI = USB 3.0 whereas EHCI = USB 2.0.

Link to comment

Yup, it's a pain, isn't it?  Really wish the hardware vendors would do a better job of detailing that, but I don't think many of them thought about this use case when designing their motherboard / BIOS.  Bottom line:  if you're not willing/wanting to spend the time doing the trial and error, you could always just buy a PCIe USB controller card, install that, and pass it through to a VM directly.  Time or money...your choice.

 

Sadly I'm using a uATX board, and my sole PCIe slot has a video card for my htpc VM.  I should just buy a different keyboard that actually works with device pass-through, but I'm stubborn.  Honestly I just got frustrated and haven't had time to look at it since.

 

Also, I doubt you really have three independent USB PCI controllers in your system.  What you're seeing are what are known as "companion controllers" which can take the place of another controller in case of compatibility issues.  That's why no devices are mapping to one of the three, no matter what you do.

 

Lastly, each motherboard out there may handle this differently, so the "magic settings" you find for your system may not apply to others, even if they have a similar board.  Unless they have the exact same board as you, this may not be entirely predictable.

 

You should also know that XHCI = USB 3.0 whereas EHCI = USB 2.0.

 

Yes, I realize that each board will be different but I know there's at least a few people on here with the same MB.

Link to comment

Yup, it's a pain, isn't it?  Really wish the hardware vendors would do a better job of detailing that, but I don't think many of them thought about this use case when designing their motherboard / BIOS.  Bottom line:  if you're not willing/wanting to spend the time doing the trial and error, you could always just buy a PCIe USB controller card, install that, and pass it through to a VM directly.  Time or money...your choice.

 

Sadly I'm using a uATX board, and my sole PCIe slot has a video card for my htpc VM.  I should just buy a different keyboard that actually works with device pass-through, but I'm stubborn.  Honestly I just got frustrated and haven't had time to look at it since.

 

Also, I doubt you really have three independent USB PCI controllers in your system.  What you're seeing are what are known as "companion controllers" which can take the place of another controller in case of compatibility issues.  That's why no devices are mapping to one of the three, no matter what you do.

 

Lastly, each motherboard out there may handle this differently, so the "magic settings" you find for your system may not apply to others, even if they have a similar board.  Unless they have the exact same board as you, this may not be entirely predictable.

 

You should also know that XHCI = USB 3.0 whereas EHCI = USB 2.0.

 

Yes, I realize that each board will be different but I know there's at least a few people on here with the same MB.

Have you tried using the emulated nex-xhci controller?  I have made mention of it in a few threads now and it may give you better success with USB assignment than the current default ones we use.

Link to comment
  • 3 weeks later...

Is there any compatibility issues with buying a usb pci-e card.  Booting unraid off of that and mapping all of bus 1 to a VM?

I've never seen a USB add on card that would allow you to boot off of it. Why not pass through the card?

 

It might depend on the motherboard. I have an ASRock H97m-pro4 and just installed a PCI USB controller. I can confirm that unRAID boots off the controller card. First had to set the USB stick in the boot priority while it was inserted into a motherboard USB slot, but then moved it to one of the controller's slots and it still boots fine.

 

Very happy with my $3 purchase :-)

http://www.ebay.com.au/itm/301723590660

Link to comment
  • 2 weeks later...

 

It might depend on the motherboard. I have an ASRock H97m-pro4 and just installed a PCI USB controller. I can confirm that unRAID boots off the controller card. First had to set the USB stick in the boot priority while it was inserted into a motherboard USB slot, but then moved it to one of the controller's slots and it still boots fine.

 

Very happy with my $3 purchase :-)

http://www.ebay.com.au/itm/301723590660

 

Were you able to pass through the PCI usb controller to the VM and get hot plug support?  I have this exact motherboard and am having problems isolation the motherboard pci controllers.

Link to comment
  • 1 year later...

I had a similar problem and found this thread. All of my USB devices were showing as being on the xHCI USB controller and therefore in the same IOMMU group. Didn't matter the devices were plugged into USB 2.0 ports on different USB headers. Stupid BIOS! Tried different options with the few USB BIOS options but nothing was working.

 

These started thinking, since xHCI is for USB 3.0 devices, I thought if that controller were not there, the USB 2.0 devices would have to go somewhere. Sure enough, disabling USB 3.0 broke apart my USB 2.0 devices to their proper EHCI controllers, so I can pass through one and not affect the unRAID USB stick. Loosing USB 3.0 support kinda sucks, but for my use case, losing passthrough was worse.

 

My motherboard is an ASRock C226M WS. My other ASRock (E3C224-4L) did not have this issue.

 

Hope I have enough of the right search terms in there to help others find this if they are having a similar issue.

  • Upvote 2
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.