April 11, 201610 yr Hello unRAID community, I'm a hobbyist that was brought to unRAID via a feature on youtube, and I've loved learning and using it for a new VM workstation & storage build. I consider myself a novice outside of the Windows environment, but have been able to research and set up unRAID just fine until now. I had passed through a single USB controller to a VM with no problem using saarg's hostdev instructions, but am unable to passthrough a second USB controller using the same directions to a second VM. USB controller #1 on Bus 005 that worked on VM #1: ../../../devices/pci0000:00/0000:00:01.1/0000:02:00.0/usb5 vendor product ID - 02:00.0 0c03: 1b73:1100 (rev 10) /sys/kernel/iommu_groups/14/devices/0000:00:01.1 <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </source> </hostdev> USB controller #2 on Bus 007 that didn't work on VM #2: ../../../devices/pci0000:00/0000:00:1c.0/0000:06:00.0/usb7 vendor product ID - 06:00.0 0c03: 1b73:1100 (rev 10) /sys/kernel/iommu_groups/24/devices/0000:00:1c.0 <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x1c' function='0x0'/> </source> </hostdev> With the code added above to the VM xml, VM#1 posts fine but VM#2 returns the Execution error: Failed to bind PCI device '0000:00:1c.0' to vfio-pci: No such device I'm stuck and haven't been able to figure out if its something I'm doing wrong, if the issue is with the USB controllers having the same vendor product ID #, or if there is a better way entirely to add a USB controller to that second VM. The original youtube video warned about using multiple same-model USB devices when setting up VMs in the webGUI, but I don't know if that it translates the same to PCI controllers. I'd greatly appreciate any help from someone with more knowledge, and aside from some small nvidia audio problems this was the only hiccup in the new build. I've attached the syslog if it's of any use, and included system specs in the sig. Thanks so much in advance, Nifty abakua-diagnostics-20160411-1418.zip
April 11, 201610 yr You have passed through the pci bridge instead of the USB controller. The right pci address for VM1 is 02:00.0. The correct for the second VM is 06:00.0. When you use readlink to find the correct PCI device, you always use the last address.
April 11, 201610 yr Author saarg, thank you so much for your reply and and for all the help you've given to the community. Your posts have been invaluable in learning the platform. Using PCI address for VM2 06:00.0 makes the code: <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </source> </hostdev> .. which worked! For any others searching for similar problems, the VM kept returning errors after adding the above correct xml code. To get the passthrough to work I had to first go into the webGUI for the VM, make sure no 'USB Devices' were selected which had been plugged into that particular USB controller, and update. Then I went into the xml, corrected hostdev code, updated and it works perfectly.
Archived
This topic is now archived and is closed to further replies.