Trouble separating PCI soundcard and ethernet controller IOMMU group


remati

Recommended Posts

I'm having trouble assigning my Creative Sound Blaster card to a Windows 10 VM. I am getting this error on the VM start up:

internal error: process exited while connecting to monitor: 
2016-12-31T22:21:07.766813Z qemu-system-x86_64: -device vfio-pci,host=03:00.0,id=hostdev2,bus=pci.0,addr=0x8: vfio: error, group 6 is not viable, please ensure all devices within the iommu_group are bound to their vfio bus driver.
2016-12-31T22:21:07.766838Z qemu-system-x86_64: -device vfio-pci,host=03:00.0,id=hostdev2,bus=pci.0,addr=0x8: vfio: failed to get group 6
2016-12-31T22:21:07.766847Z qemu-system-x86_64: -device vfio-pci,host=03:00.0,id=hostdev2,bus=pci.0,addr=0x8: Device initialization failed

 

I was hoping after enabling the PCIe ACS Override option that the soud card would be in its own IOMMU group but that doesn't seem to be the case. It is in the IOMMU group 6 along with the ethernet controller and two PCI bridges #5 & #8.

 

I did try to force the Creative card into its own group by tweaking the syslinux.cfg append line to:

append pcie_acs_override=downstream,id:1102:0012 initrd=/bzroot

But the outcome is still the same below.

 

Any other suggestions for me to try?

 

00:00.0 Host bridge [0600]: Intel Corporation Skylake Host Bridge/DRAM Registers [8086:191f] (rev 07)
00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1)
00:1c.7 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #8 [8086:a117] (rev f1)
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a148] (rev 31)
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] [1002:683f]
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series] [1002:aab0]
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
03:00.0 Audio device [0403]: Creative Labs Sound Core3D [sound Blaster Recon3D / Z-Series] [1102:0012] (rev 01)

 

/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:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.0
/sys/kernel/iommu_groups/4/devices/0000:00:16.0
/sys/kernel/iommu_groups/5/devices/0000:00:17.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7
/sys/kernel/iommu_groups/6/devices/0000:02:00.0
/sys/kernel/iommu_groups/6/devices/0000:03:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.2
/sys/kernel/iommu_groups/8/devices/0000:00:1f.3
/sys/kernel/iommu_groups/8/devices/0000:00:1f.4
/sys/kernel/iommu_groups/9/devices/0000:01:00.0
/sys/kernel/iommu_groups/9/devices/0000:01:00.1

Link to comment

Different PCIe slot

 

Hey squid, I tried putting the card in a different PCIE slot and it gets moved into the IMMOU group 5 but the Ethernet card along with the others from the previous group 6 get moved along also. I'm guessing this isn't what normally happens right?

 

try

 

append pcie_acs_override=downstream=id:1102:0012 initrd=/bzroot

 

I don't know if there is a difference between = and , in the code, but when tried something similar and  used = it separated ineligible audio off of a graphics card and worked for me.

 

I gave it a shot 1812 but replacing the comma with an = had no affect.

 

Link to comment
  • 4 weeks later...
  • 1 year later...

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.