Jump to content
Sign in to follow this  
claira

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

17 posts in this topic Last Reply

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

 

 

Share this post


Link to post

I experienced the same issue, ended up just using the standard single usb forwarding for now, but would really like to be able to pass a couple of my individual controllers through.

 

When I get around to tinkering, ill let you know if I find anything.

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

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.

 

Just found that thread - will try that out when I get a chance.  Thanks!

 

Apologies for hijacking your thread claira...

Share this post


Link to post

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?

Share this post


Link to post

My motherboard doesn't allow any usb handoff settings.

 

just legacy mode support and usb 3.0 enabled or disabled.

Share this post


Link to post

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?

Share this post


Link to post

That is an option, just thought it would be more convenient.  As there VM will be a gaming/TV vm in my living room.  no real plans for other VMs.

Share this post


Link to post

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

Share this post


Link to post

I had this exact issue and tried everything listed. Ultimately, I had to buy a PCI-e card and just pass that through to the VM. Worked in minutes.

Share this post


Link to post

Booting off the card is nice option because the onboard USB3 in some cases has 4 ports whereas pci-e 1x cards only usually have 2. And I can't remember but I'm actually not sure if a 1x port is capable of providing full USB3 bandwidth to even the 2.

 

That's a pretty good tip/idea by Zan.

Share this post


Link to post

 

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.

Share this post


Link to post

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 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this