Audio controller crashes Unraid


Recommended Posts

Hi All,

When i passthrough my onboard Soundcard to any of my VMs unraid will try to refresh the page and fail, you can however still navigate every other tab (ie: dashboard, tools, settings...) after 30-40 seconds the whole site then goes down. I have to hard crash out my server (Hold the power button)

The audio controller is in its own IOMMU group so im not quite shure whats going on.

Link to comment
11 hours ago, Zevulos said:

Mine does the same thing, the first CPU core for that VM goes to 100% and then crashes, what logs would you like ?

Could you post the VM log, VM XML and IOMMU groups? Also, do you have PCIe ACS Override enabled? My issue was with macOS High Sierra. I had fixed it by turning off PCIe ACS Override and adding the device ids of my PCIe devices to the vfio-pci.ids param of the syslinux configuration.

Main -> Flash -> Syslinux Configuration -> Unraid OS

Change the following device id(s), where 0000:0000, 0001:0001 are your device ids. To add more than these two just add another comma following the last device id. If you can't find your device id(s), post your IOMMU groupings and I'll take a look.

append vfio-pci.ids=0000:0000,0001:0001 initrd=/bzroot

 

Link to comment

@LiableLlama would vfio binding the audio in my iommu group work for passing through or does it have to be in a separate group on its own

 

IOMMU group 10:

[1022:1482] 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

[1022:1484] 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]

[1022:1485] 0e:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP

[1022:1486] 0e:00.1 Encryption controller: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP

[1022:149c] 0e:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller

[1022:1487] 0e:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller

Link to comment
47 minutes ago, fr05ty said:

@LiableLlama would vfio binding the audio in my iommu group work for passing through or does it have to be in a separate group on its own

 

IOMMU group 10:

[1022:1482] 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

[1022:1484] 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]

[1022:1485] 0e:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP

[1022:1486] 0e:00.1 Encryption controller: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP

[1022:149c] 0e:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller

[1022:1487] 0e:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller

You can bind it and it should work. Although, if it does not you can enable ACS PCIe Override and see if that makes any difference. It can cause weird issues though, usually it all works fine.

Link to comment
  • 4 months later...

Having the same problem as OP, running an Asus PRIME X570-PRO motherboard. 

 

Will try the syslinux tweak to blacklist the device id this afternoon to see if that works.

 

Been using my GPU's HDMI audio on my VM so far but I'm getting some audio glitches, yet to try the MSI registry fix. I noticed the audio started to be buggy after I enabled the XMP profile for my ram but not sure if the issue is related. 

Edited by supersaw
Link to comment
9 hours ago, supersaw said:

Been using my GPU's HDMI audio on my VM so far but I'm getting some audio glitches, yet to try the MSI registry fix.

MSI_util is THE fix for GPU HDMI audio issues.

There is no point considering any other faults and fixes until you apply that.

Edited by testdasi
Link to comment
13 hours ago, testdasi said:

MSI_util is THE fix for GPU HDMI audio issues.

There is no point considering any other faults and fixes until you apply that.

So I tried the MSI utility, it did not fix the issue, I turned off the ram XMP profile which also did not fix it. As a last ditch effort I went into the audio properties and changed sampling frequency from DVD (48khz) down to CD (44.1khz), it took ages to apply as throughout the glitching it felt like the audio device was being unresponsive but after it did it seemed to fix the audio issue. Rebooted twice and audio is still working so fingers crossed its permanent. 

 

13 hours ago, StaticHub said:

Hello @Adrian_C , have you have any solution for your problem?

I have the same problem, when i add the Starship/Matisse HD Audio Controller and start the VM my Unraid crash.

IOMMU:

imagem.png.df9316d76df78d4390bfc5535518dff4.png

 

VM sound Settings:

imagem.png.7b88cf46c118e617b2cfda55750d2442.png

 

Anyone pass through the same problem?

 

Same problem with the Matisse HD Audio Controller, I tried to blacklist in syslinux config to ensure host isn't grabbing it but the VM still crashes the host when I try to start it with this device passed through. I might try again later today and post the startup log to see if someone more knowledgable can pinpoint the issue. It's odd as the card is in it's own group on my Motherboard so I'd think that type of device is easier to pass through. 

  • Like 1
Link to comment

HDMI audio with my GPU works flawlessly.

 

I have not figured out how to pass through the audio unfortunately. 

When using a USB audio adapter i run into the MSI interrupt issue. However unlike HDMI audio I cannot get it fixed.

Edit: passing through entire controller had resolve this. So in the meanwhile I'm using USB audio ..

Edited by Adrian_C
Link to comment

I have the same issue on a MSI B450M Mortar MAX, with Ryzen 3900. But also when trying to pass through one of the onboard USB Controllers. One of them is in its own IOMMU Group. The behavior is the same as with the Audio Controller. My quick fix for the moment was to buy a cheap USB soundcard and pass this trough via the USB Pass-trough from the VM Config.

 

But also interested in a real solution. Mostly for the USB Controller 😶

Edited by sub6
Link to comment

Today I received a PCIe USB Controller, and tried to Pass-through that one. Kind of a similar situation. 😓

 

I added the ID to my Syslinux config. Then added the PCI device to my VM. When I start the VM, I see the Windows Circle Thing, but one CPU thread is hitting 100 % and I can't shut down the VM and Unraid starts behaving funny. I tired Downstream, Multifunction and also enabled Unsafe Interrupts. Maybe someone can help. Logs are attached. Since the behavior is similar to the one when passing through the internal Soundcard, I did not open another topic.

 

This is what I get from the libvirt log:

2020-01-04 22:43:31.316+0000: 6055: info : libvirt version: 5.8.0
2020-01-04 22:43:31.316+0000: 6055: info : hostname: clusterfuck
2020-01-04 22:43:31.316+0000: 6055: error : virUSBDeviceFindByVendor:218 : internal error: Did not find USB device 05ac:024f
2020-01-04 22:43:31.327+0000: 6055: warning : virHostdevReAttachUSBDevices:1812 : Unable to find device 003.002 in list of active USB devices
2020-01-04 22:43:31.327+0000: 6055: warning : virHostdevReAttachUSBDevices:1812 : Unable to find device 000.000 in list of active USB devices
2020-01-04 22:43:31.327+0000: 6055: warning : virHostdevReAttachUSBDevices:1812 : Unable to find device 000.000 in list of active USB devices
2020-01-04 22:43:36.244+0000: 6052: warning : qemuDomainObjTaint:9168 : Domain id=2 name='Gaming VM' uuid=2753a8bb-079e-35db-eef9-a12e93df5750 is tainted: high-privileges
2020-01-04 22:43:36.244+0000: 6052: warning : qemuDomainObjTaint:9168 : Domain id=2 name='Gaming VM' uuid=2753a8bb-079e-35db-eef9-a12e93df5750 is tainted: host-cpu
2020-01-04 22:45:14.588+0000: 6056: error : virProcessKillPainfullyDelay:405 : Failed to terminate process 7827 with SIGKILL: Device or resource busy
2020-01-04 22:45:14.588+0000: 6051: error : qemuMonitorIO:619 : internal error: End of file from qemu monitor
2020-01-04 22:45:38.807+0000: 7925: error : virPCIGetHeaderType:2855 : internal error: Unknown PCI header type '127' for device '0000:25:00.0'
2020-01-04 22:45:38.807+0000: 7925: error : virHostdevResetAllPCIDevices:667 : Failed to reset PCI device: internal error: Unknown PCI header type '127' for device '0000:25:00.0'

 

clusterfuck-diagnostics-20200104-2322.zip

Edited by sub6
Link to comment
  • 2 weeks later...
On 1/19/2020 at 7:29 AM, sub6 said:

Is this realy the only solution? Haven't found any article on that recommendation in the Wiki, otherwise I may would have bought Intel.

Looks like there is a kernel patch that fixes this issue. I think it's a case of x570 being really new as well as the uptake of Ryzen in general. 

Link to comment
  • 2 months later...
On 1/23/2020 at 10:55 PM, subivoodoo said:

supersaw thanks for this hint, it really works!

 

I've compiled a new 4.19.94 kernel for Unraid 6.8.1 with this Audio + USB kernel patch:

https://www.reddit.com/r/VFIO/comments/eba5mh/workaround_patch_for_passing_through_usb_and/

 

And now a can pass through onboard USB + audio without crashing Unraid any more.

 

How do i add this to a running server? Can u make a small guide 

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.