Jump to content
archedraft

***GUIDE*** Passthrough Entire PCI USB Controller

472 posts in this topic Last Reply

Recommended Posts

7 hours ago, ksignorini said:

I've been passing one of my USB 2.0 busses through for a long time (1a.0 called USB1). Now I want to pass through my USB 3.0 bus. However, here's what I find from the various commands and SysDevs. The problem is that both USB4 (USB 3.0 port I want to pass through) and USB3 (one of the other USB 2.0 ports) both show up as 14.0 with a readlink command and my unRAID USB is on USB3 (the Kingston DataTraveller).

 

So I don't know whether or not its safe to pass the IOMMU group that 0.14 is in through (that's group 2 from what I can tell....but maybe not!).

 

 

Thoughts?

 

Thanks for your help in advance.

 

333719949_iommugroups.thumb.png.3f17495d694b580b754631a516e42406.png

 

 

lsusb results.png

 

readlink usb4 results.png

 

readlink usb3 results.png

 

No it's not safe to pass through 00:14.0 as your unraid usb is on that controller.

You could play with the EHCI and XHCI hand-off and the other USB options in the bios, to see if you manage to separate them.

Share this post


Link to post

Thanks!

 

How come 00:14.0 only shows up once in the IOMMU groups list? Is that because that controller manages both USB3 and USB4?

Share this post


Link to post
7 hours ago, ksignorini said:

Thanks!

 

How come 00:14.0 only shows up once in the IOMMU groups list? Is that because that controller manages both USB3 and USB4?

 

Iommu groups doesn't have anything to do with the different usb busses. It's all about the pcie devices. 

Share this post


Link to post

I was able to physically rearrange ports and got them separated so that I can pass USB3 through. 

 

Thanks for for the help.

Edited by ksignorini

Share this post


Link to post

Hi, been reading through this thread and I can't find an exact answer to my situation:

 

I have a PCI (LEGACY) USB 2.0 card i want to passthrough to VM.

I've tried different methods to separate the PCI card it is own IOMMU group.  No luck.  ACS Override, downstream option, vfio PCI. Combination of all of them

Rebooted in between all those changes and the VIA USB Controller in group 11 will not move. CPU/Mobo is compatible. Version 6.5.3

 

Will this ever work or is this a limitation because it's PCI (Legacy)?  

Does the PCI card need to be separated from the group in order to attempt OP's workaround?

Thoughts/ideas?

 

IOMMU group 11:

[8086:244e] 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a6)

[1106:3038] 07:00.0 USB controller: VIA Technologies, Inc. VT82xx/62xx UHCI USB 1.1 Controller (rev 61)

[1106:3038] 07:00.1 USB controller: VIA Technologies, Inc. VT82xx/62xx UHCI USB 1.1 Controller (rev 61)

[1106:3104] 07:00.2 USB controller: VIA Technologies, Inc. USB 2.0 (rev 63)

[8086:1010] 07:02.0 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 03)

[8086:1010] 07:02.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 03)

[102b:0532] 07:04.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)

 



 

Share this post


Link to post

Hi,

 

Can anyone confirm if it is possible to pass through a USB Controller here please?  I do not have one within a IOMMU group on it's own, does this mean I need to buy a PCI controller? Annoying if so as Brand New X399 board with only the unRAID USB plugged in.

 

Warning: Your system has booted with the PCIe ACS Override setting enabled. The below list doesn't not reflect the way IOMMU would naturally group devices.
To see natural IOMMU groups for your hardware, go to the VM Settings page and set the PCIe ACS Override setting to No.

IOMMU group 0:[1022:1452] 00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 1:[1022:1453] 00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge

IOMMU group 2:[1022:1453] 00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge

IOMMU group 3:[1022:1452] 00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 4:[1022:1452] 00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 5:[1022:1453] 00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge

IOMMU group 6:[1022:1452] 00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 7:[1022:1452] 00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 8:[1022:1454] 00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B

IOMMU group 9:[1022:1452] 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 10:[1022:1454] 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B

IOMMU group 11:[1022:790b] 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 59)

[1022:790e] 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)

IOMMU group 12:[1022:1460] 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0

[1022:1461] 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1

[1022:1462] 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2

[1022:1463] 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 3

[1022:1464] 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 4

[1022:1465] 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 5

[1022:1466] 00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 6

[1022:1467] 00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 7

IOMMU group 13:[1022:1460] 00:19.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0

[1022:1461] 00:19.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1

[1022:1462] 00:19.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2

[1022:1463] 00:19.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 3

[1022:1464] 00:19.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 4

[1022:1465] 00:19.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 5

[1022:1466] 00:19.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 6

[1022:1467] 00:19.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 7

IOMMU group 14:[1022:43ba] 01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset USB 3.1 xHCI Controller (rev 02)

[1022:43b6] 01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset SATA Controller (rev 02)

[1022:43b1] 01:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset PCIe Bridge (rev 02)

[1022:43b4] 02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[1022:43b4] 02:01.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[1022:43b4] 02:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[1022:43b4] 02:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[1022:43b4] 02:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[8086:1539] 04:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

[8086:24fd] 05:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)

[8086:1539] 06:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

[15b3:6750] 07:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0)

IOMMU group 15:[10de:042f] 08:00.0 VGA compatible controller: NVIDIA Corporation G86 [Quadro NVS 290] (rev a1)

IOMMU group 16:[10de:1187] 09:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760] (rev a1)

[10de:0e0a] 09:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1)

IOMMU group 17:[1022:145a] 0a:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 145a

[1022:1456] 0a:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Platform Security Processor

[1022:145f] 0a:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] USB 3.0 Host controller

IOMMU group 18:[1022:1455] 0b:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 1455

[1022:7901] 0b:00.2 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)

[1022:1457] 0b:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller

Share this post


Link to post
6 minutes ago, mbc0 said:

Hi,

 

Can anyone confirm if it is possible to pass through a USB Controller here please?  I do not have one within a IOMMU group on it's own, does this mean I need to buy a PCI controller? Annoying if so as Brand New X399 board with only the unRAID USB plugged in.

 

Warning: Your system has booted with the PCIe ACS Override setting enabled. The below list doesn't not reflect the way IOMMU would naturally group devices.
To see natural IOMMU groups for your hardware, go to the VM Settings page and set the PCIe ACS Override setting to No.

IOMMU group 0:[1022:1452] 00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

SNIP

Try adding the multifunction switch to your ACS override.. should split those groups further and give you what you need

Share this post


Link to post
Posted (edited)

Hi,

 

Many Thanks for your reply @methanoid

 

I do not see any further options for a multifunction switch?

 

image.thumb.png.ee85d34926f75f5dbab5094e289e0f11.png

Edited by mbc0

Share this post


Link to post

You might need to use the search facility rather than expect me to do it for you ;-)   Its a command added to your boot command on unRAID. I'm not running unRAID myself right now so I forget the details but you can find this yourself with search easily

Share this post


Link to post

Ah, sorry mate, just finished a week of nights and only had 3 hours sleep so am obviously being lazy... many apologies! When you said switch, my sleepy brain made me look for a "Switch" setting on the config screen 😁

 

Just found this so will have a play 😉 pcie_acs_override=downstream,multifunction

 

Thank you for your time @methanoid 👍

Share this post


Link to post

Hi @methanoid

 

Sorry to bother you but wonder if you wouldn't mind casting your very knowledgable eye over this for me? (I have spent hours on this and not just come running here 😁)

 

I have added the multifunction switch as you suggested and it has split all my groups up nicely, thank you for that.  I have added the line in the syslinux.cfg as per spaceinvaders video but there are still no pci devices available in my VM Manager?  Can you throw me a bone anywhere?

 

In the screenshots below, I plugged in a datatraveler for id purposes.

 

Thanks in Advance!

 

image.png.859b45174da629b0a57031cd084fb5f7.png

 

image.png.59817e32c12f0416444b5a9fecccc916.png

 

image.png.2120a2198e0b33cbb3093fb38877d9f4.png

Share this post


Link to post

I am going from memory here but your default boot option looks wrong. Try replacing that ' after multi-function with a space and see what happens! Also list all your USB controllers as (also from memory) some will work better than others. My AMD 3.1 controller was a bad choice but I had an Asmedia 3.1 controller that worked better.

Share this post


Link to post

Thank you @methanoid I will try that tonight (family watching Plex now)

 

Here is a list of my USB Controllers ☺️ not sure what the last IOMMU group is? there is no number?

 

image.png.2c1a804d83ddc8041134aadbc390c7b6.png

Share this post


Link to post
5 minutes ago, mbc0 said:

Thank you @methanoid I will try that tonight (family watching Plex now)

 

Here is a list of my USB Controllers ☺️ not sure what the last IOMMU group is? there is no number?

 

image.png.2c1a804d83ddc8041134aadbc390c7b6.png

 

Sorry no idea. I never do my IOMMU groups from that.. just grab the unRAID output from the webUI and snip out so you JUST have the USB controllers groups (and anything else in them, if there is, which there shouldn't be). Just wanted to see what you had to choose from.   Better yet, PM me? This isn't really a general support thread for your specific issue (which isn't cos the guide doesn't work cos it does - worked for many of us)

Share this post


Link to post

ah, ok, I just followed space invaders youtube guide, I will pm you the webui output, thank you! really appreciate it!

Share this post


Link to post
37 minutes ago, bishyb said:

Can anyone recommend a PCI-E USB 3.0 card that works?

 

I purchased https://www.amazon.co.uk/gp/product/B07FK28BXX/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 to test based on one of the reviews mentions works in unRAID, but no joy for me, detected in unRAID, VM doesn't start though, just hangs at OVMF Tianocore boot screen...

 

Cheers,

Andrew.

I'm guessing that has TWO controllers on same card which may be the issue. Buy one with ONE controller. Almost any will work for me. Renesas/NEC is what I used mainly (like that card!) but multi controller cards are giving you added complications

Share this post


Link to post

Has anyone managed to get the front USB ports connected to a USB card? If so which model usb card did you use? Were there any additional steps i.e. bios changes? It would be great to have the front usb ports wired up and available as hot swaps in a vm

 

I guess the process is buy a USB card which has a usb header on it and connect the front ports to that, but I havent a clue which one will work and Im sure this has been done by others. I know @jonp mentioned it in his recent video

Share this post


Link to post
44 minutes ago, AntaresUK said:

Has anyone managed to get the front USB ports connected to a USB card? If so which model usb card did you use? Were there any additional steps i.e. bios changes? It would be great to have the front usb ports wired up and available as hot swaps in a vm

 

I guess the process is buy a USB card which has a usb header on it and connect the front ports to that, but I havent a clue which one will work and Im sure this has been done by others. I know @jonp mentioned it in his recent video

Yes but not running unRAID right now. You are correct. Buy one with a header and connect that.  Any USB controller should be fine except ones with multiple controllers onboard which can be hit and miss (see previous post above yours)

Share this post


Link to post
Posted (edited)

Bought this one and will report back on whether it works or not. I believe it has one controller so should work. Had good luck with that brand in the past

 

Update: yay it worked front usb 3 ports available now

Edited by AntaresUK

Share this post


Link to post

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.