Passing through USB3/SATA controller - which method?


snidera

Recommended Posts

I want to add Bluray drives to my Win10 VM for ripping.  Tried a couple methods that didn't work, so I bought a PCI-E x1 card that has 4x USB3.0 & 2x SATA.  I want to pass through the whole controller.

 

Currently, I've tried the <hostdev> method from here Simpler / Easier PCI Device Pass Through for NON-GPUs

There were 5 devices & I was suspect about not seperating IOMMU groups, but I tried it anyway - now Unraid webgui is unresponsive (chrome shows 'waiting for 192....'

I can SSH in & SMB shares are still functioning.  Going to reboot using ssh.

I have a monitor hooked to it, it was at the login prompt before, now it has scrolled through some output ending with a 'stop trace....' statement.  I can't decipher any of it, but it was definitely related.

 

IOMMU groups /PCI info that I want to pass through (group 12/13/14 - these were new after installing the card & I believe are all that are new)

I already have a vfio-pci.ids entry in my go file(to get the audio to pass through with iGPU), how do I separate multiples?  I've never seen an example with multiple entries to know whether it's a space, comma, etc.

IOMMU group 0
	[8086:191f] 00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)
IOMMU group 1
	[8086:1912] 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
IOMMU group 2
	[8086:a12f] 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
	[8086:a131] 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
IOMMU group 3
	[8086:a13a] 00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
IOMMU group 4
	[8086:a102] 00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31)
IOMMU group 5
	[8086:a169] 00:1b.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Root Port #19 (rev f1)
IOMMU group 6
	[8086:a16a] 00:1b.3 PCI bridge: Intel Corporation Sunrise Point-H PCI Root Port #20 (rev f1)
IOMMU group 7
	[8086:a112] 00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #3 (rev f1)
IOMMU group 8
	[8086:a114] 00:1c.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)
IOMMU group 9
	[8086:a118] 00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)
IOMMU group 10
	[8086:a144] 00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
	[8086:a121] 00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
	[8086:a170] 00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
	[8086:a123] 00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
IOMMU group 11
	[8086:15b8] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
IOMMU group 12
	[1b21:1182] 02:00.0 PCI bridge: ASMedia Technology Inc. Device 1182
IOMMU group 13
	[1b21:1182] 03:03.0 PCI bridge: ASMedia Technology Inc. Device 1182
	[1106:3483] 04:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01)
IOMMU group 14
	[1b21:1182] 03:07.0 PCI bridge: ASMedia Technology Inc. Device 1182
	[1b21:0612] 05:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
IOMMU group 15
	[1000:0072] 07:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)

I added this to the (functioning) win10  xml.

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
    </hostdev>
	    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x03' function='0x0'/>
      </source>
    </hostdev>
	    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
    </hostdev>
	    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x07' function='0x0'/>
      </source>
    </hostdev>
	    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
    </hostdev>

 

Edited by snidera
Link to comment

OK, so it was fully hung up.  shutdown -h now via ssh failed, so I did what I should have done first thing - held the power button down.

 

Now it somewhat works - USB & SATA controller show up in the 'edit' page of the VM.  I was going to make a change to overwrite the xml...

 

SATA BR Drive shows up in windows, but I can't read data from the disk - the folder structure works, but I can't access files - do I need vertio drivers?  

 

ETA - thanks Bob, thought I'd try comma first, but hadn't killed power yet.

Edited by snidera
Link to comment

I have:

Stubbed out all 5 PCI addresses in syslinux

checked both the USB3 & SATA in the VM config page

 

BR drive shows up in win 10, Device manager recognizes proper DR Model, recognizes a disk (DVD & CD audio), I can see the files in explorer, but I cannot PLAY anything.   MakeMKV says it cannot find an optical disk it can use.   

 

Google says this controller doesn't play nice with Optical drives.  bought this & a USB/SATA adapter that both don't work.  geeesh.

Edited by snidera
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.