January 23, 20197 yr Decided to sell my i9 MacBook Pro I use for work for a Unraid beast to replace my work Mac and my gaming PC. But I need a little help figuring out the best way to pass through USB controllers to best utilize what I have. (USB controller pass through is important as I'll have at least thing things that are commonly switched between the 2 main VMs pretty commonly (mic, keyboard, mouse)). Parts for reference if it's relevant: https://pcpartpicker.com/list/RVnczY I'm trying to figure out the best way to handle all this with the IOMMU groups I have. It's important to me to have Bluetooth on both devices, so I got a motherboard with Bluetooth and I have a Bluetooth PCIe card (see part list link above). It appears as though all of the USB headers (two 2.0 and one 3.0) as well as all the USB ports on the motherboard except for two appear to be on the same controller in IOMMU group 15 (see below for groups). The other two: a USB-C and a USB 3 close to the USB-C port are part of a different controller... either the one from Group 24 or 25, I am not sure which. The other one in Group 24/25 (which have the same ID to pass through to vfio-pci.ids, this is 1b21:2142) doesn't seem to do anything? Anyway, so a couple questions: Can you install Unraid on a partition on the hard drive and boot from there, as to free up a USB slot (so you could pass all your USB controllers to VMs)? I can't find anyone talking about it, but seems like a pretty simple solution. The other question, is if you look at Group 15 that I mentioned, it doesn't have that "Reset" flag that Spaceinvader One talks about. How important is that? I can't find much info about that. Also, in Group 15, there's that Signal processing controller: Intel Corporation 200 Series PCH Thermal Subsystem. If I pass that IOMMU group through, then Unraid what have access to that. What is that, and is it important? ------------------- IOMMU groups with vfio_iommu_type1.allow_unsafe_interrupts=1 pcie_acs_override=downstream,multifunction flags set (it doesn't really change anything meaningful in terms of discussion of USB controllers' groups): IOMMU group 55 64:0b.2 System peripheral [0880]: Intel Corporation Device [8086:204a] (rev 04) IOMMU group 83 b4:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1) IOMMU group 17 00:17.0 SATA controller [0106]: Intel Corporation 200 Series PCH SATA controller [AHCI mode] [8086:a282] IOMMU group 45 64:0a.0 System peripheral [0880]: Intel Corporation Device [8086:2040] (rev 04) IOMMU group 73 b2:05.0 System peripheral [0880]: Intel Corporation Device [8086:2034] (rev 04) IOMMU group 35 16:0f.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0f.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0f.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0f.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0f.4 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0f.5 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0f.6 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0f.7 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) IOMMU group 7 00:04.6 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04) IOMMU group 63 64:0c.6 System peripheral [0880]: Intel Corporation Device [8086:2046] (rev 04) IOMMU group 25 [RESET] 02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller [1b21:2142] IOMMU group 53 64:0b.0 System peripheral [0880]: Intel Corporation Device [8086:2048] (rev 04) IOMMU group 81 [RESET] b3:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a) IOMMU group 15 00:14.0 USB controller [0c03]: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller [8086:a2af] 00:14.2 Signal processing controller [1180]: Intel Corporation 200 Series PCH Thermal Subsystem [8086:a2b1] IOMMU group 43 64:08.0 System peripheral [0880]: Intel Corporation Device [8086:2066] (rev 04) IOMMU group 71 b2:00.0 PCI bridge [0604]: Intel Corporation Sky Lake-E PCI Express Root Port A [8086:2030] (rev 04) IOMMU group 33 16:0a.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:0a.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) IOMMU group 5 00:04.4 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04) IOMMU group 61 64:0c.4 System peripheral [0880]: Intel Corporation Device [8086:2044] (rev 04) IOMMU group 23 [RESET] 00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8] IOMMU group 51 64:0a.6 System peripheral [0880]: Intel Corporation Device [8086:2046] (rev 04) IOMMU group 13 00:08.1 Performance counters [1101]: Intel Corporation Sky Lake-E Ubox Registers [8086:2015] (rev 04) IOMMU group 41 64:05.2 System peripheral [0880]: Intel Corporation Sky Lake-E RAS Configuration Registers [8086:2035] (rev 04) IOMMU group 31 16:08.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:08.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:08.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:08.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:08.4 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:08.5 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:08.6 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:08.7 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) IOMMU group 3 00:04.2 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04) IOMMU group 21 [RESET] 00:1d.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #9 [8086:a298] (rev f0) IOMMU group 78 b2:15.0 System peripheral [0880]: Intel Corporation Sky Lake-E M2PCI Registers [8086:2018] (rev 04) IOMMU group 11 00:05.4 PIC [0800]: Intel Corporation Device [8086:2026] (rev 04) IOMMU group 68 64:0d.3 System peripheral [0880]: Intel Corporation Device [8086:204b] (rev 04) IOMMU group 1 00:04.0 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04) IOMMU group 58 64:0c.1 System peripheral [0880]: Intel Corporation Device [8086:2041] (rev 04) IOMMU group 48 64:0a.3 System peripheral [0880]: Intel Corporation Device [8086:2043] (rev 04) IOMMU group 76 b2:12.0 Performance counters [1101]: Intel Corporation Sky Lake-E M3KTI Registers [8086:204c] (rev 04) IOMMU group 38 16:1e.0 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2080] (rev 04) 16:1e.1 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2081] (rev 04) 16:1e.2 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2082] (rev 04) 16:1e.3 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2083] (rev 04) 16:1e.4 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2084] (rev 04) 16:1e.5 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2085] (rev 04) 16:1e.6 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2086] (rev 04) IOMMU group 66 64:0d.1 System peripheral [0880]: Intel Corporation Device [8086:2049] (rev 04) IOMMU group 28 16:05.0 System peripheral [0880]: Intel Corporation Device [8086:2034] (rev 04) IOMMU group 56 64:0b.3 System peripheral [0880]: Intel Corporation Device [8086:204b] (rev 04) IOMMU group 18 [RESET] 00:1c.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #1 [8086:a290] (rev f0) IOMMU group 46 64:0a.1 System peripheral [0880]: Intel Corporation Device [8086:2041] (rev 04) IOMMU group 74 b2:05.2 System peripheral [0880]: Intel Corporation Sky Lake-E RAS Configuration Registers [8086:2035] (rev 04) IOMMU group 36 16:10.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:10.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) IOMMU group 8 00:04.7 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04) IOMMU group 64 64:0c.7 System peripheral [0880]: Intel Corporation Device [8086:2047] (rev 04) IOMMU group 26 [RESET] 03:00.0 Network controller [0280]: Intel Corporation Wireless 8265 / 8275 [8086:24fd] (rev 78) IOMMU group 54 64:0b.1 System peripheral [0880]: Intel Corporation Device [8086:2049] (rev 04) IOMMU group 82 [RESET] b4:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1080] [10de:1b80] (rev a1) IOMMU group 16 00:16.0 Communication controller [0780]: Intel Corporation 200 Series PCH CSME HECI #1 [8086:a2ba] IOMMU group 44 64:09.0 System peripheral [0880]: Intel Corporation Device [8086:2066] (rev 04) IOMMU group 72 b2:03.0 PCI bridge [0604]: Intel Corporation Sky Lake-E PCI Express Root Port D [8086:2033] (rev 04) IOMMU group 34 16:0e.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0e.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0e.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0e.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0e.4 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0e.5 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0e.6 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) 16:0e.7 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04) IOMMU group 6 00:04.5 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04) IOMMU group 62 64:0c.5 System peripheral [0880]: Intel Corporation Device [8086:2045] (rev 04) IOMMU group 24 [RESET] 01:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller [1b21:2142] IOMMU group 52 64:0a.7 System peripheral [0880]: Intel Corporation Device [8086:2047] (rev 04) IOMMU group 80 b2:17.0 System peripheral [0880]: Intel Corporation Sky Lake-E M2PCI Registers [8086:2018] (rev 04) IOMMU group 14 00:08.2 System peripheral [0880]: Intel Corporation Sky Lake-E Ubox Registers [8086:2016] (rev 04) IOMMU group 42 64:05.4 PIC [0800]: Intel Corporation Device [8086:2036] (rev 04) IOMMU group 70 [RESET] 65:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Caicos HDMI Audio [Radeon HD 6450 / 7450/8450/8490 OEM / R5 230/235/235X OEM] [1002:a... IOMMU group 32 16:09.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:09.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:09.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:09.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:09.4 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:09.5 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:09.6 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) 16:09.7 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04) IOMMU group 4 00:04.3 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04) IOMMU group 60 64:0c.3 System peripheral [0880]: Intel Corporation Device [8086:2043] (rev 04) IOMMU group 22 00:1f.0 ISA bridge [0601]: Intel Corporation X299 Chipset LPC/eSPI Controller [8086:a2d2] 00:1f.2 Memory controller [0580]: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller [8086:a2a1] 00:1f.3 Audio device [0403]: Intel Corporation 200 Series PCH HD Audio [8086:a2f0] 00:1f.4 SMBus [0c05]: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller [8086:a2a3] IOMMU group 50 64:0a.5 System peripheral [0880]: Intel Corporation Device [8086:2045] (rev 04) IOMMU group 79 b2:16.0 System peripheral [0880]: Intel Corporation Sky Lake-E M2PCI Registers [8086:2018] (rev 04) b2:16.4 System peripheral [0880]: Intel Corporation Sky Lake-E M2PCI Registers [8086:2018] (rev 04) IOMMU group 12 00:08.0 System peripheral [0880]: Intel Corporation Sky Lake-E Ubox Registers [8086:2014] (rev 04) IOMMU group 40 64:05.0 System peripheral [0880]: Intel Corporation Device [8086:2034] (rev 04) IOMMU group 69 [RESET] 65:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Caicos PRO [Radeon HD 7450] [1002:677b] IOMMU group 30 16:05.4 PIC [0800]: Intel Corporation Device [8086:2036] (rev 04) IOMMU group 2 00:04.1 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04) IOMMU group 59 64:0c.2 System peripheral [0880]: Intel Corporation Device [8086:2042] (rev 04) IOMMU group 20 [RESET] 00:1c.5 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #6 [8086:a295] (rev f0) IOMMU group 49 64:0a.4 System peripheral [0880]: Intel Corporation Device [8086:2044] (rev 04) IOMMU group 77 b2:12.1 Performance counters [1101]: Intel Corporation Sky Lake-E M3KTI Registers [8086:204d] (rev 04) b2:12.2 System peripheral [0880]: Intel Corporation Sky Lake-E M3KTI Registers [8086:204e] (rev 04) IOMMU group 10 00:05.2 System peripheral [0880]: Intel Corporation Device [8086:2025] (rev 04) IOMMU group 39 64:00.0 PCI bridge [0604]: Intel Corporation Sky Lake-E PCI Express Root Port A [8086:2030] (rev 04) IOMMU group 67 64:0d.2 System peripheral [0880]: Intel Corporation Device [8086:204a] (rev 04) IOMMU group 29 16:05.2 System peripheral [0880]: Intel Corporation Sky Lake-E RAS Configuration Registers [8086:2035] (rev 04) IOMMU group 0 00:00.0 Host bridge [0600]: Intel Corporation Sky Lake-E DMI3 Registers [8086:2020] (rev 04) IOMMU group 57 64:0c.0 System peripheral [0880]: Intel Corporation Device [8086:2040] (rev 04) IOMMU group 19 [RESET] 00:1c.2 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #3 [8086:a292] (rev f0) IOMMU group 47 64:0a.2 System peripheral [0880]: Intel Corporation Device [8086:2042] (rev 04) IOMMU group 75 b2:05.4 PIC [0800]: Intel Corporation Device [8086:2036] (rev 04) IOMMU group 37 16:1d.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:2054] (rev 04) 16:1d.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:2055] (rev 04) 16:1d.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:2056] (rev 04) 16:1d.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:2057] (rev 04) IOMMU group 9 00:05.0 System peripheral [0880]: Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers [8086:2024] (rev 04) IOMMU group 65 64:0d.0 System peripheral [0880]: Intel Corporation Device [8086:2048] (rev 04) IOMMU group 27 [RESET] 04:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981 [144d:a808] USB devices: Bus 1 --> 0000:00:14.0 (IOMMU group 15) Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bus 001 Device 002: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub Bus 001 Device 005: ID 8087:0a2b Intel Corp. Bus 001 Device 004: ID 0781:5575 SanDisk Corp. Cruzer Glide Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 2 --> 0000:00:14.0 (IOMMU group 15) Bus 002 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 3 --> 0000:01:00.0 (IOMMU group 24) Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 4 --> 0000:01:00.0 (IOMMU group 24) Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 5 --> 0000:02:00.0 (IOMMU group 25) Bus 005 Device 005: ID 046d:c332 Logitech, Inc. G502 Proteus Spectrum Optical Mouse Bus 005 Device 006: ID 24f0:0141 Bus 005 Device 004: ID 2109:2812 VIA Labs, Inc. VL812 Hub Bus 005 Device 003: ID 045e:02ea Microsoft Corp. Xbox One S Controller Bus 005 Device 002: ID 2109:2812 VIA Labs, Inc. VL812 Hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 6 --> 0000:02:00.0 (IOMMU group 25) Bus 006 Device 003: ID 2109:0812 VIA Labs, Inc. VL812 Hub Bus 006 Device 002: ID 2109:0812 VIA Labs, Inc. VL812 Hub Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
January 24, 20197 yr It's not possible to install unraid on a hard drive. You have to use the USB drive as the license is tied to it. If a device doesn't support reset, it might be that you need to reboot unraid to get the device to work again if you shutdown or reboot the vm using it.
January 24, 20197 yr Author Thanks for the response saarg. I haven't yet purchased a license (still on the trial), so I'm not sure how that works. How does it know to tie it to the USB that you can't use a hard drive? Also, when you say it might not work, does that mean it still might? Something I'd just need to test? And any clues what the signal thing is for?
January 24, 20197 yr Community Expert 10 minutes ago, CWSpear said: Thanks for the response saarg. I haven't yet purchased a license (still on the trial), so I'm not sure how that works. How does it know to tie it to the USB that you can't use a hard drive? The license is tied to the GUID of the USB drive, and it needs to be present while Unraid is running. Unraid is loaded into RAM at boot so using a USB drive does not cause performance issues. While Unraid is running the USB drive is only used to store configuration information.
January 24, 20197 yr Author @itimpi yeah, it wasn't about performance or anything, it was about being able to pass another USB controller to a VM.
Archived
This topic is now archived and is closed to further replies.