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


archedraft

Recommended Posts

Here is something I don't understand, this is the PCI 5 ports USB 2.0 card I am using:

81o0tQBTyTL._SL1500_.jpg

It's a NEC chipset.

 

This is the IOMMU group:

iommu.PNG

 

I have the IDs stubbed in syslinux:

stub.PNG

 

I can see the devices available to VMs:

pci-dev.PNG

 

I assigned all of them to my Windows 10 VM and got an error when trying to start the VM:

-device vfio-pci,host=04:02.1 .................. vfio: Error: Failed to setup INTx fd: Device or resource busy
-device vfio-pci,host=04:02.1 .................. Device initialization failed

 

Now here is the strange thing, if I don't try to pass 04:02.1 the VM starts correctly, all the 4 external ports work, didn't test the internal one yet:

2016-11-24%20at%2010.24%20PM.png

 

Anyone has any clue of why? Not complaining as all is working, but would like to understand.

 

 

 

 

Link to comment

Hi everyone,

 

I just got a PCIe USB 3.1 Card (http://www.newegg.ca/Product/Product.aspx?Item=9SIA93K4TK4521&_ga=1.219933210.2007223919.1409504610) so I can more easily passthrough a USB card in my Windows 10 and MacOS VMs and haven't been able to because of how my IOMMU groups are setup even with PCIe ACS Override turned on. My group 6 has a lot of integrated items in it. Any suggestions?

 

Here is the card I am trying to passthrough:

02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

 

When I start the Windows 10 VM, I get a group error.

 

Here is my PCI Devices:

00:00.0 Host bridge [0600]: Intel Corporation Skylake Host Bridge/DRAM Registers [8086:191f] (rev 07)
00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
00:16.3 Serial controller [0700]: Intel Corporation Sunrise Point-H KT Redirection [8086:a13d] (rev 31)
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)
00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #6 [8086:a115] (rev f1)
00:1c.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #7 [8086:a116] (rev f1)
00:1c.7 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #8 [8086:a117] (rev f1)
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a149] (rev 31)
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-LM [8086:15b7] (rev 31)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 950] [10de:1402] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fba] (rev a1)
02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]
3b:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03)
3c:00.0 PCI bridge [0604]: Tundra Semiconductor Corp. Device [10e3:8113] (rev 01)
3e:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

 

IOMMU Groups:

/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.2
/sys/kernel/iommu_groups/4/devices/0000:00:16.0
/sys/kernel/iommu_groups/4/devices/0000:00:16.3
/sys/kernel/iommu_groups/5/devices/0000:00:17.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7
/sys/kernel/iommu_groups/6/devices/0000:02:00.0
/sys/kernel/iommu_groups/6/devices/0000:3b:00.0
/sys/kernel/iommu_groups/6/devices/0000:3c:00.0
/sys/kernel/iommu_groups/6/devices/0000:3e:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.2
/sys/kernel/iommu_groups/8/devices/0000:00:1f.3
/sys/kernel/iommu_groups/8/devices/0000:00:1f.4
/sys/kernel/iommu_groups/9/devices/0000:00:1f.6
/sys/kernel/iommu_groups/10/devices/0000:01:00.0
/sys/kernel/iommu_groups/10/devices/0000:01:00.1

Link to comment

I found this plug-in (Libvirt Hotplug USB) last night and so far it has been working great however I have not used it very much. It allows you to hot plug most USB device to a running VM if you don't have USB controller pass-through working.

 

I am still having some issues with passing a USB controller to VM(s) for true plug n play and the plug-in allows me to access devices like external hard drives and flash drives without having to power down the VM.

 

Thanks to the person who created this plug-in.

 

http://lime-technology.com/forum/index.php?topic=47240.0

 

 

 

Link to comment

Hi everyone,

 

I just got a PCIe USB 3.1 Card (http://www.newegg.ca/Product/Product.aspx?Item=9SIA93K4TK4521&_ga=1.219933210.2007223919.1409504610) so I can more easily passthrough a USB card in my Windows 10 and MacOS VMs and haven't been able to because of how my IOMMU groups are setup even with PCIe ACS Override turned on. My group 6 has a lot of integrated items in it. Any suggestions?

 

Here is the card I am trying to passthrough:

02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

 

When I start the Windows 10 VM, I get a group error.

 

Here is my PCI Devices:

00:00.0 Host bridge [0600]: Intel Corporation Skylake Host Bridge/DRAM Registers [8086:191f] (rev 07)
00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
00:16.3 Serial controller [0700]: Intel Corporation Sunrise Point-H KT Redirection [8086:a13d] (rev 31)
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)
00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #6 [8086:a115] (rev f1)
00:1c.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #7 [8086:a116] (rev f1)
00:1c.7 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #8 [8086:a117] (rev f1)
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a149] (rev 31)
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-LM [8086:15b7] (rev 31)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 950] [10de:1402] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fba] (rev a1)
02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]
3b:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03)
3c:00.0 PCI bridge [0604]: Tundra Semiconductor Corp. Device [10e3:8113] (rev 01)
3e:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

 

IOMMU Groups:

/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.2
/sys/kernel/iommu_groups/4/devices/0000:00:16.0
/sys/kernel/iommu_groups/4/devices/0000:00:16.3
/sys/kernel/iommu_groups/5/devices/0000:00:17.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7
/sys/kernel/iommu_groups/6/devices/0000:02:00.0
/sys/kernel/iommu_groups/6/devices/0000:3b:00.0
/sys/kernel/iommu_groups/6/devices/0000:3c:00.0
/sys/kernel/iommu_groups/6/devices/0000:3e:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.2
/sys/kernel/iommu_groups/8/devices/0000:00:1f.3
/sys/kernel/iommu_groups/8/devices/0000:00:1f.4
/sys/kernel/iommu_groups/9/devices/0000:00:1f.6
/sys/kernel/iommu_groups/10/devices/0000:01:00.0
/sys/kernel/iommu_groups/10/devices/0000:01:00.1

 

Any help anyone? Thanks.

Link to comment

Hi everyone,

 

I just got a PCIe USB 3.1 Card (http://www.newegg.ca/Product/Product.aspx?Item=9SIA93K4TK4521&_ga=1.219933210.2007223919.1409504610) so I can more easily passthrough a USB card in my Windows 10 and MacOS VMs and haven't been able to because of how my IOMMU groups are setup even with PCIe ACS Override turned on. My group 6 has a lot of integrated items in it. Any suggestions?

 

Here is the card I am trying to passthrough:

02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

 

When I start the Windows 10 VM, I get a group error.

 

Here is my PCI Devices:

00:00.0 Host bridge [0600]: Intel Corporation Skylake Host Bridge/DRAM Registers [8086:191f] (rev 07)
00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
00:16.3 Serial controller [0700]: Intel Corporation Sunrise Point-H KT Redirection [8086:a13d] (rev 31)
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)
00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #6 [8086:a115] (rev f1)
00:1c.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #7 [8086:a116] (rev f1)
00:1c.7 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #8 [8086:a117] (rev f1)
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a149] (rev 31)
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-LM [8086:15b7] (rev 31)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 950] [10de:1402] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fba] (rev a1)
02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]
3b:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03)
3c:00.0 PCI bridge [0604]: Tundra Semiconductor Corp. Device [10e3:8113] (rev 01)
3e:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

 

IOMMU Groups:

/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.2
/sys/kernel/iommu_groups/4/devices/0000:00:16.0
/sys/kernel/iommu_groups/4/devices/0000:00:16.3
/sys/kernel/iommu_groups/5/devices/0000:00:17.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7
/sys/kernel/iommu_groups/6/devices/0000:02:00.0
/sys/kernel/iommu_groups/6/devices/0000:3b:00.0
/sys/kernel/iommu_groups/6/devices/0000:3c:00.0
/sys/kernel/iommu_groups/6/devices/0000:3e:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.2
/sys/kernel/iommu_groups/8/devices/0000:00:1f.3
/sys/kernel/iommu_groups/8/devices/0000:00:1f.4
/sys/kernel/iommu_groups/9/devices/0000:00:1f.6
/sys/kernel/iommu_groups/10/devices/0000:01:00.0
/sys/kernel/iommu_groups/10/devices/0000:01:00.1

 

Any help anyone? Thanks.

 

For some reason your IOMMU group 6 is very crowded, to get a very easy visual of which devices are in each group you can go to /Tools/SysDevs on the web UI, it would also help if you post a screenshot of that.

Link to comment

@mafoster

 

Most of your PCI-E root ports are in group 6:

/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7

 

This one is alone in group 7:

/sys/kernel/iommu_groups/7/devices/0000:00:1d.0

 

Try and see which slot is associated to that, if you find it, that is where you need to install your card.

 

Link to comment

@mafoster

 

Most of your PCI-E root ports are in group 6:

/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7

 

This one is alone in group 7:

/sys/kernel/iommu_groups/7/devices/0000:00:1d.0

 

Try and see which slot is associated to that, if you find it, that is where you need to install your card.

 

The group 7 has a device that starts with 00:

Devices that start with 00:    such as 00:1d.0  are generally built into the motherboard so as such can't be physically moved elsewhere

Devices that start with another number such as 02:00.0  are discrete devices.

Link to comment

@mafoster

 

Most of your PCI-E root ports are in group 6:

/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7

 

This one is alone in group 7:

/sys/kernel/iommu_groups/7/devices/0000:00:1d.0

 

Try and see which slot is associated to that, if you find it, that is where you need to install your card.

 

The group 7 has a device that starts with 00:

Devices that start with 00:    such as 00:1d.0  are generally built into the motherboard so as such can't be physically moved elsewhere

Devices that start with another number such as 02:00.0  are discrete devices.

 

Exactly it's a PCI-E root port, it usually corresponds to a PCI-E slot on the motherboard in my experience, if he finds it and install the USB controller in that slot he would be able to pass it to the VM.

Link to comment

@mafoster

 

Most of your PCI-E root ports are in group 6:

/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7

 

This one is alone in group 7:

/sys/kernel/iommu_groups/7/devices/0000:00:1d.0

 

Try and see which slot is associated to that, if you find it, that is where you need to install your card.

 

The group 7 has a device that starts with 00:

Devices that start with 00:    such as 00:1d.0  are generally built into the motherboard so as such can't be physically moved elsewhere

Devices that start with another number such as 02:00.0  are discrete devices.

 

Exactly it's a PCI-E root port, it usually corresponds to a PCI-E slot on the motherboard in my experience, if he finds it and install the USB controller in that slot he would be able to pass it to the VM.

 

Thanks bubbl3 and gridrunner. Unfortunately I only have two PCIe slots (1 x16 and 1 x4), one for VGA and the other for this card so cannot try another. Is there any way to break the group manually? Bad design by SuperMicro...

 

Alternatively, is there any way you see me being able to passthrough one of my integrated USB controllers (I have two as you can see from my PCI list)?

Link to comment

@mafoster

 

Most of your PCI-E root ports are in group 6:

/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7

 

This one is alone in group 7:

/sys/kernel/iommu_groups/7/devices/0000:00:1d.0

 

Try and see which slot is associated to that, if you find it, that is where you need to install your card.

 

The group 7 has a device that starts with 00:

Devices that start with 00:    such as 00:1d.0  are generally built into the motherboard so as such can't be physically moved elsewhere

Devices that start with another number such as 02:00.0  are discrete devices.

 

Exactly it's a PCI-E root port, it usually corresponds to a PCI-E slot on the motherboard in my experience, if he finds it and install the USB controller in that slot he would be able to pass it to the VM.

 

Thanks bubbl3 and gridrunner. Unfortunately I only have two PCIe slots (1 x16 and 1 x4), one for VGA and the other for this card so cannot try another. Is there any way to break the group manually? Bad design by SuperMicro...

 

Alternatively, is there any way you see me being able to passthrough one of my integrated USB controllers (I have two as you can see from my PCI list)?

 

What happens when you try to pass this one that is in your group 3?

00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)

Link to comment

@mafoster

 

Most of your PCI-E root ports are in group 6:

/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7

 

This one is alone in group 7:

/sys/kernel/iommu_groups/7/devices/0000:00:1d.0

 

Try and see which slot is associated to that, if you find it, that is where you need to install your card.

 

The group 7 has a device that starts with 00:

Devices that start with 00:    such as 00:1d.0  are generally built into the motherboard so as such can't be physically moved elsewhere

Devices that start with another number such as 02:00.0  are discrete devices.

 

Exactly it's a PCI-E root port, it usually corresponds to a PCI-E slot on the motherboard in my experience, if he finds it and install the USB controller in that slot he would be able to pass it to the VM.

 

Thanks bubbl3 and gridrunner. Unfortunately I only have two PCIe slots (1 x16 and 1 x4), one for VGA and the other for this card so cannot try another. Is there any way to break the group manually? Bad design by SuperMicro...

 

Alternatively, is there any way you see me being able to passthrough one of my integrated USB controllers (I have two as you can see from my PCI list)?

 

What happens when you try to pass this one that is in your group 3?

00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)

 

bubbl3 your suggestion in addition to upgrading to 6.3-r5 worked. Thank you. It seems like 6.3 does a way better job of separating the groups.

Link to comment

Can someone help me out, I'm trying to pass through some devices on a PCI-E card (6:00.0 and 7:00.0) to my Windows 10 VM:

00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)

00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)

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

00:16.0 Communication controller: Intel Corporation 9 Series Chipset Family ME Interface #1

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V

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

00:1b.0 Audio device: Intel Corporation 9 Series Chipset Family HD Audio Controller

00:1c.0 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 (rev d0)

00:1c.2 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 3 (rev d0)

00:1c.4 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 (rev d0)

00:1c.6 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d0)

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

00:1f.0 ISA bridge: Intel Corporation 9 Series Chipset Family H97 Controller

00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode]

00:1f.3 SMBus: Intel Corporation 9 Series Chipset Family SMBus Controller

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland PRO [Radeon R7 240/340]

01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]

03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)

04:00.0 PCI bridge: Pericom Semiconductor Device 2304 (rev 05)

05:01.0 PCI bridge: Pericom Semiconductor Device 2304 (rev 05)

05:02.0 PCI bridge: Pericom Semiconductor Device 2304 (rev 05)

06:00.0 Multimedia video controller: Conexant Systems, Inc. CX23885 PCI Video and Audio Decoder (rev 03)

07:00.0 Multimedia video controller: Conexant Systems, Inc. CX23885 PCI Video and Audio Decoder (rev 03)

08:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 03)

09:01.0 USB controller: NEC Corporation OHCI USB Controller (rev 41)

09:01.1 USB controller: NEC Corporation OHCI USB Controller (rev 41)

09:01.2 USB controller: NEC Corporation uPD72010x USB 2.0 Controller (rev 02)

 

When I start the VM, I immediately lose access to the emhttp interface but can still ssh into my server.

However I when I try ps -ef or virsh list the command hangs so I can't figure out how to terminate the VM, and have to power down the server via a hard reset.

 

Does anyone know why emhttp is not responding, and why ps -ef and virsh list is locking up and how I can work around it?

Link to comment

Hi, Guys. I have made a tutorial showing how to easily and safely pass through a USB controller on your unRAID server.

You can see how to quickly identify all USB controllers in the server and see which devices and buses are connected to each controller and

also which iommu group each controller is in. So you can easily avoid accidentally passing through the controller used for the unRAID flash drive.

You will also see how to easily identify which USB controllers support resetting. I hope you find it useful :)

 

How to easily  pass though a USB controller

 

Link to comment
  • 2 weeks later...

Gridrunner

I used your great tutorial (like always, thank you very much) and successfully passed through the USB-3 controller

the line in the syslinux.cfg is: 

"append vfio-pci.ids=1033:0194 isolcpus=2-13,18-29 initrd=/bzroot"

 

But as far as I understand I passed through based on the vendor-device marker.

What I am confused is actually to know how many USB controllers I have on my board.

I am clearly having a hole in my education in this matter.

 

does the bellow mean that I have 4 controllers that I can in theory passthrough ?

And should I understand that actually I have two options to passthrough. One is by isolating the vendor-device in the syslinux.cfg (stubbing) and the other is by modifying the VM xml?  in which case I can passthrough based on the separate device (even having 2 devices of the same vendor) ?

 

I have installed an addon PCI card with Fresco Logic. so now I have one more. disregard that for the sake of my question please.

 

00:1a.0 USB controller: Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #2 (rev 06)

00:1d.0 USB controller: Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #1 (rev 06)

08:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)

09:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)

83:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)

 

 

 

 

 

Here is the output of the USB info script:

Script location: /tmp/user.scripts/tmpScripts/USBportscripts/script
Note that closing this window will abort the execution of this script

Bus 1 --> 0000:00:1a.0 (IOMMU group 9)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 2 --> 0000:00:1d.0 (IOMMU group 14)
Bus 002 Device 008: ID 048d:1336 Integrated Technology Express, Inc. SD/MMC Cardreader
Bus 002 Device 006: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Bus 002 Device 004: ID 0c16:0001 Gyration, Inc. 
Bus 002 Device 007: ID 06cb:0009 Synaptics, Inc. Composite TouchPad and TrackPoint
Bus 002 Device 005: ID 04b3:3019 IBM Corp. 
Bus 002 Device 003: ID 04b3:3016 IBM Corp. UltraNav Keyboard Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 3 --> 0000:83:00.0 (IOMMU group 40)
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 4 --> 0000:83:00.0 (IOMMU group 40)
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

IOMMU group 0
[RESET]	00:00.0 Host bridge [0600]: Intel Corporation Xeon E5/Core i7 DMI2 [8086:3c00] (rev 07)
IOMMU group 1
[RESET]	00:01.0 PCI bridge [0604]: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a [8086:3c02] (rev 07)
IOMMU group 2
[RESET]	00:01.1 PCI bridge [0604]: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1b [8086:3c03] (rev 07)
IOMMU group 3
[RESET]	00:02.0 PCI bridge [0604]: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a [8086:3c04] (rev 07)
IOMMU group 4
[RESET]	00:03.0 PCI bridge [0604]: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode [8086:3c08] (rev 07)
IOMMU group 5
00:04.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 0 [8086:3c20] (rev 07)
00:04.1 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 1 [8086:3c21] (rev 07)
00:04.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 2 [8086:3c22] (rev 07)
00:04.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 3 [8086:3c23] (rev 07)
00:04.4 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 4 [8086:3c24] (rev 07)
00:04.5 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 5 [8086:3c25] (rev 07)
00:04.6 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 6 [8086:3c26] (rev 07)
00:04.7 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 7 [8086:3c27] (rev 07)
IOMMU group 6
00:05.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Address Map, VTd_Misc, System Management [8086:3c28] (rev 07)
00:05.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Control Status and Global Errors [8086:3c2a] (rev 07)
00:05.4 PIC [0800]: Intel Corporation Xeon E5/Core i7 I/O APIC [8086:3c2c] (rev 07)
IOMMU group 7
[RESET]	00:11.0 PCI bridge [0604]: Intel Corporation C600/X79 series chipset PCI Express Virtual Root Port [8086:1d3e] (rev 06)
IOMMU group 8
00:16.0 Communication controller [0780]: Intel Corporation C600/X79 series chipset MEI Controller #1 [8086:1d3a] (rev 05)
00:16.1 Communication controller [0780]: Intel Corporation C600/X79 series chipset MEI Controller #2 [8086:1d3b] (rev 05)
IOMMU group 9
[RESET]	00:1a.0 USB controller [0c03]: Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #2 [8086:1d2d] (rev 06)
IOMMU group 10
[RESET]	00:1b.0 Audio device [0403]: Intel Corporation C600/X79 series chipset High Definition Audio Controller [8086:1d20] (rev 06)
IOMMU group 11
[RESET]	00:1c.0 PCI bridge [0604]: Intel Corporation C600/X79 series chipset PCI Express Root Port 1 [8086:1d10] (rev b6)
IOMMU group 12
[RESET]	00:1c.5 PCI bridge [0604]: Intel Corporation C600/X79 series chipset PCI Express Root Port 6 [8086:1d1a] (rev b6)
IOMMU group 13
[RESET]	00:1c.6 PCI bridge [0604]: Intel Corporation C600/X79 series chipset PCI Express Root Port 7 [8086:1d1c] (rev b6)
IOMMU group 14
[RESET]	00:1d.0 USB controller [0c03]: Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #1 [8086:1d26] (rev 06)
IOMMU group 15
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev a6)
[RESET]	0a:02.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] [104c:8023]
IOMMU group 16
00:1f.0 ISA bridge [0601]: Intel Corporation C600/X79 series chipset LPC Controller [8086:1d41] (rev 06)
[RESET]	00:1f.2 SATA controller [0106]: Intel Corporation C600/X79 series chipset 6-Port SATA AHCI Controller [8086:1d02] (rev 06)
00:1f.3 SMBus [0c05]: Intel Corporation C600/X79 series chipset SMBus Host Controller [8086:1d22] (rev 06)
00:1f.6 Signal processing controller [1180]: Intel Corporation C600/X79 series chipset Thermal Management Controller [8086:1d24] (rev 06)
IOMMU group 17
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF114 [GeForce GTX 560 Ti] [10de:1200] (rev a1)
04:00.1 Audio device [0403]: NVIDIA Corporation GF114 HDMI Audio Controller [10de:0e0c] (rev a1)
IOMMU group 18
[RESET]	05:00.0 Serial Attached SCSI controller [0107]: Intel Corporation C602 chipset 4-Port SATA Storage Control Unit [8086:1d6b] (rev 06)
IOMMU group 19
[RESET]	06:00.0 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
IOMMU group 20
[RESET]	06:00.1 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
IOMMU group 21
[RESET]	08:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 04)
IOMMU group 22
[RESET]	09:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 04)
IOMMU group 23
7f:08.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 QPI Link 0 [8086:3c80] (rev 07)
7f:08.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 QPI Link Reut 0 [8086:3c83] (rev 07)
7f:08.4 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 QPI Link Reut 0 [8086:3c84] (rev 07)
IOMMU group 24
7f:09.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 QPI Link 1 [8086:3c90] (rev 07)
7f:09.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 QPI Link Reut 1 [8086:3c93] (rev 07)
7f:09.4 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 QPI Link Reut 1 [8086:3c94] (rev 07)
IOMMU group 25
7f:0a.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Power Control Unit 0 [8086:3cc0] (rev 07)
7f:0a.1 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Power Control Unit 1 [8086:3cc1] (rev 07)
7f:0a.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Power Control Unit 2 [8086:3cc2] (rev 07)
7f:0a.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Power Control Unit 3 [8086:3cd0] (rev 07)
IOMMU group 26
7f:0b.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Interrupt Control Registers [8086:3ce0] (rev 07)
7f:0b.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Semaphore and Scratchpad Configuration Registers [8086:3ce3] (rev 07)
IOMMU group 27
7f:0c.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Unicast Register 0 [8086:3ce8] (rev 07)
7f:0c.1 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Unicast Register 0 [8086:3ce8] (rev 07)
7f:0c.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Unicast Register 0 [8086:3ce8] (rev 07)
7f:0c.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Unicast Register 0 [8086:3ce8] (rev 07)
7f:0c.6 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 0 [8086:3cf4] (rev 07)
7f:0c.7 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 System Address Decoder [8086:3cf6] (rev 07)
IOMMU group 28
7f:0d.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Unicast Register 0 [8086:3ce8] (rev 07)
7f:0d.1 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Unicast Register 0 [8086:3ce8] (rev 07)
7f:0d.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Unicast Register 0 [8086:3ce8] (rev 07)
7f:0d.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Unicast Register 0 [8086:3ce8] (rev 07)
7f:0d.6 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 1 [8086:3cf5] (rev 07)
IOMMU group 29
7f:0e.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Processor Home Agent [8086:3ca0] (rev 07)
7f:0e.1 Performance counters [1101]: Intel Corporation Xeon E5/Core i7 Processor Home Agent Performance Monitoring [8086:3c46] (rev 07)
IOMMU group 30
7f:0f.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Registers [8086:3ca8] (rev 07)
7f:0f.1 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller RAS Registers [8086:3c71] (rev 07)
7f:0f.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 0 [8086:3caa] (rev 07)
7f:0f.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 1 [8086:3cab] (rev 07)
7f:0f.4 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 2 [8086:3cac] (rev 07)
7f:0f.5 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 3 [8086:3cad] (rev 07)
7f:0f.6 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 4 [8086:3cae] (rev 07)
IOMMU group 31
7f:10.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 0 [8086:3cb0] (rev 07)
7f:10.1 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 1 [8086:3cb1] (rev 07)
7f:10.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 0 [8086:3cb2] (rev 07)
7f:10.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 1 [8086:3cb3] (rev 07)
7f:10.4 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 2 [8086:3cb4] (rev 07)
7f:10.5 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 3 [8086:3cb5] (rev 07)
7f:10.6 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 2 [8086:3cb6] (rev 07)
7f:10.7 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 3 [8086:3cb7] (rev 07)
IOMMU group 32
7f:11.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DDRIO [8086:3cb8] (rev 07)
IOMMU group 33
7f:13.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 R2PCIe [8086:3ce4] (rev 07)
7f:13.1 Performance counters [1101]: Intel Corporation Xeon E5/Core i7 Ring to PCI Express Performance Monitor [8086:3c43] (rev 07)
7f:13.4 Performance counters [1101]: Intel Corporation Xeon E5/Core i7 QuickPath Interconnect Agent Ring Registers [8086:3ce6] (rev 07)
7f:13.5 Performance counters [1101]: Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 0 Performance Monitor [8086:3c44] (rev 07)
7f:13.6 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 1 Performance Monitor [8086:3c45] (rev 07)
IOMMU group 34
[RESET]	80:01.0 PCI bridge [0604]: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a [8086:3c02] (rev 07)
IOMMU group 35
[RESET]	80:02.0 PCI bridge [0604]: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a [8086:3c04] (rev 07)
IOMMU group 36
[RESET]	80:03.0 PCI bridge [0604]: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode [8086:3c08] (rev 07)
IOMMU group 37
80:04.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 0 [8086:3c20] (rev 07)
80:04.1 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 1 [8086:3c21] (rev 07)
80:04.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 2 [8086:3c22] (rev 07)
80:04.3 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 3 [8086:3c23] (rev 07)
80:04.4 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 4 [8086:3c24] (rev 07)
80:04.5 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 5 [8086:3c25] (rev 07)
80:04.6 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 6 [8086:3c26] (rev 07)
80:04.7 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 DMA Channel 7 [8086:3c27] (rev 07)
IOMMU group 38
80:05.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Address Map, VTd_Misc, System Management [8086:3c28] (rev 07)
80:05.2 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 Control Status and Global Errors [8086:3c2a] (rev 07)
80:05.4 PIC [0800]: Intel Corporation Xeon E5/Core i7 I/O APIC [8086:3c2c] (rev 07)
IOMMU group 39
82:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1)
82:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
IOMMU group 40
[RESET]	83:00.0 USB controller [0c03]: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100] (rev 10)
IOMMU group 41
ff:08.0 System peripheral [0880]: Intel Corporation Xeon E5/Core i7 QPI Link 0 [8086:3c80] (rev 07)
............

 

 

 

Link to comment
  • 3 weeks later...

I followed both tutorials, but without success, i mean, i can passthrough my controller, but i have only two of them or im wrong?

Sorry, but i have troubles to understand this yet.

I think i have only two usb controllers, but i want run two VMs so this will not work for me.

 

Im using a Asus Z97-Deluxe Mainboard with an Intel Core i7 4790k.

Sorry im new to this business ;D hope someone can help me.

 

Thats my PCIE List:

00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM Controller [8086:0c00] (rev 06)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1]
00:16.0 Communication controller [0780]: Intel Corporation 9 Series Chipset Family ME Interface #1 [8086:8cba]
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I218-V [8086:15a1]
00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 [8086:8cad]
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
00:1c.0 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 [8086:8c90] (rev d0)
00:1c.3 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 [8086:8c96] (rev d0)
00:1c.4 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 [8086:8c98] (rev d0)
00:1c.6 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 7 [8086:8c9c] (rev d0)
00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 [8086:8ca6]
00:1f.0 ISA bridge [0601]: Intel Corporation 9 Series Chipset Family Z97 LPC Controller [8086:8cc4]
00:1f.2 SATA controller [0106]: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode] [8086:8c82]
00:1f.3 SMBus [0c05]: Intel Corporation 9 Series Chipset Family SMBus Controller [8086:8ca2]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 970] [10de:13c2] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)
03:00.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
04:01.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
04:02.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
04:03.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
04:04.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
04:05.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
04:06.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
04:07.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
05:00.0 Audio device [0403]: Creative Labs Sound Core3D [sound Blaster Recon3D / Z-Series] [1102:0012] (rev 01)
06:00.0 Network controller [0280]: Broadcom Limited BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)
07:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)
0a:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
0c:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
0c:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fba] (rev a1)
0d:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller [1b21:1142]

 

Thats my IMMOU Group list:

/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.0
/sys/kernel/iommu_groups/4/devices/0000:00:16.0
/sys/kernel/iommu_groups/5/devices/0000:00:19.0
/sys/kernel/iommu_groups/6/devices/0000:00:1a.0
/sys/kernel/iommu_groups/7/devices/0000:00:1b.0
/sys/kernel/iommu_groups/8/devices/0000:00:1c.0
/sys/kernel/iommu_groups/9/devices/0000:00:1c.3
/sys/kernel/iommu_groups/10/devices/0000:00:1c.4
/sys/kernel/iommu_groups/11/devices/0000:00:1c.6
/sys/kernel/iommu_groups/12/devices/0000:00:1d.0
/sys/kernel/iommu_groups/13/devices/0000:00:1f.0
/sys/kernel/iommu_groups/13/devices/0000:00:1f.2
/sys/kernel/iommu_groups/13/devices/0000:00:1f.3
/sys/kernel/iommu_groups/14/devices/0000:03:00.0
/sys/kernel/iommu_groups/15/devices/0000:04:01.0
/sys/kernel/iommu_groups/15/devices/0000:05:00.0
/sys/kernel/iommu_groups/16/devices/0000:04:02.0
/sys/kernel/iommu_groups/16/devices/0000:06:00.0
/sys/kernel/iommu_groups/17/devices/0000:04:03.0
/sys/kernel/iommu_groups/17/devices/0000:07:00.0
/sys/kernel/iommu_groups/18/devices/0000:04:04.0
/sys/kernel/iommu_groups/19/devices/0000:04:05.0
/sys/kernel/iommu_groups/20/devices/0000:04:06.0
/sys/kernel/iommu_groups/20/devices/0000:0a:00.0
/sys/kernel/iommu_groups/21/devices/0000:04:07.0
/sys/kernel/iommu_groups/22/devices/0000:0c:00.0
/sys/kernel/iommu_groups/22/devices/0000:0c:00.1
/sys/kernel/iommu_groups/23/devices/0000:0d:00.0

 

That is my output from Gridrunner first command:

Bus 002 Device 002: ID 8087:8001 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8009 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 0424:5434 Standard Microsystems Corp. Hub
Bus 004 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 007: ID 0781:5580 SanDisk Corp. SDCZ80 Flash Drive
Bus 003 Device 005: ID 03f0:034a Hewlett-Packard Elite Keyboard
Bus 003 Device 011: ID 0451:3410 Texas Instruments, Inc. TUSB3410 Microcontroller
Bus 003 Device 008: ID 046d:c068 Logitech, Inc. G500 Laser Mouse
Bus 003 Device 009: ID 05ac:0221 Apple, Inc. Aluminum Keyboard (ISO)
Bus 003 Device 006: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 003 Device 004: ID 0424:2134 Standard Microsystems Corp. 
Bus 003 Device 003: ID 0b05:17cf ASUSTek Computer, Inc. 
Bus 003 Device 010: ID 046d:c07d Logitech, Inc. 
Bus 003 Device 002: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
< --> $(basename $pci_path) (IOMMU group $(basename $(realpath $pci_path/iommu_group)))"; lsusb -s "$(cat "${usb_ctrl}/busnum"):"; echo; done                                        Bus 1 --> 0000:00:1a.0 (IOMMU group 6)     
Bus 001 Device 002: ID 8087:8009 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 2 --> 0000:00:1d.0 (IOMMU group 12)
Bus 002 Device 002: ID 8087:8001 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 3 --> 0000:00:14.0 (IOMMU group 3)
Bus 003 Device 007: ID 0781:5580 SanDisk Corp. SDCZ80 Flash Drive
Bus 003 Device 005: ID 03f0:034a Hewlett-Packard Elite Keyboard
Bus 003 Device 011: ID 0451:3410 Texas Instruments, Inc. TUSB3410 Microcontroller
Bus 003 Device 008: ID 046d:c068 Logitech, Inc. G500 Laser Mouse
Bus 003 Device 009: ID 05ac:0221 Apple, Inc. Aluminum Keyboard (ISO)
Bus 003 Device 006: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 003 Device 004: ID 0424:2134 Standard Microsystems Corp. 
Bus 003 Device 003: ID 0b05:17cf ASUSTek Computer, Inc. 
Bus 003 Device 010: ID 046d:c07d Logitech, Inc. 
Bus 003 Device 002: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 4 --> 0000:00:14.0 (IOMMU group 3)
Bus 004 Device 003: ID 0424:5434 Standard Microsystems Corp. Hub
Bus 004 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 5 --> 0000:0d:00.0 (IOMMU group 23)
Bus 005 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 6 --> 0000:0d:00.0 (IOMMU group 23)
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

 

My USB Controller:

00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller
00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2
00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1
0d:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller

 

Link to comment

I followed both tutorials, but without success, i mean, i can passthrough my controller, but i have only two of them or im wrong?

Sorry, but i have troubles to understand this yet.

I think i have only two usb controllers, but i want run two VMs so this will not work for me.

 

Im using a Asus Z97-Deluxe Mainboard with an Intel Core i7 4790k.

Sorry im new to this business ;D hope someone can help me.

 

Thats my PCIE List:

00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM Controller [8086:0c00] (rev 06)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller [8086:0c05] (rev 06)
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1]
00:16.0 Communication controller [0780]: Intel Corporation 9 Series Chipset Family ME Interface #1 [8086:8cba]
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I218-V [8086:15a1]
00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 [8086:8cad]
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
00:1c.0 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 [8086:8c90] (rev d0)
00:1c.3 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 [8086:8c96] (rev d0)
00:1c.4 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 [8086:8c98] (rev d0)
00:1c.6 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 7 [8086:8c9c] (rev d0)
00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 [8086:8ca6]
00:1f.0 ISA bridge [0601]: Intel Corporation 9 Series Chipset Family Z97 LPC Controller [8086:8cc4]
00:1f.2 SATA controller [0106]: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode] [8086:8c82]
00:1f.3 SMBus [0c05]: Intel Corporation 9 Series Chipset Family SMBus Controller [8086:8ca2]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 970] [10de:13c2] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
02:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fba] (rev a1)
04:00.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
05:01.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
05:02.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
05:03.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
05:04.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
05:05.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
05:06.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
05:07.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]
06:00.0 Audio device [0403]: Creative Labs Sound Core3D [sound Blaster Recon3D / Z-Series] [1102:0012] (rev 01)
07:00.0 Network controller [0280]: Broadcom Limited BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)
08:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)
0b:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
0d:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)
0e:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller [1b21:1142]

 

Thats my IMMOU Group list:

/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.1
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/1/devices/0000:02:00.0
/sys/kernel/iommu_groups/1/devices/0000:02:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:03.0
/sys/kernel/iommu_groups/4/devices/0000:00:14.0
/sys/kernel/iommu_groups/5/devices/0000:00:16.0
/sys/kernel/iommu_groups/6/devices/0000:00:19.0
/sys/kernel/iommu_groups/7/devices/0000:00:1a.0
/sys/kernel/iommu_groups/8/devices/0000:00:1b.0
/sys/kernel/iommu_groups/9/devices/0000:00:1c.0
/sys/kernel/iommu_groups/10/devices/0000:00:1c.3
/sys/kernel/iommu_groups/11/devices/0000:00:1c.4
/sys/kernel/iommu_groups/12/devices/0000:00:1c.6
/sys/kernel/iommu_groups/13/devices/0000:00:1d.0
/sys/kernel/iommu_groups/14/devices/0000:00:1f.0
/sys/kernel/iommu_groups/14/devices/0000:00:1f.2
/sys/kernel/iommu_groups/14/devices/0000:00:1f.3
/sys/kernel/iommu_groups/15/devices/0000:04:00.0
/sys/kernel/iommu_groups/16/devices/0000:05:01.0
/sys/kernel/iommu_groups/16/devices/0000:06:00.0
/sys/kernel/iommu_groups/17/devices/0000:05:02.0
/sys/kernel/iommu_groups/17/devices/0000:07:00.0
/sys/kernel/iommu_groups/18/devices/0000:05:03.0
/sys/kernel/iommu_groups/18/devices/0000:08:00.0
/sys/kernel/iommu_groups/19/devices/0000:05:04.0
/sys/kernel/iommu_groups/20/devices/0000:05:05.0
/sys/kernel/iommu_groups/21/devices/0000:05:06.0
/sys/kernel/iommu_groups/21/devices/0000:0b:00.0
/sys/kernel/iommu_groups/22/devices/0000:05:07.0
/sys/kernel/iommu_groups/23/devices/0000:0d:00.0
/sys/kernel/iommu_groups/24/devices/0000:0e:00.0

 

That is my output from Gridrunner first command:

Bus 1 --> 0000:00:1d.0 (IOMMU group 11)    
Bus 001 Device 002: ID 8087:8001 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 2 --> 0000:00:14.0 (IOMMU group 3)
Bus 002 Device 008: ID 03f0:034a Hewlett-Packard Elite Keyboard
Bus 002 Device 006: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 002 Device 012: ID 0451:3410 Texas Instruments, Inc. TUSB3410 Microcontroller
Bus 002 Device 009: ID 046d:c068 Logitech, Inc. G500 Laser Mouse
Bus 002 Device 010: ID 05ac:0221 Apple, Inc. Aluminum Keyboard (ISO)
Bus 002 Device 007: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 002 Device 005: ID 0424:2134 Standard Microsystems Corp. 
Bus 002 Device 004: ID 046d:082d Logitech, Inc. HD Pro Webcam C920
Bus 002 Device 003: ID 0b05:17cf ASUSTek Computer, Inc. 
Bus 002 Device 011: ID 046d:c07d Logitech, Inc. 
Bus 002 Device 002: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 3 --> 0000:00:14.0 (IOMMU group 3)
Bus 003 Device 004: ID 0781:5580 SanDisk Corp. SDCZ80 Flash Drive
Bus 003 Device 003: ID 0424:5434 Standard Microsystems Corp. Hub
Bus 003 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 4 --> 0000:0d:00.0 (IOMMU group 22)
Bus 004 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 5 --> 0000:0d:00.0 (IOMMU group 22)
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

 

My USB Controller:

00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller
00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2
00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1
0d:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller

 

are you sure that info you have posted is correct?

in your iommu list you have  00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1].

 

/sys/kernel/iommu_groups/4/devices/0000:00:14.0 

  listed in  in group 4

yet in the script output  it is

Bus 3 --> 0000:00:14.0 (IOMMU group 3)

  but here same device in group 3

 

so this isnt consistant.

i am guessing that at some time you have enabled aci override patch as in your gpu here is

in group 1 with other devices including another gpu

/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.1
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/1/devices/0000:02:00.0
/sys/kernel/iommu_groups/1/devices/0000:02:00.1

 

so wouldnt pass through like that. I guess you are passing gpus to a vm. so since that iommu list you have changed it using aci override?

 

these are your usb controllers

00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1].  
00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 [8086:8cad] 
00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 [8086:8ca6]
0e:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller [1b21:1142]

 

Link to comment

Sorry my information was incorrect. I updated my informations, should be correct now.

 

Yes i tried to Passthrough my second GPU with "aci override" because it was on the same IOMMU group like my first GPU.

And i planned to passthrough my GPUs for each VM (Windows for gaming and Mac for working).

I disabled "aci override" and put my GPU to my third pcie slot, its now pcie gen2 and x2, but i hope its enough for my mac.

 

Ok, so i have four usb controllers, if i understood you correctly.

I tried first to pass the 00:14.0 controller and it works, but this are all my usb slots except two(controller: 0d:00.0) of them.

00:1a.0 and 00:1d.0 doesnt work.

 

Link to comment

Sorry my information was incorrect. I updated my informations, should be correct now.

 

Yes i tried to Passthrough my second GPU with "aci override" because it was on the same IOMMU group like my first GPU.

And i planned to passthrough my GPUs for each VM (Windows for gaming and Mac for working).

I disabled "aci override" and put my GPU to my third pcie slot, its now pcie gen2 and x2, but i hope its enough for my mac.

 

Ok, so I have four USB controllers if I understood you correctly.

I tried first to pass the 00:14.0 controller and it works, but this are all my USB slots except two(controller: 0d:00.0) of them.

00:1a.0 and 00:1d.0 doesnt work.

 

You may have to change settings in your bios for USB and how the controllers work.

Are you trying to pass through to mac OSX? If so osx is very picky about which controllers it supports. Unfortunately, it doesn't

support many USB 3 controllers natively. I had the same problem my onboard USB didn't work in osx. I bought this USB 3.0 controller

https://www.amazon.co.uk/gp/product/B00FPIMJEW  because it is natively supported in OSX out the box.

as it is natively supported in osx

Link to comment

Hi, Guys. I have made a tutorial showing how to easily and safely pass through a USB controller on your unRAID server.

You can see how to quickly identify all USB controllers in the server and see which devices and buses are connected to each controller and

also which iommu group each controller is in. So you can easily avoid accidentally passing through the controller used for the unRAID flash drive.

You will also see how to easily identify which USB controllers support resetting. I hope you find it useful :)

 

How to easily  pass though a USB controller

 

 

gridrunner, THANK YOU SO MUCH for the making the amazing and video!! ;D I found it incredibly easy to passthrough my Inatek USB 3.0 controller I just purchased a few days ago. I'm hoping you (or anyone for that matter) can offer some suggestion to an issue I'm now facing. Since adding/passing the USB card, the unRAID system intermittently freezes after awhile when I run my VM which is using the controller. (today it froze after ~18 hours of uptime) The only way out is to hard reset the unRAID tower.

 

Thank you so much for any thoughts/advice you have to offer.

 

Link to comment

I have two VAI chipset PCI-e USB 3.0 controllers that do something similar to what you are experiencing. I have been holding off on buying a new USB PCI-e card however I believe I have solved my issue and it may work for you.

 

Inside my BOIS I have set the PCI express slots that the USB cards are in from auto to GEN 1 and I can pass-through both of my cards to each gaming VM and it works like a dream... so far. No more freeze up, lockups, or get stuck on VM reboots causing me to reboot the UNRAID server and the UNRAID server has been running for 3 days now.

 

I am still in testing mode but I think I found a fix for my issue and hope it will help others.

Link to comment

I have two VAI chipset PCI-e USB 3.0 controllers that do something similar to what you are experiencing. I have been holding off on buying a new USB PCI-e card however I believe I have solved my issue and it may work for you.

 

Inside my BOIS I have set the PCI express slots that the USB cards are in from auto to GEN 1 and I can pass-through both of my cards to each gaming VM and it works like a dream... so far. No more freeze up, lockups, or get stuck on VM reboots causing me to reboot the UNRAID server and the UNRAID server has been running for 3 days now.

 

I am still in testing mode but I think I found a fix for my issue and hope it will help others.

 

Thank you for your suggestion, Darkun1. Unfortunately, my bios doesn't seem to offer such a setting. fwiw, I also tried passing through the on-board Renesus USB 3.0 controller with mixed results: it seemed to work ok with Win10; however the Win7 drivers are unstable and would often times crash or prevent the VM from loading. I would love to find a solution since the only way to access the attached external drives are as network share, which is extremely slow.

 

Anyways, again, thanks for your suggestion.

Link to comment

I have two VAI chipset PCI-e USB 3.0 controllers that do something similar to what you are experiencing. I have been holding off on buying a new USB PCI-e card however I believe I have solved my issue and it may work for you.

 

Inside my BOIS I have set the PCI express slots that the USB cards are in from auto to GEN 1 and I can pass-through both of my cards to each gaming VM and it works like a dream... so far. No more freeze up, lockups, or get stuck on VM reboots causing me to reboot the UNRAID server and the UNRAID server has been running for 3 days now.

 

I am still in testing mode but I think I found a fix for my issue and hope it will help others.

 

Thank you for your suggestion, Darkun1. Unfortunately, my bios doesn't seem to offer such a setting. fwiw, I also tried passing through the on-board Renesus USB 3.0 controller with mixed results: it seemed to work ok with Win10; however the Win7 drivers are unstable and would often times crash or prevent the VM from loading. I would love to find a solution since the only way to access the attached external drives are as network share, which is extremely slow.

 

Anyways, again, thanks for your suggestion.

 

With the  Inatek USB 3.0  if you can try another PCIe slot for it. Also, check nothing else is in its iommu group.

Maybe worth a shot, you could try using pci-stub.ids=  instead of  vfio-pci.ids=    in the syslinux.config.

Also with the onboard USB controllers and the windows 7 problem you could try in bios changing EHCI Hand-off from [Disabled] to [Enabled]

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.