October 30, 201510 yr So I have read through the simple USB passthrough and the passthrough entire usb controller threads and am having a problem getting my USB PCIe USB controller to pass. Attached is a systemdevices.txt file with the iommu groups, pci devices, usb devices, etc. I also attached my vm xml file (saved as a text file so I can attach it) and system diagnostics. The error message I get is that it cannot assign the pci device. I am assuming this is because the PCI device I am trying to pass is grouped with a bunch of other devices. I understand there is the ACS override option, but I am not clear on the risks I would be taking and the help indicates to only do this if instructed. The addon PCI usb controller that I am trying to pass is the 08:00.0 USB controller: Fresco Logic Device 1100 (rev 10) motherboard is ASRock Z97 Extreme 6. Any suggestions would be greatly appreciated. htpc.txt tower-diagnostics-20151031-0854.zip systemdevices.txt
October 30, 201510 yr Under Tools -> System Devices -> IOMMU Groups, please copy and paste that here.
October 30, 201510 yr Author Here it is...it is in group 7 with a bunch of stuff. This info plus additional lspci info is in my original post...in the systemdevices.txt file. Also Bus 1 with the Lexar flash drive is UNRAID. Thanks for offering help! reason for modification...I updated bios and rebooted PC...the IOMMU groups changed. Also updated systemdevices.txt in the original post. Dan /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:14.0 /sys/kernel/iommu_groups/3/devices/0000:00:16.0 /sys/kernel/iommu_groups/4/devices/0000:00:19.0 /sys/kernel/iommu_groups/5/devices/0000:00:1a.0 /sys/kernel/iommu_groups/6/devices/0000:00:1b.0 /sys/kernel/iommu_groups/7/devices/0000:00:1c.0 /sys/kernel/iommu_groups/7/devices/0000:00:1c.2 /sys/kernel/iommu_groups/7/devices/0000:00:1c.3 /sys/kernel/iommu_groups/7/devices/0000:00:1c.6 /sys/kernel/iommu_groups/7/devices/0000:03:00.0 /sys/kernel/iommu_groups/7/devices/0000:04:00.0 /sys/kernel/iommu_groups/7/devices/0000:05:01.0 /sys/kernel/iommu_groups/7/devices/0000:05:03.0 /sys/kernel/iommu_groups/7/devices/0000:05:05.0 /sys/kernel/iommu_groups/7/devices/0000:05:07.0 /sys/kernel/iommu_groups/7/devices/0000:07:00.0 /sys/kernel/iommu_groups/7/devices/0000:08:00.0 /sys/kernel/iommu_groups/7/devices/0000:09:00.0 /sys/kernel/iommu_groups/7/devices/0000:0a:00.0 /sys/kernel/iommu_groups/8/devices/0000:00:1d.0 /sys/kernel/iommu_groups/9/devices/0000:00:1f.0 /sys/kernel/iommu_groups/9/devices/0000:00:1f.2 /sys/kernel/iommu_groups/9/devices/0000:00:1f.3
November 2, 201510 yr Here it is...it is in group 7 with a bunch of stuff. This info plus additional lspci info is in my original post...in the systemdevices.txt file. Also Bus 1 with the Lexar flash drive is UNRAID. Thanks for offering help! reason for modification...I updated bios and rebooted PC...the IOMMU groups changed. Also updated systemdevices.txt in the original post. Dan /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:14.0 /sys/kernel/iommu_groups/3/devices/0000:00:16.0 /sys/kernel/iommu_groups/4/devices/0000:00:19.0 /sys/kernel/iommu_groups/5/devices/0000:00:1a.0 /sys/kernel/iommu_groups/6/devices/0000:00:1b.0 /sys/kernel/iommu_groups/7/devices/0000:00:1c.0 /sys/kernel/iommu_groups/7/devices/0000:00:1c.2 /sys/kernel/iommu_groups/7/devices/0000:00:1c.3 /sys/kernel/iommu_groups/7/devices/0000:00:1c.6 /sys/kernel/iommu_groups/7/devices/0000:03:00.0 /sys/kernel/iommu_groups/7/devices/0000:04:00.0 /sys/kernel/iommu_groups/7/devices/0000:05:01.0 /sys/kernel/iommu_groups/7/devices/0000:05:03.0 /sys/kernel/iommu_groups/7/devices/0000:05:05.0 /sys/kernel/iommu_groups/7/devices/0000:05:07.0 /sys/kernel/iommu_groups/7/devices/0000:07:00.0 /sys/kernel/iommu_groups/7/devices/0000:08:00.0 /sys/kernel/iommu_groups/7/devices/0000:09:00.0 /sys/kernel/iommu_groups/7/devices/0000:0a:00.0 /sys/kernel/iommu_groups/8/devices/0000:00:1d.0 /sys/kernel/iommu_groups/9/devices/0000:00:1f.0 /sys/kernel/iommu_groups/9/devices/0000:00:1f.2 /sys/kernel/iommu_groups/9/devices/0000:00:1f.3 Dan, Sorry for the delayed reply. Thank you for sharing that. So here's the crux of the situation. The device you want to pass through to your VM is in an IOMMU group with other devices. Those devices include your storage controllers. The issue here with the ACS override is that it is essentially a hack to tell Linux that a hardware feature is present that really isn't (that feature being ACS). There is a very lengthy technical discussion that is linked in the wiki about IOMMU groups and the ACS override if you want to read the particulars, but the long and short of it is that with the override enabled, devices in the same group that are used with disparate VMs (or the host) concurrently could result in an issue. The most likely issue would be where one device intercepts a DMA request intended for another device. Our feeling is that if the devices in a group together are all graphics cards, the risk is manageable. At worst, you could see your VMs crash or maybe even a host crash (but I don't have that problem when I've used it). But if a device used by the host (unRAID) is in that group though, a bad DMA request due to this could result in problems on the host. Storage controllers are of the biggest concern for obvious reasons, but network and USB controllers are also a concern. All three of those types of devices are typically used by the host. So the #1 question you're wondering is "should I turn this on?" For any business environment, I would never turn it on, because the answer there is just to buy better hardware that supports the ACS feature (such as Xeon E5s and above or the new Extreme Edition desktop processors from Intel). Business customers shouldn't cut corners because quite frankly, they should be able to afford it. For a consumer though, you may not be in a situation where new hardware is "in the budget". So if you have good backups of your data, turning this feature on to try it out may be worth it to you. It's a personal decision for each user to make for themselves. I myself use it on two of my test systems (have been for over a year) and haven't witnessed any issues yet, but everyone's combination of hardware is different, and PCI devices can definitely behave differently from vendor to vendor. All of this said, if you try moving the PCIe USB controller to another physical PCI slot, you may get lucky and not need the ACS override. Each PCI slot could be mapped to a different root port, which may take it out of group 7 for you.
November 4, 201510 yr Author JonP, Thanks for the very detailed explanation! So I moved my PCIe USB card around and it stayed in the same IOMMU group with all of the PCI 2.0 slots. When I put it in the PCI 3.0 slot it ended up in the IOMMU group 1. However when I put it in this group the VM would not start...that being said I did not add the PCIe USB controller card to the xml...so maybe that is why it did not start. In looking at my group 1, should I attempt to pass it through or just proceed with the ACS overide? Dan
November 5, 201510 yr JonP, Thanks for the very detailed explanation! So I moved my PCIe USB card around and it stayed in the same IOMMU group with all of the PCI 2.0 slots. When I put it in the PCI 3.0 slot it ended up in the IOMMU group 1. However when I put it in this group the VM would not start...that being said I did not add the PCIe USB controller card to the xml...so maybe that is why it did not start. In looking at my group 1, should I attempt to pass it through or just proceed with the ACS overide? Dan Just to make sure, you set a pci-stub for the USB card in the syslinux.cfg file, right?
November 5, 201510 yr Author Jonp, I did not set a pci-stub for the USB card. I have searched through the forums and I understand what I need to do....I am away from my server so I will have to try this later today. Quick question...should I do this and then go back and retest the card in each slot to see if that makes a difference for the IOMMU grouping....or is this more for allowing the device to be passed through so unraid does not take control of it? Dan
November 6, 201510 yr Author So, I am making some progress but also have a major issue. I added the pci-stub for the PCIe USB controller. The card is in a PCI 3 slot and my motherboard CPU put it in the same IOMMU group as my GPU and the PCI bridge for the PCI x16 and PCI x8 controller. I added the PCI USB to the xml file and the the VM starts and passes the USB controller through to windows 7. Here is where it gets strange...after an hour of use, I installed a piece of software that needed a restart of the computer. From the taskbar I told windows to restart and after shutting down the screen went blank and never rebooted. But with whatever happened it took unraid down with it. I was unable to connect to the unraid web interface...I was also unable to telnet in to the console. I left it alone for an hour and decided to manually reboot. When the computer rebooted it did not load/boot unraid...it actually booted to a usb flash drive that I had inserted into the PCI USB controller that I just passed through. I pulled this flash drive and my PC booted to my bios as it did not see my unraid flash. once I pulled the only usb cable from the USB controller card that I passed through, only then did unraid come back. I then restarted my windows 7 VM...and then plugged the USB hub back into the passed through USB controller and it worked fine for a half hour...I then shut it down to see if all was well and it shutdown fine, I then attempted to restart the vm with no changes made and it crashed unraid completely again. Any suggestions? Do I need to pass the PCI bridge for the x16 and x8 ? So far I have done nothing with these. I was trying to avoid turning the ACS override on, but if having the USB controller in a PCI 3.0 slot is an issue, maybe I should move it to another slot and turn the ACS override on. Any suggestions would be greatly appreciated. Thanks, Dan Here is my xml: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>HTPC</name> <uuid>cce39c7c-b747-11c4-8710-f9f195c532fe</uuid> <metadata> <vmtemplate name="Custom" icon="windows7.png" os="windows7"/> </metadata> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='4' threads='1'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/Vdisks/HTPC/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/Win7_Pro_SP1_English_COEM_x64.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/virtio-win-0.1.110.iso'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:2b:5a:f7'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/HTPC.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc31c'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc01d'/> </source> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> </qemu:commandline> </domain> Here is my syslinux.cfg default /syslinux/menu.c32 menu title Lime Technology prompt 0 timeout 50 label unRAID OS menu default kernel /bzimage append pci-stub.ids=1b73:1100 initrd=/bzroot label unRAID OS Safe Mode (no plugins) kernel /bzimage append initrd=/bzroot unraidsafemode label Memtest86+ kernel /memtest Here is the output from my Tools...System Devices: System Devices PCI Devices 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:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 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.3 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 (rev d0) 00:1c.6 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 7 (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 Z97 LPC 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] Cedar [Radeon HD 5000/6000/7350/8350 Series] 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300 Series] 02:00.0 USB controller: Fresco Logic Device 1100 (rev 10) 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11) 05:00.0 PCI bridge: ASMedia Technology Inc. Device 1184 06:01.0 PCI bridge: ASMedia Technology Inc. Device 1184 06:03.0 PCI bridge: ASMedia Technology Inc. Device 1184 06:05.0 PCI bridge: ASMedia Technology Inc. Device 1184 06:07.0 PCI bridge: ASMedia Technology Inc. Device 1184 08:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02) 0a:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02) 0b:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller 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/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/2/devices/0000:00:14.0 /sys/kernel/iommu_groups/3/devices/0000:00:16.0 /sys/kernel/iommu_groups/4/devices/0000:00:19.0 /sys/kernel/iommu_groups/5/devices/0000:00:1a.0 /sys/kernel/iommu_groups/6/devices/0000:00:1b.0 /sys/kernel/iommu_groups/7/devices/0000:00:1c.0 /sys/kernel/iommu_groups/7/devices/0000:00:1c.2 /sys/kernel/iommu_groups/7/devices/0000:00:1c.3 /sys/kernel/iommu_groups/7/devices/0000:00:1c.6 /sys/kernel/iommu_groups/7/devices/0000:04:00.0 /sys/kernel/iommu_groups/7/devices/0000:05:00.0 /sys/kernel/iommu_groups/7/devices/0000:06:01.0 /sys/kernel/iommu_groups/7/devices/0000:06:03.0 /sys/kernel/iommu_groups/7/devices/0000:06:05.0 /sys/kernel/iommu_groups/7/devices/0000:06:07.0 /sys/kernel/iommu_groups/7/devices/0000:08:00.0 /sys/kernel/iommu_groups/7/devices/0000:0a:00.0 /sys/kernel/iommu_groups/7/devices/0000:0b:00.0 /sys/kernel/iommu_groups/8/devices/0000:00:1d.0 /sys/kernel/iommu_groups/9/devices/0000:00:1f.0 /sys/kernel/iommu_groups/9/devices/0000:00:1f.2 /sys/kernel/iommu_groups/9/devices/0000:00:1f.3 USB Devices Bus 006 Device 002: ID 8087:8001 Intel Corp. Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 012: ID 046d:c31c Logitech, Inc. Keyboard K120 Bus 003 Device 011: ID 046d:c01d Logitech, Inc. MX510 Optical Mouse Bus 003 Device 010: ID 5453:5038 Bus 003 Device 009: ID 05e3:0607 Genesys Logic, Inc. Logitech G110 Hub Bus 003 Device 004: ID 05e3:0607 Genesys Logic, Inc. Logitech G110 Hub Bus 003 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub Bus 003 Device 002: ID 0566:3002 Monterey International Corp. Keyboard Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 002: ID 8087:8009 Intel Corp. Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 174c:3074 ASMedia Technology Inc. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 174c:2074 ASMedia Technology Inc. Bus 001 Device 002: ID 05dc:a701 Lexar Media, Inc. JumpDrive FireFly Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub SCSI Devices [0:0:0:0] disk LEXAR JD FIREFLY 1100 /dev/sda [1:0:0:0] disk ATA WDC WD30EFRX-68E 0A82 /dev/sdb [2:0:0:0] disk ATA ST3500630AS E /dev/sdc [3:0:0:0] disk ATA WDC WD10EADS-00L 1A01 /dev/sdd [4:0:0:0] disk ATA WDC WD20EFRX-68E 0A80 /dev/sde [5:0:0:0] disk ATA ST3320620AS C /dev/sdf [6:0:0:0] disk ATA Samsung SSD 840 6B0Q /dev/sdg [7:0:0:0] disk ATA WDC WD1001FALS-0 0K05 /dev/sdh [8:0:0:0] disk ATA WDC WD20EARX-008 AB51 /dev/sdi [10:0:0:0] disk ATA WDC WD10EARX-00N AB51 /dev/sdj [11:0:0:0] disk RDP8 SD/microSD 1.00 /dev/sdk [11:0:0:1] disk RDP8 MS/M2 1.00 /dev/sdl [11:0:0:2] disk RDP8 CF 1.00 /dev/sdm
November 6, 201510 yr So, I am making some progress but also have a major issue. I added the pci-stub for the PCIe USB controller. The card is in a PCI 3 slot and my motherboard CPU put it in the same IOMMU group as my GPU and the PCI bridge for the PCI x16 and PCI x8 controller. I added the PCI USB to the xml file and the the VM starts and passes the USB controller through to windows 7. Ok, this is good and expected behavior. The two devices being in the same group is ok if they are going to be attached to the same VM. If you have one in use by the host and one in use by the VM, or one it use by one VM and the other in use by another VM, that's where you would need the ACS override. To be clear, you do NOT need the ACS override for your use-case. ...it actually booted to a usb flash drive that I had inserted into the PCI USB controller that I just passed through. Well, if the USB flash plugged in had a bootable sector on it and your BIOS had it set to be bootable from USB, then yeah, that can happen. Make sure you remove bootable storage devices other than the unRAID flash before rebooting in that situation. I pulled this flash drive and my PC booted to my bios as it did not see my unraid flash. once I pulled the only usb cable from the USB controller card that I passed through, only then did unraid come back. Sounds like faulty hardware or a buggy BIOS. I then restarted my windows 7 VM...and then plugged the USB hub back into the passed through USB controller and it worked fine for a half hour...I then shut it down to see if all was well and it shutdown fine, I then attempted to restart the vm with no changes made and it crashed unraid completely again. This is odd. So to confirm, without passing through the USB controller (just graphics), everything is fine. VM can reboot and unRAID doesn't crash or anything. But if you add the USB3 pass through, you have this issue. Correct? Any suggestions? Do I need to pass the PCI bridge for the x16 and x8 ? So far I have done nothing with these. I was trying to avoid turning the ACS override on, but if having the USB controller in a PCI 3.0 slot is an issue, maybe I should move it to another slot and turn the ACS override on. Do not attempt to pass through a bridge, it won't work. Those are not devices for assignment and nothing to do with your issue. The ACS override isn't necessary either for your situation and won't help you. One thing you can try is to change the way you are passing through the USB controller to the VM. Try changing your XML to this: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>HTPC</name> <uuid>cce39c7c-b747-11c4-8710-f9f195c532fe</uuid> <metadata> <vmtemplate name="Custom" icon="windows7.png" os="windows7"/> </metadata> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='4' threads='1'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/Vdisks/HTPC/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/Win7_Pro_SP1_English_COEM_x64.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/virtio-win-0.1.110.iso'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:2b:5a:f7'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/HTPC.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc31c'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc01d'/> </source> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=02:00.0,bus=root.2,addr=00.0,multifunction=on'/> </qemu:commandline> </domain> If that doesn't work or help, can you go into your BIOS and locate all your USB settings and anything relating to XHCI/EHCI mode and tell me what they are currently set to as well as what options exist for each setting? (Taking pics with your phone and sharing those is acceptable as well).
November 6, 201510 yr Author Jonp, I tried the xml file and I got the following error: Execution error internal error: early end of file from monitor: possible problem: 2015-11-06T18:55:46.256102Z qemu-system-x86_64: -device vfio-pci,host=02:00.0,bus=root.2,addr=00.0,multifunction=on: Bus 'root.2' not found Any suggestions? Also thank you for the detailed explainations...based on your response, my plan it to solve the USB passthrough without the ACS override. That being said when I add a second GPU, I will need to move the USB PCIe controller card to another slot and it looks like at that time I will need to turn on the ACS Override. Thanks, Dan
November 6, 201510 yr Jonp, I tried the xml file and I got the following error: Execution error internal error: early end of file from monitor: possible problem: 2015-11-06T18:55:46.256102Z qemu-system-x86_64: -device vfio-pci,host=02:00.0,bus=root.2,addr=00.0,multifunction=on: Bus 'root.2' not found Any suggestions? Also thank you for the detailed explainations...based on your response, my plan it to solve the USB passthrough without the ACS override. That being said when I add a second GPU, I will need to move the USB PCIe controller card to another slot and it looks like at that time I will need to turn on the ACS Override. Thanks, Dan My bad. Fixed XML below <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>HTPC</name> <uuid>cce39c7c-b747-11c4-8710-f9f195c532fe</uuid> <metadata> <vmtemplate name="Custom" icon="windows7.png" os="windows7"/> </metadata> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='4' threads='1'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/Vdisks/HTPC/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/Win7_Pro_SP1_English_COEM_x64.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/virtio-win-0.1.110.iso'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:2b:5a:f7'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/HTPC.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc31c'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc01d'/> </source> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=02:00.0,bus=root.1,addr=01.0,multifunction=on'/> </qemu:commandline> </domain>
November 7, 201510 yr Author Jonp, I updated the xml to your latest suggestion and I am able to pass the usb controller through...just the same as my first attempt. However when I shut the VM down Unraid completely crashed...I was unable to refresh the webgui and I was unable to telnet in to the console. If I don't pass the USB controller, it runs flawlessly for days. Dan
November 8, 201510 yr Jonp, I updated the xml to your latest suggestion and I am able to pass the usb controller through...just the same as my first attempt. However when I shut the VM down Unraid completely crashed...I was unable to refresh the webgui and I was unable to telnet in to the console. If I don't pass the USB controller, it runs flawlessly for days. Dan I'm curious about your BIOS settings for USB. Look for things like EHCI/XHCI handoff and other settings. Report back what settings are available, what they are currently set at, and what options are available for each.
November 9, 201510 yr Author Jonp, My unraid server is in rough shape. I had a disk get "red balled" and a second disk had 32 errors...but was still green. I will provide the USB settings over the next couple of days, as I want to get my server back up and running properly. I don't see any issues in my smart reports, I ran memtest overnight with no issues, and I have run reiserfsck on all disks and it is returning no corruptions found. Attached is my diagnostics captured just once I realized I had a disabled disk. I seem to get these unexplained drive crashes....I have had several over the past two years...but have never discovered the cause. At one point someone on the forums suggested possibly a power supply issue that randomly occurs and since ...I had a corsair TX750....so I swapped to a Corsair TX650 power supply from another PC just to eliminate that possibility. Also I installed all new Sata cables. Attached is my diagnostics in case you are interested in taking a peak. Dan tower-diagnostics-20151107-1556.zip
November 9, 201510 yr Jonp, My unraid server is in rough shape. I had a disk get "red balled" and a second disk had 32 errors...but was still green. I will provide the USB settings over the next couple of days, as I want to get my server back up and running properly. I don't see any issues in my smart reports, I ran memtest overnight with no issues, and I have run reiserfsck on all disks and it is returning no corruptions found. Attached is my diagnostics captured just once I realized I had a disabled disk. I seem to get these unexplained drive crashes....I have had several over the past two years...but have never discovered the cause. At one point someone on the forums suggested possibly a power supply issue that randomly occurs and since ...I had a corsair TX750....so I swapped to a Corsair TX650 power supply from another PC just to eliminate that possibility. Also I installed all new Sata cables. Attached is my diagnostics in case you are interested in taking a peak. Dan Dan, Let me ask, did you ever run any of the earlier unRAID 6 betas using the data on this system? I'm curious specifically if you ever ran beta 7 or 8. It looks like you have all reiserfs disks in your system, and I'm curious if you had some corruption of data. I would need to confer with Tom on this a bit, but it's just something I thought I'd ask.
November 9, 201510 yr Author Jonp, I never ran beta 7 or 8....I didn't convert until 6.01 stable was released...no betas were ever installed. That being said a couple of years ago I had a Sil3132 based add-on sata card. I ran this card for several months and then read postings from other users that this card was causing silent corruption issues. I pulled that card as soon as I learned of this...however could it have caused some background issues that I am still seeing now? Here is a link to that silent corruption issue: http://lime-technology.com/forum/index.php?topic=21052.0
November 9, 201510 yr Is this still the same data set since then? Without having read through the other thread, I do have to wonder. I would suggest starting fresh with xfs formatted disks. I know that will take some time, but it will be hard to diagnose the root cause of these issues because it doesn't look like this is an unRAID issue on the surface..
November 10, 201510 yr Author Jonp, At this point converting to XFS is my only option as I have already replaced the motherboard, memory, cpu, hard drive cables and power supply. The only original equipment is my hard drives and my unraid flash drive. System recently locked up and I grabbed a screenshot from htop...see the 500% CPU usage. I was unable to get diagnostics as when I typed this in telnet it said collecting information....then never returned anything...telnet session locked up. The odd thing is that the VM with windows7 was still running. Hopefully once I am stable, I will get back to the USB passthrough issues. Dan
November 30, 201510 yr Author JonP, I went through the process of converting all my reiserfs drives to xfs. Unraid has been stable...so I am back to my USB Controller Passthough. In your last post you requested by bios USB settings. Here are some pictures (first is what everthing is set at...others are the choices as you click on each in bios): https://www.dropbox.com/s/5vo3z5yw6koett0/unraid%20usb.jpg?dl=0 https://www.dropbox.com/s/bgq2e5o51kaljhc/unraid%20usb-2.jpg?dl=0 https://www.dropbox.com/s/zag33m6rbgln2zp/unraid%20usb-3.jpg?dl=0 https://www.dropbox.com/s/mdmjwusph1pwplx/unraid%20usb-4.jpg?dl=0 https://www.dropbox.com/s/uxytej89ft3hdjc/unraid%20usb-5.jpg?dl=0 https://www.dropbox.com/s/spht1npomflso4t/unraid%20usb-6.jpg?dl=0 https://www.dropbox.com/s/u8zrh1c3u0cpcrh/unraid%20usb-7.jpg?dl=0 Let me know you thoughts on these settings...now that unraid is stable I would like to get the USB passthrough worked out. If you recall, I can get it to passthrough...but the VM locks up and it takes unraid down completely...can not telnet in, have to powercycle server. Thanks, Dan PCI Devices 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: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.3 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 (rev d0) 00:1c.6 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 7 (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 Z97 LPC 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] Cedar [Radeon HD 5000/6000/7350/8350 Series] 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300 Series] 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11) 04:00.0 PCI bridge: ASMedia Technology Inc. Device 1184 05:01.0 PCI bridge: ASMedia Technology Inc. Device 1184 05:03.0 PCI bridge: ASMedia Technology Inc. Device 1184 05:05.0 PCI bridge: ASMedia Technology Inc. Device 1184 05:07.0 PCI bridge: ASMedia Technology Inc. Device 1184 06:00.0 USB controller: Fresco Logic Device 1100 (rev 10) 07:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02) 09:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02) 0a:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller IOMMU Groups Warning: Your system has booted with the PCIe ACS Override setting enabled. The below list doesn't not reflect the way IOMMU would naturally group devices. To see natural IOMMU groups for your hardware, go to the VM Settings page and set the PCIe ACS Override setting to No. /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:14.0 /sys/kernel/iommu_groups/3/devices/0000:00:16.0 /sys/kernel/iommu_groups/4/devices/0000:00:19.0 /sys/kernel/iommu_groups/5/devices/0000:00:1a.0 /sys/kernel/iommu_groups/6/devices/0000:00:1b.0 /sys/kernel/iommu_groups/7/devices/0000:00:1c.0 /sys/kernel/iommu_groups/8/devices/0000:00:1c.2 /sys/kernel/iommu_groups/9/devices/0000:00:1c.3 /sys/kernel/iommu_groups/10/devices/0000:00:1c.6 /sys/kernel/iommu_groups/11/devices/0000:00:1d.0 /sys/kernel/iommu_groups/12/devices/0000:00:1f.0 /sys/kernel/iommu_groups/12/devices/0000:00:1f.2 /sys/kernel/iommu_groups/12/devices/0000:00:1f.3 /sys/kernel/iommu_groups/13/devices/0000:01:00.0 /sys/kernel/iommu_groups/13/devices/0000:01:00.1 /sys/kernel/iommu_groups/14/devices/0000:03:00.0 /sys/kernel/iommu_groups/15/devices/0000:04:00.0 /sys/kernel/iommu_groups/16/devices/0000:05:01.0 /sys/kernel/iommu_groups/17/devices/0000:05:03.0 /sys/kernel/iommu_groups/18/devices/0000:05:05.0 /sys/kernel/iommu_groups/19/devices/0000:05:07.0 /sys/kernel/iommu_groups/20/devices/0000:06:00.0 /sys/kernel/iommu_groups/21/devices/0000:07:00.0 /sys/kernel/iommu_groups/22/devices/0000:09:00.0 /sys/kernel/iommu_groups/23/devices/0000:0a:00.0 USB Devices Bus 006 Device 002: ID 8087:8001 Intel Corp. Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 002: ID 8087:8009 Intel Corp. Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 174c:3074 ASMedia Technology Inc. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 0566:3002 Monterey International Corp. Keyboard Bus 001 Device 014: ID 046d:c31c Logitech, Inc. Keyboard K120 Bus 001 Device 013: ID 046d:c01d Logitech, Inc. MX510 Optical Mouse Bus 001 Device 011: ID 05e3:0607 Genesys Logic, Inc. Logitech G110 Hub Bus 001 Device 006: ID 05e3:0607 Genesys Logic, Inc. Logitech G110 Hub Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. Hub Bus 001 Device 003: ID 174c:2074 ASMedia Technology Inc. Bus 001 Device 002: ID 05dc:a701 Lexar Media, Inc. JumpDrive FireFly Bus 001 Device 015: ID 5453:5038 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub XML File: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>HTPC</name> <uuid>cce39c7c-b747-11c4-8710-f9f195c532fe</uuid> <metadata> <vmtemplate name="Custom" icon="windows7.png" os="windows7"/> </metadata> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='4' threads='1'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/Vdisks/HTPC/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/Win7_Pro_SP1_English_COEM_x64.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/virtio-win-0.1.110.iso'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:2b:5a:f7'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/HTPC.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc31c'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc01d'/> </source> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=06:00.0,bus=root.1,addr=00.1,multifunction=on'/> </qemu:commandline> </domain>
December 1, 201510 yr Author JonP, As a follow up to my last post...I was looking through my XML file and realized that I was passing my keyboard and mouse though to the VM....once the VM was running with the PCIe USB controller passed through, I moved the usb cable that feeds the hub for the keyboard and mouse to the USB controller that I passed through. Would this cause the VM and unraid to crash? Dan
December 1, 201510 yr Author JonP, This thread took a turn...I have unraid stable...by converting disks from reiserfs to xfs. So I am getting back to this post below from earlier in the thread where you requested information from me as I am having an issue where passing a PCIe USB controller through is causing my entire unraid server to crash. A couple posts above I pasted dropbox links to photos of my USB settings in the bios per your request. Thanks for looking! Dan Jonp, I updated the xml to your latest suggestion and I am able to pass the usb controller through...just the same as my first attempt. However when I shut the VM down Unraid completely crashed...I was unable to refresh the webgui and I was unable to telnet in to the console. If I don't pass the USB controller, it runs flawlessly for days. Dan I'm curious about your BIOS settings for USB. Look for things like EHCI/XHCI handoff and other settings. Report back what settings are available, what they are currently set at, and what options are available for each.
December 1, 201510 yr Ok, in short, I would not have expected that behavior (the crash) but its not impossible to happen if the hardware is a bit buggy.
December 1, 201510 yr Author JonP, What hardware are you referring to being buggy? Any suggestions on how to proceed? My intent was to pass through the Inateck PCIe USB controller...this controller will have a single USB3 hub connected to it at my VM location for connecting flash drives, usb DVD etc. My hardware is as follows: Motherboard: AsRock Z97 Extreme6 (running most current bios 10/19/2015) CPU: i7 4790K Ram: (2) 8gb G. Skill Trident DDR3 GPU: HD5450 PCIe USB: Inateck PCIe USB 3.0 controller. Here is the link: http://www.amazon.com/Inateck-Express-Connector-Controller-Internal/dp/B00FPIMJEW
Archived
This topic is now archived and is closed to further replies.