**VIDEO GUIDE - A little about Passthrough, IOMMU Groups and breaking them up **


Recommended Posts

Hi guys. This video is about PCIe passthrough. It discusses what IOMMU is and how it works, the PCIe architecture and how it can effect iommu groupings. The video also shows some solutions for dealing with passing through devices when they are not alone in an iommu group. Hope its useful.

 

 

Edited by gridrunner
  • Like 1
  • Thanks 1
  • Upvote 2
Link to comment
  • 2 months later...

I am trying to pass-through my on-board audio card (S1220A), but not successful.

 

I tried all three options in your youtube video and none of them allows me to start the VM with the audio card passed through.

 

No matter what I do, the IOMMU group includes the four devices below. When using the multifunction command, the group number changes, but the four devices stay grouped.

 

IOMMU group 13: [8086:a2d2] 00:1f.0 ISA bridge: Intel Corporation Device a2d2
  [8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series PCH PMC
  [8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
  [8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series PCH SMBus Controller

 

I can get the audio card to passthrough with two different syslinux configs:

 

append vfio-pci.ids=8086:a2f0 modprobe.blacklist=i2c_i801,i2c_smbus initrd=/bzroot

append pcie_acs_override=downstream vfio-pci.ids=8086:a2f0 modprobe.blacklist=i2c_i801,i2c_smbus initrd=/bzroot

 

I don't get an error message and can start the VM. However, the audio card is not visible in Windows. Log file reveals that something is still wrong.

 

2018-07-22T03:10:12.081712Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.3, no available reset mechanism.

 

Any thoughts? @gridrunner @matthope

Edited by steve1977
Link to comment
8 minutes ago, steve1977 said:

Any thoughts on this issue and how to address?

 

I know it sounds stupid, but have you tried to power off your server (remove the ac plug for 10 seconds) ? Sometime in my case the motherboard seems to lockup the control of the i2c bus. The only way to make it work again is to power it off. Hope it will help.

Link to comment
On 7/22/2018 at 11:15 AM, steve1977 said:

I am trying to pass-through my on-board audio card (S1220A), but not successful.

 

I tried all three options in your youtube video and none of them allows me to start the VM with the audio card passed through.

 

No matter what I do, the IOMMU group includes the four devices below. When using the multifunction command, the group number changes, but the four devices stay grouped.

 

IOMMU group 13: [8086:a2d2] 00:1f.0 ISA bridge: Intel Corporation Device a2d2
  [8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series PCH PMC
  [8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
  [8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series PCH SMBus Controller

 

I can get the audio card to passthrough with two different syslinux configs:

 

append vfio-pci.ids=8086:a2f0 modprobe.blacklist=i2c_i801,i2c_smbus initrd=/bzroot

append pcie_acs_override=downstream vfio-pci.ids=8086:a2f0 modprobe.blacklist=i2c_i801,i2c_smbus initrd=/bzroot

 

I don't get an error message and can start the VM. However, the audio card is not visible in Windows. Log file reveals that something is still wrong.

 

2018-07-22T03:10:12.081712Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.3, no available reset mechanism.

 

Any thoughts? @gridrunner @matthope

 

There is some more in the log this time. Please see the full one below. Thanks for any thoughts you may have to trouble-shoot?

 

2018-07-28 12:40:32.264+0000: Domain id=1 is tainted: high-privileges
2018-07-28 12:40:32.264+0000: Domain id=1 is tainted: custom-argv
2018-07-28 12:40:32.264+0000: Domain id=1 is tainted: host-cpu
2018-07-28T12:40:32.303473Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2018-07-28T12:40:32.970282Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.3, no available reset mechanism.
2018-07-28T12:40:32.974277Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.3, no available reset mechanism.
usb_desc_get_descriptor: 2 unknown type 33 (len 10)
usb_desc_get_descriptor: 1 unknown type 33 (len 10)
usb_desc_get_descriptor: 1 unknown type 33 (len 10)

Link to comment
On 7/28/2018 at 8:03 PM, steve1977 said:

 

There is some more in the log this time. Please see the full one below. Thanks for any thoughts you may have to trouble-shoot?

 

2018-07-28 12:40:32.264+0000: Domain id=1 is tainted: high-privileges
2018-07-28 12:40:32.264+0000: Domain id=1 is tainted: custom-argv
2018-07-28 12:40:32.264+0000: Domain id=1 is tainted: host-cpu
2018-07-28T12:40:32.303473Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2018-07-28T12:40:32.970282Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.3, no available reset mechanism.
2018-07-28T12:40:32.974277Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.3, no available reset mechanism.
usb_desc_get_descriptor: 2 unknown type 33 (len 10)
usb_desc_get_descriptor: 1 unknown type 33 (len 10)
usb_desc_get_descriptor: 1 unknown type 33 (len 10)

 

I don't know for the usb_desc, but the others are normal.

Link to comment
On 7/30/2018 at 5:40 AM, steve1977 said:

What about the "cannot reset device"? I thought this poses an issue? If not, anything I need to do to make my VM "see" the audio card?

 

Like I said that's normal. 

 

There is actually no reset mecanism for this device, so when the VM start the peripheral must be already in a appropriate state. That's why you need to blacklist the i2c bus and that a power cycle could resolve this issue (sadly not in your case). You could do a lsmod to see if a i2c driver is loaded, after that your only chance are the redhat mail chain.

Edited by matthope
Link to comment
  • 5 weeks later...

I disconnected from AC for some more time, but still not working. I still keep seeing below error in the log. Any more thoughts? Anything I can help to provide for trouble-shooting?

 

2018-07-28T12:40:32.970282Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.3, no available reset mechanism.
2018-07-28T12:40:32.974277Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:1f.3, no available reset mechanism.

Link to comment
  • 4 weeks later...

Is there any way to use a network adapter for pfsense without passing it though as I want the ability to use a 10gb adapter to access unraid array, plex media library and pfsense ethernet cahce

Link to comment
  • 1 year later...

For me the only way to fix this as I am not confident to install custom kernals nor understand how to insert the GPU into the XML was to reverse the change that caused the problem.

 

Which was the bios update for ASUS mobo users I highly recommend the video link below to do this it is obviously very risky but was very rewarding when I saw my VM screen once again.

 

https://youtu.be/DwJS8-GTgRU

 

Sorry if someone has already highlighted this option.

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.