methanoid Posted September 10, 2017 Share Posted September 10, 2017 12 hours ago, saarg said: xen-pciback.hide= is just another method to hide the devices so it's not used by any other driver, but instead of using the ID it uses the PCI number. This is a better way if you have to devices with the same ID, but only want to hide one of them. Using this will not make the device show up in the other devices list as it's not bound to the vfio driver. You can probably use both xen-pciback.hide and vfio-pci.ids at the same time. @methanoid Looks like you have a space after vfio-pci.ids= Thanks... missed that! Quote Link to comment
saarg Posted September 10, 2017 Share Posted September 10, 2017 10 hours ago, csmccarron said: What think I need to do is bind both of my USB3 PCI-Express cards to the vfio-pci driver or does the xen-pciback.hide option make it so the kernel will never try to use the two devices? I attach them to different virtual machines. When I tried this using the ID 1b6f:7052, one of the cards worked and it locked the other one up. Currently I am not binding the vfio-pci driver to either card and so far no issues but I would really rather not have the kernel ever touch them if possible. The kernel should not try to use the two devices with pciback.hide. I don't know how they work behind the scene, so don't know if it will work better with pciback.hide than with vfio-pci.ids. Quote Link to comment
csmccarron Posted September 10, 2017 Share Posted September 10, 2017 2 hours ago, saarg said: The kernel should not try to use the two devices with pciback.hide. I don't know how they work behind the scene, so don't know if it will work better with pciback.hide than with vfio-pci.ids. Thanks for the information, I will try it out when I get back from Michigan and let you know how it worked out. Quote Link to comment
spencers Posted October 13, 2017 Share Posted October 13, 2017 (edited) In an effort to decrease latency, I want to move from a Synergy setup to a physical USB switcher to share keyboard and mouse between my Win10 Gaming VM and my MacBook. Currently I passthrough a wired USB Xbox 360 controller to my Win10 Gaming VM. I did a test where I unplugged it and plugged it back in to see if it would pop back up in Windows. Sadly it didn't until I rebooted the VM. So I'm guessing I need to pass through my motherboard USB Controller to get plug-and-play to work, especially when the USB switcher comes into play. Here's the output of the commands. I'm guessing I won't be able to do this with my C236 WSI motherboard? root@Unraid:~# lspci | grep USB 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) root@Unraid:~# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS Bus 001 Device 006: ID 045e:028e Microsoft Corp. Xbox360 Controller Bus 001 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Additionally, I can't add another PCI-e card since it's an ITX board. Edited October 13, 2017 by spencers Quote Link to comment
methanoid Posted October 13, 2017 Share Posted October 13, 2017 6 minutes ago, spencers said: In an effort to decrease latency, I want to move from a Synergy setup to a physical USB switcher to share keyboard and mouse between my Win10 Gaming VM and my MacBook. Currently I passthrough a wired USB Xbox 360 controller to my Win10 Gaming VM. I did a test where I unplugged it and plugged it back in to see if it would pop back up in Windows. Sadly it didn't until I rebooted the VM. So I'm guessing I need to pass through my motherboard USB Controller to get plug-and-play to work, especially when the USB switcher comes into play. Here's the output of the commands. I'm guessing I won't be able to do this with my C236 WSI motherboard? root@Unraid:~# lspci | grep USB 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) root@Unraid:~# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS Bus 001 Device 006: ID 045e:028e Microsoft Corp. Xbox360 Controller Bus 001 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Additionally, I can't add another PCI-e card since it's an ITX board. Why don't you try FIRST and then report back?? And you might decide that fiddling with EHCI/XHCI in BIOS may separate your USB2 and USB3 controllers. It's in this thread (works on my Gigabyte board and others too). Then you would have two USB2 controllers (in effect) and leave unRAID stick on one, passthrough the other. Quote Link to comment
charleslam Posted October 14, 2017 Share Posted October 14, 2017 5 hours ago, spencers said: In an effort to decrease latency, I want to move from a Synergy setup to a physical USB switcher to share keyboard and mouse between my Win10 Gaming VM and my MacBook. Currently I passthrough a wired USB Xbox 360 controller to my Win10 Gaming VM. I did a test where I unplugged it and plugged it back in to see if it would pop back up in Windows. Sadly it didn't until I rebooted the VM. So I'm guessing I need to pass through my motherboard USB Controller to get plug-and-play to work, especially when the USB switcher comes into play. Here's the output of the commands. I'm guessing I won't be able to do this with my C236 WSI motherboard? root@Unraid:~# lspci | grep USB 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) root@Unraid:~# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS Bus 001 Device 006: ID 045e:028e Microsoft Corp. Xbox360 Controller Bus 001 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Additionally, I can't add another PCI-e card since it's an ITX board. This is why i really dont like the layout of having the option to assign USB devices without passing through the usb controller. certain devices dont work correctly when it is done. and then youre stuck guessing if something broke or not. I believe other people in here have had the same problems with xbox controllers/receivers. typically the worst is when they try adding multiple xbox controllers/receivers iirc. passing through a controller is a pita as shown, but once you do it, its worth it. makes everything a whole lot easier. Quote Link to comment
spencers Posted October 14, 2017 Share Posted October 14, 2017 19 hours ago, methanoid said: Why don't you try FIRST and then report back?? And you might decide that fiddling with EHCI/XHCI in BIOS may separate your USB2 and USB3 controllers. It's in this thread (works on my Gigabyte board and others too). Then you would have two USB2 controllers (in effect) and leave unRAID stick on one, passthrough the other. Thank you for the tip! I’ll look into that in this thread. I don’t need USB3 passthrough fortunately so if I can just passthrough one USB2 port, I’d be set! Thanks again! My USB switcher arrives Monday so I’ll be sure to provide an update even though my use case is pretty specific. Quote Link to comment
richardsim7 Posted October 17, 2017 Share Posted October 17, 2017 So I've done this and it's all well and good, but for some reason my VM (win10) decided to go to sleep whilst I was away. And since then, the USB3 PCIe card doesn't work in the VM. It appears in the Edit VM bit etc, but doesn't appear in windows. It also doesn't passthrough power (ie: plug in phone, doesn't charge) Any ideas? Quote Link to comment
methanoid Posted October 18, 2017 Share Posted October 18, 2017 So I've done this and it's all well and good, but for some reason my VM (win10) decided to go to sleep whilst I was away. And since then, the USB3 PCIe card doesn't work in the VM. It appears in the Edit VM bit etc, but doesn't appear in windows. It also doesn't passthrough power (ie: plug in phone, doesn't charge) Any ideas?Reboot the server? Maybe redo the VM and disable sleep (sure the LT guide tells u too)Sent from my Redmi 4X using Tapatalk Quote Link to comment
richardsim7 Posted October 20, 2017 Share Posted October 20, 2017 Tried that, rebooting didn't seem to work this time. Will try again at some point. And sleep was most definitely disabled, and still is. I read somewhere that it could have been suspended due to something running out of space Quote Link to comment
sevenz Posted January 25, 2018 Share Posted January 25, 2018 (edited) Hello, I`m trying to passthrough the whole front panel USB controller (4 of them) so that I can hot swap my USBs. Steps that I used is: Quote root@MyNAS:~# lspci | grep USB 00:14.0 USB controller: Intel Corporation C610/X99 series chipset USB xHCI Host Controller (rev 05) 00:1a.0 USB controller: Intel Corporation C610/X99 series chipset USB Enhanced Host Controller #2 (rev 05) 00:1d.0 USB controller: Intel Corporation C610/X99 series chipset USB Enhanced Host Controller #1 (rev 05) 0c:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller Then I tested Quote root@MyNAS:~# lsusb Bus 002 Device 002: ID 8087:8002 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 0951:1642 Kingston Technology DT101 G2 Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:800a Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 003: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed 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 005: ID 1532:0204 Razer USA, Ltd Bus 003 Device 003: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub Bus 003 Device 002: ID 0b05:180a ASUSTek Computer, Inc.Bus 003 Device 008: ID 1043:8012 iCreate Technologies Corp. Flash Disk 256 MB Bus 003 Device 006: ID 046d:c52f Logitech, Inc. Unifying Receiver Bus 003 Device 004: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 008 is one of the USB I tried plugging onto the front panel. Quote root@MyNAS:~# readlink /sys/bus/usb/devices/usb3 ../../../devices/pci0000:00/0000:00:14.0/usb3 So by this its on 0000:00:14.0 right? Using step 11.b, I wrote to my XML this just above the </devices> line Quote <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x14' function='0x0'/> </source> </hostdev> Here is my IOMMU groups Quote IOMMU group 0 [8086:6f81] ff:0b.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1 (rev 01) [8086:6f36] ff:0b.1 Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1 (rev 01) [8086:6f37] ff:0b.2 Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1 (rev 01) [8086:6f76] ff:0b.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link Debug (rev 01) IOMMU group 1 [8086:6fe0] ff:0c.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6fe1] ff:0c.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6fe2] ff:0c.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6fe3] ff:0c.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6fe4] ff:0c.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6fe5] ff:0c.5 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) IOMMU group 2 [8086:6ff8] ff:0f.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6ff9] ff:0f.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6ffc] ff:0f.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6ffd] ff:0f.5 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) [8086:6ffe] ff:0f.6 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent (rev 01) IOMMU group 3 [8086:6f1d] ff:10.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R2PCIe Agent (rev 01) [8086:6f34] ff:10.1 Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R2PCIe Agent (rev 01) [8086:6f1e] ff:10.5 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox (rev 01) [8086:6f7d] ff:10.6 Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox (rev 01) [8086:6f1f] ff:10.7 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox (rev 01) IOMMU group 4 [8086:6fa0] ff:12.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 0 (rev 01) [8086:6f30] ff:12.1 Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 0 (rev 01) IOMMU group 5 [8086:6fa8] ff:13.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Target Address/Thermal/RAS (rev 01) [8086:6f71] ff:13.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Target Address/Thermal/RAS (rev 01) [8086:6faa] ff:13.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder (rev 01) [8086:6fab] ff:13.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder (rev 01) [8086:6fac] ff:13.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder (rev 01) [8086:6fad] ff:13.5 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder (rev 01) [8086:6fae] ff:13.6 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Broadcast (rev 01) [8086:6faf] ff:13.7 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Global Broadcast (rev 01) IOMMU group 6 [8086:6fb0] ff:14.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 0 Thermal Control (rev 01) [8086:6fb1] ff:14.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 1 Thermal Control (rev 01) [8086:6fb2] ff:14.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 0 Error (rev 01) [8086:6fb3] ff:14.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 1 Error (rev 01) [8086:6fbc] ff:14.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface (rev 01) [8086:6fbd] ff:14.5 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface (rev 01) [8086:6fbe] ff:14.6 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface (rev 01) [8086:6fbf] ff:14.7 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface (rev 01) IOMMU group 7 [8086:6fb4] ff:15.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 2 Thermal Control (rev 01) [8086:6fb5] ff:15.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 3 Thermal Control (rev 01) [8086:6fb6] ff:15.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 2 Error (rev 01) [8086:6fb7] ff:15.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 3 Error (rev 01) IOMMU group 8 [8086:6f68] ff:16.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Target Address/Thermal/RAS (rev 01) [8086:6f6e] ff:16.6 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Broadcast (rev 01) [8086:6f6f] ff:16.7 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Global Broadcast (rev 01) IOMMU group 9 [8086:6fd0] ff:17.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 0 Thermal Control (rev 01) [8086:6fb8] ff:17.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface (rev 01) [8086:6fb9] ff:17.5 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface (rev 01) [8086:6fba] ff:17.6 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface (rev 01) [8086:6fbb] ff:17.7 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface (rev 01) IOMMU group 10 [8086:6f98] ff:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01) [8086:6f99] ff:1e.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01) [8086:6f9a] ff:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01) [8086:6fc0] ff:1e.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01) [8086:6f9c] ff:1e.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01) IOMMU group 11 [8086:6f88] ff:1f.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01) [8086:6f8a] ff:1f.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01) IOMMU group 12 [8086:6f00] 00:00.0 Host bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DMI2 (rev 01) IOMMU group 13 [8086:6f02] 00:01.0 PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1 (rev 01) IOMMU group 14 [8086:6f03] 00:01.1 PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1 (rev 01) IOMMU group 15 [8086:6f08] 00:03.0 PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3 (rev 01) IOMMU group 16 [8086:6f28] 00:05.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Map/VTd_Misc/System Management (rev 01) [8086:6f29] 00:05.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Hot Plug (rev 01) [8086:6f2a] 00:05.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO RAS/Control Status/Global Errors (rev 01) [8086:6f2c] 00:05.4 PIC: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D I/O APIC (rev 01) IOMMU group 17 [8086:8d7c] 00:11.0 Unassigned class [ff00]: Intel Corporation C610/X99 series chipset SPSR (rev 05) [8086:8d62] 00:11.4 SATA controller: Intel Corporation C610/X99 series chipset sSATA Controller [AHCI mode] (rev 05)IOMMU group 18 [8086:8d31] 00:14.0 USB controller: Intel Corporation C610/X99 series chipset USB xHCI Host Controller (rev 05) IOMMU group 19 [8086:8d3a] 00:16.0 Communication controller: Intel Corporation C610/X99 series chipset MEI Controller #1 (rev 05) IOMMU group 20 [8086:15a1] 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V (rev 05) IOMMU group 21 [8086:8d2d] 00:1a.0 USB controller: Intel Corporation C610/X99 series chipset USB Enhanced Host Controller #2 (rev 05) IOMMU group 22 [8086:8d20] 00:1b.0 Audio device: Intel Corporation C610/X99 series chipset HD Audio Controller (rev 05) IOMMU group 23 [8086:8d10] 00:1c.0 PCI bridge: Intel Corporation C610/X99 series chipset PCI Express Root Port #1 (rev d5) IOMMU group 24 [8086:8d16] 00:1c.3 PCI bridge: Intel Corporation C610/X99 series chipset PCI Express Root Port #4 (rev d5) IOMMU group 25 [8086:8d18] 00:1c.4 PCI bridge: Intel Corporation C610/X99 series chipset PCI Express Root Port #5 (rev d5) IOMMU group 26 [8086:8d1c] 00:1c.6 PCI bridge: Intel Corporation C610/X99 series chipset PCI Express Root Port #7 (rev d5) IOMMU group 27 [8086:8d26] 00:1d.0 USB controller: Intel Corporation C610/X99 series chipset USB Enhanced Host Controller #1 (rev 05) IOMMU group 28 [8086:8d47] 00:1f.0 ISA bridge: Intel Corporation C610/X99 series chipset LPC Controller (rev 05) [8086:8d02] 00:1f.2 SATA controller: Intel Corporation C610/X99 series chipset 6-Port SATA Controller [AHCI mode] (rev 05) [8086:8d22] 00:1f.3 SMBus: Intel Corporation C610/X99 series chipset SMBus Controller (rev 05) IOMMU group 29 [1002:699f] 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon RX 550] (rev c7) [1002:aae0] 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aae0 IOMMU group 30 [1b21:118f] 05:00.0 PCI bridge: ASMedia Technology Inc. Device 118f IOMMU group 31 [1b21:118f] 06:01.0 PCI bridge: ASMedia Technology Inc. Device 118f IOMMU group 32 [1b21:118f] 06:02.0 PCI bridge: ASMedia Technology Inc. Device 118f IOMMU group 33 [1b21:118f] 06:03.0 PCI bridge: ASMedia Technology Inc. Device 118f IOMMU group 34 [1b21:118f] 06:04.0 PCI bridge: ASMedia Technology Inc. Device 118f IOMMU group 35 [8086:1539] 07:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03) IOMMU group 36 [14e4:43a0] 08:00.0 Network controller: Broadcom Limited BCM4360 802.11ac Wireless Network Adapter (rev 03) IOMMU group 37 [10de:1b82] 09:00.0 VGA compatible controller: NVIDIA Corporation GP104 (rev a1) [10de:10f0] 09:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1) IOMMU group 38 [1b21:0612] 0b:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02) IOMMU group 39 [1b21:1142] 0c:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller But when I want to start my VM, I get this I wonder which step I did wrong? I tried redoing again and googling, but I'm not sure which part should I fix. Any help would be nice. Thanks! Edited January 25, 2018 by sevenz fix iommu groups formatting Quote Link to comment
methanoid Posted January 29, 2018 Share Posted January 29, 2018 Q: Is there such a thing as a PCIE USB controller card with MULTIPLE controllers onboard that can be passed to separate VMs? I expect not but worth asking.... I won't have slots free for 2 cards :-( Quote Link to comment
richardsim7 Posted January 29, 2018 Share Posted January 29, 2018 From memory I think there is (it might be a combined 2.0 and 3.0 controller?) but it's absurdly expensive Quote Link to comment
L0rdRaiden Posted March 12, 2018 Share Posted March 12, 2018 (edited) I have this iommu IOMMU group 6: [1022:43bb] 01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset USB 3.1 xHCI Controller (rev 02) [1022:43b7] 01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset SATA Controller (rev 02) [1022:43b2] 01:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b2 (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:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02) [10ec:8168] 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c) [8086:1521] 05:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) [8086:1521] 05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) I want to bypass to a VM one of these NICs, both belong to the same PCI card: [8086:1521] 05:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) [8086:1521] 05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) I would preffer to bypass just 1, It is possible? or am I forced to bypass both? I have added to Syslinux configuration: append iommu=pt vfio-pci.ids=8086:1521 initrd=/bzroot And then to the VM <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x05' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </hostdev> But I get this error 2018-03-12T21:06:11.442798Z qemu-system-x86_64: -device vfio-pci,host=05:00.1,id=hostdev0,bus=pci.5,addr=0x0: vfio error: 0000:05:00.1: group 6 is not viable Please ensure all devices within the iommu_group are bound to their vfio bus driver. 2018-03-12 21:06:11.491+0000: shutting down, reason=failed Please, could anyone explain what options do I have and how to proceed? do I have to enable Enable PCIe ACS Override? Thanks Edited March 12, 2018 by L0rdRaiden Quote Link to comment
methanoid Posted March 13, 2018 Share Posted March 13, 2018 You need to pass the whole IOMMU grouping so you cannot split those network interfaces. Its not BYPASS by the way, its PASSTHROUGH! You might try the ACS patch and see if it breaks up that group as otherwise you are rather boned.... Quote Link to comment
L0rdRaiden Posted March 13, 2018 Share Posted March 13, 2018 10 hours ago, methanoid said: You need to pass the whole IOMMU grouping so you cannot split those network interfaces. Its not BYPASS by the way, its PASSTHROUGH! You might try the ACS patch and see if it breaks up that group as otherwise you are rather boned.... I have enable ACS but the IOMMU group is the same IOMMU group 7: [1022:43bb] 01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset USB 3.1 xHCI Controller (rev 02) [1022:43b7] 01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset SATA Controller (rev 02) [1022:43b2] 01:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b2 (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:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02) [10ec:8168] 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c) [8086:1521] 05:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) [8086:1521] 05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) I guess this means that it will be impossible to passtrough any NIC/s, right? Is there any other method? Quote Link to comment
methanoid Posted March 13, 2018 Share Posted March 13, 2018 I dont know of one.. but this thread is about USB controllers so maybe ask on the right one and someone might know one? Pop a PCIE card in and see if that has a better grouping? Quote Link to comment
alexsd Posted April 8, 2018 Share Posted April 8, 2018 (edited) i've been trying all day get a PCI USB controller passed through to my win10 VM. it's the renesas controller in IOMMU group 8 (though the pericom PCIe-to-PCI bridge is also part of the controller). IOMMU group 8: [8086:244e] 00:1c.3 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d0) [1b21:1080] 03:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 03) [12d8:e111] 04:01.0 PCI bridge: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge (rev 02) [1912:0015] 05:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev ff) i've tried spaceinvaders method in the Syslinux configuration: vfio-pc.ids=1912:0015 i've tried the method detailed at the beginning of this thread: <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </source> </hostdev> both resulted in the Other PCI Devices = none available. in another thread i read passing through the whole PCI Bridge might not be possible. is this still a valid statement? any ideas? Edited April 8, 2018 by alexsd Quote Link to comment
methanoid Posted July 12, 2018 Share Posted July 12, 2018 I have 4 USB controllers onboard my Asus X399A Prime mobo. They are separated into own IOMMU groupings using "pcie_acs_override=downstream,multifunction" But the sharp eye will see that the last 2 controllers have the same address for stubbing.... Does that mean they have to be treated as one controller? IOMMU group 15: [1022:43ba] 01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset USB 3.1 xHCI Controller (rev 02) IOMMU group 26: [1b21:2142] 09:00.0 USB controller: ASMedia Technology Inc. Device 2142 IOMMU group 34: [1022:145c] 0d:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller IOMMU group 53: [1022:145c] 43:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller Quote Link to comment
saarg Posted July 12, 2018 Share Posted July 12, 2018 3 hours ago, methanoid said: I have 4 USB controllers onboard my Asus X399A Prime mobo. They are separated into own IOMMU groupings using "pcie_acs_override=downstream,multifunction" But the sharp eye will see that the last 2 controllers have the same address for stubbing.... Does that mean they have to be treated as one controller? IOMMU group 15: [1022:43ba] 01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset USB 3.1 xHCI Controller (rev 02) IOMMU group 26: [1b21:2142] 09:00.0 USB controller: ASMedia Technology Inc. Device 2142 IOMMU group 34: [1022:145c] 0d:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller IOMMU group 53: [1022:145c] 43:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller Not if you use the xen-pciback.hide= method. You use the PCI number instead of id. So yours will look like below for the last two. xen-pciback.hide=(0d:00.3)(43:00.3) 1 Quote Link to comment
methanoid Posted July 12, 2018 Share Posted July 12, 2018 14 minutes ago, saarg said: Not if you use the xen-pciback.hide= method. You use the PCI number instead of id. So yours will look like below for the last two. xen-pciback.hide=(0d:00.3)(43:00.3) I should have looked earlier in the thread (thanks for not pointing out my mistake!!) On 9/9/2017 at 10:23 PM, saarg said: xen-pciback.hide= is just another method to hide the devices so it's not used by any other driver, but instead of using the ID it uses the PCI number. This is a better way if you have to devices with the same ID, but only want to hide one of them. Using this will not make the device show up in the other devices list as it's not bound to the vfio driver. You can probably use both xen-pciback.hide and vfio-pci.ids at the same time. @methanoid Looks like you have a space after vfio-pci.ids= I did notice though you said it wouldnt appear in the other devices list. That is bad? I thought the idea of stubbing stuff was to get it (a) not used by unRaid and (b) to appear as a selectable option in the "Other Devices" list for your VMs. My aim is to get 3 of my 4 USB controllers available for VMs and the 4th obviously has my unRAID stick on it. I am confused now how to get that outcome (if possible)!? Quote Link to comment
saarg Posted July 13, 2018 Share Posted July 13, 2018 11 hours ago, methanoid said: I should have looked earlier in the thread (thanks for not pointing out my mistake!!) I did notice though you said it wouldnt appear in the other devices list. That is bad? I thought the idea of stubbing stuff was to get it (a) not used by unRaid and (b) to appear as a selectable option in the "Other Devices" list for your VMs. My aim is to get 3 of my 4 USB controllers available for VMs and the 4th obviously has my unRAID stick on it. I am confused now how to get that outcome (if possible)!? Yes, you have to add it to the xml yourself. I have made a request to @limetech to make the devices available in the list, but they never answered the request. Quote Link to comment
methanoid Posted July 13, 2018 Share Posted July 13, 2018 (edited) On 7/13/2018 at 8:39 AM, saarg said: Yes, you have to add it to the xml yourself. I have made a request to @limetech to make the devices available in the list, but they never answered the request. Doh! Never thought of that!! @limetech please make it easy for the less savvy of your customers especially since I suspect it ISNT possible to pass an AMD 3.1 USB controller through... ? Edited July 15, 2018 by methanoid Quote Link to comment
ksignorini Posted September 1, 2018 Share Posted September 1, 2018 (edited) 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. Edited September 1, 2018 by ksignorini Quote Link to comment
saarg Posted September 1, 2018 Share Posted September 1, 2018 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. 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. Quote Link to comment
Recommended Posts
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.