Internal Audio Issue on TRX40 motherboard ([AMD] Starship/Matisse HD Audio Controller)

fabiosun

New Member
Mar 22, 2020
22
3
3
HI,
usually if I try to pass my matisse Audio controller my VM hangs, and this seems to be a common problem on AMD chipset (also older than mine)
23:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
Kernel driver in use: vfio-pci
23:00.1 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP [1022:1486]
Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP [1022:1486]
Kernel driver in use: ccp
Kernel modules: ccp
23:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Starship USB 3.0 Host Controller [1022:148c]
Subsystem: Micro-Star International Co., Ltd. [MSI] Starship USB 3.0 Host Controller [1462:7c60]
Kernel driver in use: xhci_hcd
23:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
Subsystem: Micro-Star International Co., Ltd. [MSI] Starship/Matisse HD Audio Controller [1462:cb60]
Kernel modules: snd_hda_intel

if I comment this line:
# FIXME: Remove this audio0 device at the next possible time
# see: https://pve.proxmox.com/pipermail/pve-devel/2019-July/038417.html
# https://pve.proxmox.com/pipermail/pve-devel/2019-July/038428.html
[device "audio0"]
driver = "ich9-intel-hda"
bus = "pcie.0"
addr = "1b.0"
VM starts and in web interface I have this log in Tasks:
kvm: vfio: Cannot reset device 0000:23:00.4, depends on group 30 which is not owned. kvm: vfio: Cannot reset device 0000:23:00.4, depends on group 30 which is not owned. TASK OK
Problems with audio are the same (bad audio , not stable, scratchy
May I debug with others data to give here?

oot@pve:~# pveversion -v
proxmox-ve: 6.2-1 (running kernel: 5.4.34-1-pve)
pve-manager: 6.2-4 (running version: 6.2-4/9824574a)
pve-kernel-5.4: 6.2-1
pve-kernel-helper: 6.2-1
pve-kernel-5.4.34-1-pve: 5.4.34-2
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.3-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.15-pve1
libproxmox-acme-perl: 1.0.3
libpve-access-control: 6.1-1
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.1-2
libpve-guest-common-perl: 3.0-10
libpve-http-server-perl: 3.0-5
libpve-storage-perl: 6.1-7
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.2-1
lxcfs: 4.0.3-pve2
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.2-1
pve-cluster: 6.1-8
pve-container: 3.1-5
pve-docs: 6.2-4
pve-edk2-firmware: 2.20200229-1
pve-firewall: 4.1-2
pve-firmware: 3.1-1
pve-ha-manager: 3.0-9
pve-i18n: 2.1-2
pve-qemu-kvm: 5.0.0-2
pve-xtermjs: 4.3.0-1
qemu-server: 6.2-2
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.3-pve1
root@pve:~#
Thank you
 
Hi,

The audio dev "audio0" is a virtual device and not a physical passthrough.
The "23: 00.4 Audio Device" physical audio device is not isolated in its own IOMMU group.
Please send the output of

Code:
find /sys/kernel/iommu_groups/ -type l
qm config <vmid>
 
  • Like
Reactions: fabiosun
Hi,

The audio dev "audio0" is a virtual device and not a physical passthrough.
The "23: 00.4 Audio Device" physical audio device is not isolated in its own IOMMU group.
Please send the output of
/sys/kernel/iommu_groups/55/devices/0000:49:00.0
/sys/kernel/iommu_groups/17/devices/0000:04:00.3
/sys/kernel/iommu_groups/45/devices/0000:41:00.0
/sys/kernel/iommu_groups/35/devices/0000:40:01.1
/sys/kernel/iommu_groups/7/devices/0000:00:07.0
/sys/kernel/iommu_groups/63/devices/0000:60:07.0
/sys/kernel/iommu_groups/25/devices/0000:20:07.1
/sys/kernel/iommu_groups/53/devices/0000:44:00.0
/sys/kernel/iommu_groups/15/devices/0000:03:00.0
/sys/kernel/iommu_groups/43/devices/0000:40:08.0
/sys/kernel/iommu_groups/33/devices/0000:23:00.4
/sys/kernel/iommu_groups/5/devices/0000:00:04.0
/sys/kernel/iommu_groups/61/devices/0000:60:04.0
/sys/kernel/iommu_groups/23/devices/0000:20:05.0
/sys/kernel/iommu_groups/51/devices/0000:48:00.0
/sys/kernel/iommu_groups/51/devices/0000:42:0a.0
/sys/kernel/iommu_groups/13/devices/0000:01:00.0
/sys/kernel/iommu_groups/41/devices/0000:40:07.0
/sys/kernel/iommu_groups/31/devices/0000:23:00.1
/sys/kernel/iommu_groups/3/devices/0000:00:02.0
/sys/kernel/iommu_groups/21/devices/0000:20:03.1
/sys/kernel/iommu_groups/11/devices/0000:00:14.3
/sys/kernel/iommu_groups/11/devices/0000:00:14.0
/sys/kernel/iommu_groups/68/devices/0000:62:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.1
/sys/kernel/iommu_groups/58/devices/0000:60:01.0
/sys/kernel/iommu_groups/48/devices/0000:42:05.0
/sys/kernel/iommu_groups/38/devices/0000:40:03.0
/sys/kernel/iommu_groups/66/devices/0000:60:08.1
/sys/kernel/iommu_groups/28/devices/0000:21:00.1
/sys/kernel/iommu_groups/28/devices/0000:21:00.0
/sys/kernel/iommu_groups/56/devices/0000:4a:00.0
/sys/kernel/iommu_groups/18/devices/0000:20:01.0
/sys/kernel/iommu_groups/46/devices/0000:42:02.0
/sys/kernel/iommu_groups/36/devices/0000:40:01.3
/sys/kernel/iommu_groups/8/devices/0000:00:07.1
/sys/kernel/iommu_groups/64/devices/0000:60:07.1
/sys/kernel/iommu_groups/26/devices/0000:20:08.0
/sys/kernel/iommu_groups/54/devices/0000:45:00.0
/sys/kernel/iommu_groups/16/devices/0000:04:00.0
/sys/kernel/iommu_groups/44/devices/0000:40:08.1
/sys/kernel/iommu_groups/34/devices/0000:40:01.0
/sys/kernel/iommu_groups/6/devices/0000:00:05.0
/sys/kernel/iommu_groups/62/devices/0000:60:05.0
/sys/kernel/iommu_groups/24/devices/0000:20:07.0
/sys/kernel/iommu_groups/52/devices/0000:43:00.0
/sys/kernel/iommu_groups/14/devices/0000:02:00.0
/sys/kernel/iommu_groups/42/devices/0000:40:07.1
/sys/kernel/iommu_groups/32/devices/0000:23:00.3
/sys/kernel/iommu_groups/4/devices/0000:00:03.0
/sys/kernel/iommu_groups/60/devices/0000:60:03.0
/sys/kernel/iommu_groups/22/devices/0000:20:04.0
/sys/kernel/iommu_groups/50/devices/0000:47:00.0
/sys/kernel/iommu_groups/50/devices/0000:42:09.0
/sys/kernel/iommu_groups/12/devices/0000:00:18.3
/sys/kernel/iommu_groups/12/devices/0000:00:18.1
/sys/kernel/iommu_groups/12/devices/0000:00:18.6
/sys/kernel/iommu_groups/12/devices/0000:00:18.4
/sys/kernel/iommu_groups/12/devices/0000:00:18.2
/sys/kernel/iommu_groups/12/devices/0000:00:18.0
/sys/kernel/iommu_groups/12/devices/0000:00:18.7
/sys/kernel/iommu_groups/12/devices/0000:00:18.5
/sys/kernel/iommu_groups/40/devices/0000:40:05.0
/sys/kernel/iommu_groups/30/devices/0000:23:00.0
/sys/kernel/iommu_groups/2/devices/0000:00:01.2
/sys/kernel/iommu_groups/59/devices/0000:60:02.0
/sys/kernel/iommu_groups/20/devices/0000:20:03.0
/sys/kernel/iommu_groups/49/devices/0000:46:00.3
/sys/kernel/iommu_groups/49/devices/0000:46:00.1
/sys/kernel/iommu_groups/49/devices/0000:46:00.0
/sys/kernel/iommu_groups/49/devices/0000:42:08.0
/sys/kernel/iommu_groups/10/devices/0000:00:08.1
/sys/kernel/iommu_groups/39/devices/0000:40:04.0
/sys/kernel/iommu_groups/67/devices/0000:61:00.0
/sys/kernel/iommu_groups/29/devices/0000:22:00.0
/sys/kernel/iommu_groups/0/devices/0000:00:01.0
/sys/kernel/iommu_groups/57/devices/0000:4b:00.0
/sys/kernel/iommu_groups/19/devices/0000:20:02.0
/sys/kernel/iommu_groups/47/devices/0000:42:04.0
/sys/kernel/iommu_groups/37/devices/0000:40:02.0
/sys/kernel/iommu_groups/9/devices/0000:00:08.0
/sys/kernel/iommu_groups/65/devices/0000:60:08.0
/sys/kernel/iommu_groups/27/devices/0000:20:08.1

root@pve:~# qm config 100
agent: 1
args: -smbios type=2 -cpu host,vendor=GenuineIntel,+invtsc
bios: ovmf
boot: d
cores: 64
cpu: host
efidisk0: local-lvm:vm-100-disk-1,size=4M
hostpci0: 21:00,pcie=1,x-vga=1
hostpci1: 01:00.0
hostpci10: 48:00
hostpci11: 04:00.3
hostpci2: 02:00.0
hostpci3: 00:14.0
hostpci4: 44:00
hostpci5: 45:00
hostpci6: 46:00
hostpci7: 23:00.3
hostpci8: 23:00.4
hostpci9: 47:00
machine: q35
memory: 121856
name: sierra
net0: vmxnet3=12:83:7D:28:45:26,bridge=vmbr0,firewall=1
numa: 1
ostype: other
scsihw: virtio-scsi-pci
smbios1: uuid=43051c32-3e2e-4f80-b7cc-d50def662b0b
sockets: 1
startup: down=20
tablet: 0
vga: none
vmgenid: 284011f9-380c-4bdf-b57f-08eda8f03bb9

In a Windows 64 bit Realtek USB 2.0 internal audio is perfect:

root@pve:~# qm config 104
bios: ovmf
bootdisk: sata0
cores: 64
cpu: host
efidisk0: local-lvm:vm-104-disk-1,size=4M
hostpci0: 21:00,pcie=1,x-vga=1
hostpci11: 04:00.3
hostpci4: 44:00
hostpci5: 45:00
hostpci6: 46:00
hostpci7: 23:00.3
hostpci8: 23:00.4
ide0: local:iso/virtio-win-0.1.173.iso,media=cdrom,size=384670K
machine: q35
memory: 65536
name: Windows
net0: e1000=B6:90:7C:45:AF:F9,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
sata0: local-lvm:vm-104-disk-0,size=32G
scsihw: virtio-scsi-pci
smbios1: uuid=89fee8df-5637-4f57-965d-e27c8ecf49ab
sockets: 1
tablet: 0
vga: none
vmgenid: 13d26033-ec05-455b-990c-cec2b600ee5b

I can pass easily all my controllers in my rig but audio in osx is not working
To see audio device in OSX I have to pass single USB device in this way:
usb1: host=xxxx:xxxx
if I pass 23:00.4 controller I cannot see Realtek audio device
in usb single way I can see and select but audio is bad

I think of a sort of interferences between usb and audio bridge

If I comment audio0 device , I can pass 23:00.4 controller without FLR kernel patch

attached my lspci -nnk output:


Thank you again for your attention
 

Attachments

  • lspci-nnk output.zip
    2.4 KB · Views: 1
Ok the IOMMU group is isolated.
But you have the Audio Dev in two different VM's.
Do you run them parallel?
 
  • Like
Reactions: fabiosun
No
I run 1 at once
OSX VM has audio problem
Windows 10 64 bit no problem at all
I think it is an OSX internal audio problem but I do not know how to solve for now
 
That could be possible. Maybe a Bios Update of the Mainboard will fix this in the future.
 
  • Like
Reactions: fabiosun

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!