# MSI TRX40 PRO WIFI - No Sound



## S0urc3C0de (Jan 25, 2020)

Hello,

I've recently bought a new PC with an AMD Ryzen Threadripper 3970X on an MSI TRX40 PRO WIFI mainboard.
Suprisingly, everything worked pretty much out of the box - no strange kernel panics or anything like that.
However, sound does not.
I had already installed Windows 10 and Gentoo Linux before FreeBSD and both worked perfectly fine. The only thing that seems a little strange to me is the fact that both Windows and Linux recognize my audio controller as a USB device which means that, on Linux, the correct driver is actually the USB MIDI driver and not the snd_hda_realtek stuff.
With that in mind, the first thing I did on FreeBSD was to load the snd_uaudio(4) driver, but I guess if that worked I wouldn't currently be writing this post 

I tried various things that other people with similar problems did (different pin config etc.) but nothing worked. I realized, however, that the audio controller itself is actually detected fine (as seen on dmesg) but there's simply no codec being loaded for it (if that is the correct way to say it - not a native speaker, sorry) and, thus, also no PCM device(s). Naturally, I tried loading all the snd drivers using snd_driver to see if any of those worked, but nope. I even updated the kernel to the latest stable (see uname output) in the hopes that the issue might've simply been patched in the meantime but, unfortunately, that was another nope.
So, for me, everything looks like unsupported hardware or a driver bug - but I'm still pretty much a newbie in FreeBSD. I hope that you can tell me something different or see something that I overlooked.

I should add that I have two NVIDIA GeForce GTX 780 running whose audio functionality, apparently, works just fine.

I also saw the other thread on this forum about the new Threadrippers and its hardware compatibility etc. but for them, sound didn't seem to be an issue at all which might indicate some mainboard specific issue. The hardware itself is fine though. Like I said, I had already installed Windows 10 and Gentoo Linux and both worked and work without any issues whatsoever.


```
[s0urc3c0de@s0urc3c0de ~]$ dmesg|egrep "hda|pcm"
hdac0: <NVIDIA (0x0e1a) HDA Controller> mem 0xc1080000-0xc1083fff at device 0.1 on pci5
hdac0: PCI card vendor: 0x3842, device: 0x1784
hdac0: HDA Driver Revision: 20120126_0002
hdac0: Config options: on=0x00000000 off=0x00000000
hdac0: attempting to allocate 1 MSI vectors (1 supported)
hdac0: using IRQ 293 for MSI
hdac0: Caps: OSS 4, ISS 4, BSS 0, NSDO 4, 64bit, CORB 256, RIRB 256
hdac1: <AMD (0x1487) HDA Controller> mem 0xc1400000-0xc1407fff at device 0.4 on pci7
hdac1: PCI card vendor: 0x1462, device: 0xcb60
hdac1: HDA Driver Revision: 20120126_0002
hdac1: Config options: msi 64bit
hdac1: Config options: on=0x00000000 off=0x00000000
hdac1: attempting to allocate 1 MSI vectors (1 supported)
hdac1: using IRQ 295 for MSI
hdac1: Caps: OSS 4, ISS 4, BSS 0, NSDO 1, 64bit, CORB 256, RIRB 256
hdac2: <NVIDIA (0x0e1a) HDA Controller> mem 0xd9080000-0xd9083fff at device 0.1 on pci17
hdac2: PCI card vendor: 0x3842, device: 0x2784
hdac2: HDA Driver Revision: 20120126_0002
hdac2: Config options: on=0x00000000 off=0x00000000
hdac2: attempting to allocate 1 MSI vectors (1 supported)
hdac2: using IRQ 337 for MSI
hdac2: Caps: OSS 4, ISS 4, BSS 0, NSDO 4, 64bit, CORB 256, RIRB 256
hdacc0: <NVIDIA (0x0044) HDA CODEC> at cad 0 on hdac0
hdaa0: <NVIDIA (0x0044) Audio Function Group> at nid 1 on hdacc0
hdaa0: Subsystem ID: 0x38421784
hdaa0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0
hdaa0: Original pins configuration:
hdaa0: nid   0x    as seq device       conn  jack    loc        color   misc
hdaa0:  4 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa0:  5 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa0:  6 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa0:  7 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa0: Patched pins configuration:
hdaa0: nid   0x    as seq device       conn  jack    loc        color   misc
hdaa0:  4 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa0:  5 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa0:  6 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa0:  7 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa0: 4 associations found:
hdaa0: Association 0 (15) out:
hdaa0:  Pin nid=4 seq=0
hdaa0: Association 1 (15) out:
hdaa0:  Pin nid=5 seq=0
hdaa0: Association 2 (15) out:
hdaa0:  Pin nid=6 seq=0
hdaa0: Association 3 (15) out:
hdaa0:  Pin nid=7 seq=0
hdaa0: Tracing association 0 (15)
hdaa0:  Pin 4 traced to DAC 8
hdaa0: Association 0 (15) trace succeeded
hdaa0: Tracing association 1 (15)
hdaa0:  Pin 5 traced to DAC 9
hdaa0: Association 1 (15) trace succeeded
hdaa0: Tracing association 2 (15)
hdaa0:  Pin 6 traced to DAC 10
hdaa0: Association 2 (15) trace succeeded
hdaa0: Tracing association 3 (15)
hdaa0:  Pin 7 traced to DAC 11
hdaa0: Association 3 (15) trace succeeded
hdaa0: Looking for additional DAC for association 0 (15)
hdaa0: Looking for additional DAC for association 1 (15)
hdaa0: Looking for additional DAC for association 2 (15)
hdaa0: Looking for additional DAC for association 3 (15)
hdaa0: Tracing input monitor
hdaa0: Tracing other input monitors
hdaa0: Tracing beeper
hdaa0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
pcm0: <NVIDIA (0x0044) (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm0: Playback:
pcm0:      Stream cap: 0x00000005 AC3 PCM
pcm0:         PCM cap: 0x000e07f0 16 20 24 bits, 32 44 48 88 96 176 192 KHz
pcm0:             DAC: 8
pcm0:
pcm0:     nid=4 [pin: Digital-out (Jack)]
pcm0:       + <- nid=8 [audio output] [src: pcm]
pcm0:
pcm0: Mixer "vol" -> "none": child=0x00000010
pcm0: Mixer "pcm": parent="vol"
pcm0: Soft PCM mixer ENABLED
pcm0: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
pcm1: <NVIDIA (0x0044) (HDMI/DP 8ch)> at nid 5 on hdaa0
pcm1: Playback:
pcm1:      Stream cap: 0x00000005 AC3 PCM
pcm1:         PCM cap: 0x000e07f0 16 20 24 bits, 32 44 48 88 96 176 192 KHz
pcm1:             DAC: 9
pcm1:
pcm1:     nid=5 [pin: Digital-out (Jack)]
pcm1:       + <- nid=9 [audio output] [src: pcm]
pcm1:
pcm1: Mixer "vol" -> "none": child=0x00000010
pcm1: Mixer "pcm": parent="vol"
pcm1: Soft PCM mixer ENABLED
pcm1: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
pcm2: <NVIDIA (0x0044) (HDMI/DP 8ch)> at nid 6 on hdaa0
pcm2: Playback:
pcm2:      Stream cap: 0x00000005 AC3 PCM
pcm2:         PCM cap: 0x000e07f0 16 20 24 bits, 32 44 48 88 96 176 192 KHz
pcm2:             DAC: 10
pcm2:
pcm2:     nid=6 [pin: Digital-out (Jack)]
pcm2:       + <- nid=10 [audio output] [src: pcm]
pcm2:
pcm2: Mixer "vol" -> "none": child=0x00000010
pcm2: Mixer "pcm": parent="vol"
pcm2: Soft PCM mixer ENABLED
pcm2: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
pcm3: <NVIDIA (0x0044) (HDMI/DP 8ch)> at nid 7 on hdaa0
pcm3: Playback:
pcm3:      Stream cap: 0x00000005 AC3 PCM
pcm3:         PCM cap: 0x000e07f0 16 20 24 bits, 32 44 48 88 96 176 192 KHz
pcm3:             DAC: 11
pcm3:
pcm3:     nid=7 [pin: Digital-out (Jack)]
pcm3:       + <- nid=11 [audio output] [src: pcm]
pcm3:
pcm3: Mixer "vol" -> "none": child=0x00000010
pcm3: Mixer "pcm": parent="vol"
pcm3: Soft PCM mixer ENABLED
pcm3: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
hdacc1: <NVIDIA (0x0044) HDA CODEC> at cad 0 on hdac2
hdaa1: <NVIDIA (0x0044) Audio Function Group> at nid 1 on hdacc1
hdaa1: Subsystem ID: 0x38422784
hdaa1: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0
hdaa1: Original pins configuration:
hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
hdaa1:  4 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa1:  5 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa1:  6 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa1:  7 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa1: Patched pins configuration:
hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
hdaa1:  4 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa1:  5 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa1:  6 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa1:  7 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
hdaa1: 4 associations found:
hdaa1: Association 0 (15) out:
hdaa1:  Pin nid=4 seq=0
hdaa1: Association 1 (15) out:
hdaa1:  Pin nid=5 seq=0
hdaa1: Association 2 (15) out:
hdaa1:  Pin nid=6 seq=0
hdaa1: Association 3 (15) out:
hdaa1:  Pin nid=7 seq=0
hdaa1: Tracing association 0 (15)
hdaa1:  Pin 4 traced to DAC 8
hdaa1: Association 0 (15) trace succeeded
hdaa1: Tracing association 1 (15)
hdaa1:  Pin 5 traced to DAC 9
hdaa1: Association 1 (15) trace succeeded
hdaa1: Tracing association 2 (15)
hdaa1:  Pin 6 traced to DAC 10
hdaa1: Association 2 (15) trace succeeded
hdaa1: Tracing association 3 (15)
hdaa1:  Pin 7 traced to DAC 11
hdaa1: Association 3 (15) trace succeeded
hdaa1: Looking for additional DAC for association 0 (15)
hdaa1: Looking for additional DAC for association 1 (15)
hdaa1: Looking for additional DAC for association 2 (15)
hdaa1: Looking for additional DAC for association 3 (15)
hdaa1: Tracing input monitor
hdaa1: Tracing other input monitors
hdaa1: Tracing beeper
hdaa1: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
pcm4: <NVIDIA (0x0044) (HDMI/DP 8ch)> at nid 4 on hdaa1
pcm4: Playback:
pcm4:      Stream cap: 0x00000005 AC3 PCM
pcm4:         PCM cap: 0x000e07f0 16 20 24 bits, 32 44 48 88 96 176 192 KHz
pcm4:             DAC: 8
pcm4:
pcm4:     nid=4 [pin: Digital-out (Jack)]
pcm4:       + <- nid=8 [audio output] [src: pcm]
pcm4:
pcm4: Mixer "vol" -> "none": child=0x00000010
pcm4: Mixer "pcm": parent="vol"
pcm4: Soft PCM mixer ENABLED
pcm4: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
pcm5: <NVIDIA (0x0044) (HDMI/DP 8ch)> at nid 5 on hdaa1
pcm5: Playback:
pcm5:      Stream cap: 0x00000005 AC3 PCM
pcm5:         PCM cap: 0x000e07f0 16 20 24 bits, 32 44 48 88 96 176 192 KHz
pcm5:             DAC: 9
pcm5:
pcm5:     nid=5 [pin: Digital-out (Jack)]
pcm5:       + <- nid=9 [audio output] [src: pcm]
pcm5:
pcm5: Mixer "vol" -> "none": child=0x00000010
pcm5: Mixer "pcm": parent="vol"
pcm5: Soft PCM mixer ENABLED
pcm5: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
pcm6: <NVIDIA (0x0044) (HDMI/DP 8ch)> at nid 6 on hdaa1
pcm6: Playback:
pcm6:      Stream cap: 0x00000005 AC3 PCM
pcm6:         PCM cap: 0x000e07f0 16 20 24 bits, 32 44 48 88 96 176 192 KHz
pcm6:             DAC: 10
pcm6:
pcm6:     nid=6 [pin: Digital-out (Jack)]
pcm6:       + <- nid=10 [audio output] [src: pcm]
pcm6:
pcm6: Mixer "vol" -> "none": child=0x00000010
pcm6: Mixer "pcm": parent="vol"
pcm6: Soft PCM mixer ENABLED
pcm6: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
pcm7: <NVIDIA (0x0044) (HDMI/DP 8ch)> at nid 7 on hdaa1
pcm7: Playback:
pcm7:      Stream cap: 0x00000005 AC3 PCM
pcm7:         PCM cap: 0x000e07f0 16 20 24 bits, 32 44 48 88 96 176 192 KHz
pcm7:             DAC: 11
pcm7:
pcm7:     nid=7 [pin: Digital-out (Jack)]
pcm7:       + <- nid=11 [audio output] [src: pcm]
pcm7:
pcm7: Mixer "vol" -> "none": child=0x00000010
pcm7: Mixer "pcm": parent="vol"
pcm7: Soft PCM mixer ENABLED
pcm7: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
hdaa0: Pin sense: nid=5 sense=0x80000000 (connected)
pcm1: Playback channel matrix is: unknown, assuming 7.1 (connected)
hdaa0: Pin sense: nid=5 sense=0xc0000000 (connected, ELD valid)
hdaa0: ELD nid=5: ELD_Ver=2 Baseline_ELD_Len=11
hdaa0: ELD nid=5: CEA_EDID_Ver=3 MNL=13
hdaa0: ELD nid=5: SAD_Count=5 Conn_Type=0 S_AI=0 HDCP=0
hdaa0: ELD nid=5: Aud_Synch_Delay=0ms
hdaa0: ELD nid=5: Channels=0x1<FLR>
hdaa0: ELD nid=5: Port_ID=0x0002000000000000
hdaa0: ELD nid=5: Manufacturer_Name=0x0472
hdaa0: ELD nid=5: Product_Code=0xff02
hdaa0: ELD nid=5: Monitor_Name_String='G246HL
hdaa0: ELD nid=5: LPCM 2ch freqs=0x7<48,44,32> sizes=0x7<24,20,16>
hdaa0: ELD nid=5: MPEG2 6ch freqs=0x2<44> max_bitrate=464000
hdaa0: ELD nid=5: undefined 1ch freqs=0x18<96,88>
hdaa0: ELD nid=5: DTS 1ch freqs=0x2d<176,88,48,32> max_bitrate=512000
hdaa0: ELD nid=5: DTS-HD 1ch freqs=0x2c<176,88,48>
pcm1: Playback channel set is: Front Left, Front Right,
pcm1: Playback channel matrix is: 2.0 (connected)
```


```
[s0urc3c0de@s0urc3c0de ~]$ cat /dev/sndstat
FreeBSD Audio Driver (64bit 2009061500/amd64)
Installed devices:
pcm0: <NVIDIA (0x0044) (HDMI/DP 8ch)> on hdaa0  (1p:1v/0r:0v)
pcm1: <NVIDIA (0x0044) (HDMI/DP 8ch)> on hdaa0  (1p:1v/0r:0v) default
pcm2: <NVIDIA (0x0044) (HDMI/DP 8ch)> on hdaa0  (1p:1v/0r:0v)
pcm3: <NVIDIA (0x0044) (HDMI/DP 8ch)> on hdaa0  (1p:1v/0r:0v)
pcm4: <NVIDIA (0x0044) (HDMI/DP 8ch)> on hdaa1  (1p:1v/0r:0v)
pcm5: <NVIDIA (0x0044) (HDMI/DP 8ch)> on hdaa1  (1p:1v/0r:0v)
pcm6: <NVIDIA (0x0044) (HDMI/DP 8ch)> on hdaa1  (1p:1v/0r:0v)
pcm7: <NVIDIA (0x0044) (HDMI/DP 8ch)> on hdaa1  (1p:1v/0r:0v)
No devices installed from userspace.
```


```
[s0urc3c0de@s0urc3c0de ~]$ cat /etc/rc.conf
clear_tmp_enable="YES"
hostname="s0urc3c0de.dev"
keymap="de.kbd"
ifconfig_igb1="DHCP"
ifconfig_igb1_ipv6="inet6 accept_rtadv"
moused_enable="NO"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"

kld_list="nvidia-modeset"

dbus_enable="YES"
hald_enable="YES"
linux_enable="YES"

slim_enable="YES"
```


```
[s0urc3c0de@s0urc3c0de ~]$ cat /etc/sysctl.conf
# $FreeBSD: releng/12.1/sbin/sysctl/sysctl.conf 337624 2018-08-11 13:28:03Z brd $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
kern.randompid=1
vfs.zfs.min_auto_ashift=12

hw.snd.default_unit=1
#hw.snd.verbose=1
dev.hdac.1.pindump=1
#dev.hdac.1.polling=1
```


```
[s0urc3c0de@s0urc3c0de ~]$ uname -a
FreeBSD s0urc3c0de.dev 12.1-STABLE FreeBSD 12.1-STABLE 2ea4386886c(stable/12) S0URC3C0DE  amd64
```

/var/run/dmesg.boot


----------



## acheron (Jan 25, 2020)

Can you post the output of `pciconf -lv`? Maybe some IDs are missing for your device, have a look here: https://github.com/freebsd/freebsd/tree/master/sys/dev/sound/pci/hda


----------



## T-Daemon (Jan 25, 2020)

According to technical specs of the MSI TRX40 PRO WIFI the audio codec is Realtek® ALC1220. The snd_hda(4) should be the right driver (see Thread ALC1220 and sound recording?.73791).


----------



## S0urc3C0de (Jan 27, 2020)

acheron said:


> Can you post the output of `pciconf -lv`? Maybe some IDs are missing for your device, have a look here: https://github.com/freebsd/freebsd/tree/master/sys/dev/sound/pci/hda


There you go:

```
[s0urc3c0de@s0urc3c0de ~]$ pciconf -lv
hostb0@pci0:0:0:0:    class=0x060000 card=0x14801022 chip=0x14801022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Root Complex'
    class      = bridge
    subclass   = HOST-PCI
none0@pci0:0:0:2:    class=0x080600 card=0x14811022 chip=0x14811022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse IOMMU'
    class      = base peripheral
    subclass   = IOMMU
hostb1@pci0:0:1:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:2:    class=0x060400 card=0x14627c60 chip=0x14831022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
hostb2@pci0:0:2:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb3@pci0:0:3:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb4@pci0:0:4:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb5@pci0:0:5:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb6@pci0:0:7:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib2@pci0:0:7:1:    class=0x060400 card=0x14841022 chip=0x14841022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
    class      = bridge
    subclass   = PCI-PCI
hostb7@pci0:0:8:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib3@pci0:0:8:1:    class=0x060400 card=0x14841022 chip=0x14841022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
    class      = bridge
    subclass   = PCI-PCI
intsmb0@pci0:0:20:0:    class=0x0c0500 card=0x7c601462 chip=0x790b1022 rev=0x61 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH SMBus Controller'
    class      = serial bus
    subclass   = SMBus
isab0@pci0:0:20:3:    class=0x060100 card=0x7c601462 chip=0x790e1022 rev=0x51 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH LPC Bridge'
    class      = bridge
    subclass   = PCI-ISA
hostb8@pci0:0:24:0:    class=0x060000 card=0x00000000 chip=0x14901022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship Device 24; Function 0'
    class      = bridge
    subclass   = HOST-PCI
hostb9@pci0:0:24:1:    class=0x060000 card=0x00000000 chip=0x14911022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship Device 24; Function 1'
    class      = bridge
    subclass   = HOST-PCI
hostb10@pci0:0:24:2:    class=0x060000 card=0x00000000 chip=0x14921022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship Device 24; Function 2'
    class      = bridge
    subclass   = HOST-PCI
hostb11@pci0:0:24:3:    class=0x060000 card=0x00000000 chip=0x14931022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship Device 24; Function 3'
    class      = bridge
    subclass   = HOST-PCI
hostb12@pci0:0:24:4:    class=0x060000 card=0x00000000 chip=0x14941022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship Device 24; Function 4'
    class      = bridge
    subclass   = HOST-PCI
hostb13@pci0:0:24:5:    class=0x060000 card=0x00000000 chip=0x14951022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship Device 24; Function 5'
    class      = bridge
    subclass   = HOST-PCI
hostb14@pci0:0:24:6:    class=0x060000 card=0x00000000 chip=0x14961022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship Device 24; Function 6'
    class      = bridge
    subclass   = HOST-PCI
hostb15@pci0:0:24:7:    class=0x060000 card=0x00000000 chip=0x14971022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship Device 24; Function 7'
    class      = bridge
    subclass   = HOST-PCI
nvme0@pci0:1:0:0:    class=0x010802 card=0xa801144d chip=0xa808144d rev=0x00 hdr=0x00
    vendor     = 'Samsung Electronics Co Ltd'
    device     = 'NVMe SSD Controller SM981/PM981/PM983'
    class      = mass storage
    subclass   = NVM
none1@pci0:2:0:0:    class=0x130000 card=0x148a1022 chip=0x148a1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Function'
    class      = non-essential instrumentation
none2@pci0:3:0:0:    class=0x130000 card=0x14851022 chip=0x14851022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Reserved SPP'
    class      = non-essential instrumentation
xhci0@pci0:3:0:3:    class=0x0c0330 card=0x7c601462 chip=0x148c1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
hostb16@pci0:32:0:0:    class=0x060000 card=0x14801022 chip=0x14801022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Root Complex'
    class      = bridge
    subclass   = HOST-PCI
none3@pci0:32:0:2:    class=0x080600 card=0x14811022 chip=0x14811022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse IOMMU'
    class      = base peripheral
    subclass   = IOMMU
hostb17@pci0:32:1:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb18@pci0:32:2:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb19@pci0:32:3:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib5@pci0:32:3:1:    class=0x060400 card=0x14627c60 chip=0x14831022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
hostb20@pci0:32:4:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb21@pci0:32:5:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb22@pci0:32:7:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib6@pci0:32:7:1:    class=0x060400 card=0x14841022 chip=0x14841022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
    class      = bridge
    subclass   = PCI-PCI
hostb23@pci0:32:8:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib7@pci0:32:8:1:    class=0x060400 card=0x14841022 chip=0x14841022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
    class      = bridge
    subclass   = PCI-PCI
vgapci0@pci0:33:0:0:    class=0x030000 card=0x17843842 chip=0x100410de rev=0xa1 hdr=0x00
    vendor     = 'NVIDIA Corporation'
    device     = 'GK110 [GeForce GTX 780]'
    class      = display
    subclass   = VGA
hdac0@pci0:33:0:1:    class=0x040300 card=0x17843842 chip=0x0e1a10de rev=0xa1 hdr=0x00
    vendor     = 'NVIDIA Corporation'
    device     = 'GK110 High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
none4@pci0:34:0:0:    class=0x130000 card=0x148a1022 chip=0x148a1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Function'
    class      = non-essential instrumentation
none5@pci0:35:0:0:    class=0x130000 card=0x14851022 chip=0x14851022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Reserved SPP'
    class      = non-essential instrumentation
none6@pci0:35:0:1:    class=0x108000 card=0x14861022 chip=0x14861022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Cryptographic Coprocessor PSPCPP'
    class      = encrypt/decrypt
xhci1@pci0:35:0:3:    class=0x0c0330 card=0x7c601462 chip=0x148c1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
hdac1@pci0:35:0:4:    class=0x040300 card=0xcb601462 chip=0x14871022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse HD Audio Controller'
    class      = multimedia
    subclass   = HDA
hostb24@pci0:64:0:0:    class=0x060000 card=0x14801022 chip=0x14801022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Root Complex'
    class      = bridge
    subclass   = HOST-PCI
none7@pci0:64:0:2:    class=0x080600 card=0x14811022 chip=0x14811022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse IOMMU'
    class      = base peripheral
    subclass   = IOMMU
hostb25@pci0:64:1:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib9@pci0:64:1:1:    class=0x060400 card=0x14627c60 chip=0x14831022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
hostb26@pci0:64:2:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb27@pci0:64:3:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib17@pci0:64:3:1:    class=0x060400 card=0x14627c60 chip=0x14831022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
hostb28@pci0:64:4:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb29@pci0:64:5:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb30@pci0:64:7:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib18@pci0:64:7:1:    class=0x060400 card=0x14841022 chip=0x14841022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
    class      = bridge
    subclass   = PCI-PCI
hostb31@pci0:64:8:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib19@pci0:64:8:1:    class=0x060400 card=0x14841022 chip=0x14841022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
    class      = bridge
    subclass   = PCI-PCI
pcib10@pci0:65:0:0:    class=0x060400 card=0x00000000 chip=0x57ad1022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse Switch Upstream'
    class      = bridge
    subclass   = PCI-PCI
pcib11@pci0:66:2:0:    class=0x060400 card=0x14627c60 chip=0x57a31022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse PCIe GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
pcib12@pci0:66:4:0:    class=0x060400 card=0x14627c60 chip=0x57a31022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse PCIe GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
pcib13@pci0:66:5:0:    class=0x060400 card=0x14627c60 chip=0x57a31022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse PCIe GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
pcib14@pci0:66:8:0:    class=0x060400 card=0x14841022 chip=0x57a41022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse PCIe GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
pcib15@pci0:66:9:0:    class=0x060400 card=0x14841022 chip=0x57a41022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse PCIe GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
pcib16@pci0:66:10:0:    class=0x060400 card=0x14841022 chip=0x57a41022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse PCIe GPP Bridge'
    class      = bridge
    subclass   = PCI-PCI
xhci2@pci0:67:0:0:    class=0x0c0330 card=0x7c601462 chip=0x32421b21 rev=0x00 hdr=0x00
    vendor     = 'ASMedia Technology Inc.'
    class      = serial bus
    subclass   = USB
igb0@pci0:68:0:0:    class=0x020000 card=0x7c601462 chip=0x15398086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'I211 Gigabit Network Connection'
    class      = network
    subclass   = ethernet
igb1@pci0:69:0:0:    class=0x020000 card=0x7c601462 chip=0x15398086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'I211 Gigabit Network Connection'
    class      = network
    subclass   = ethernet
none8@pci0:70:0:0:    class=0x130000 card=0x14851022 chip=0x14851022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Reserved SPP'
    class      = non-essential instrumentation
xhci3@pci0:70:0:1:    class=0x0c0330 card=0x14861022 chip=0x149c1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
xhci4@pci0:70:0:3:    class=0x0c0330 card=0x148c1022 chip=0x149c1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Matisse USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
ahci0@pci0:71:0:0:    class=0x010601 card=0x79011022 chip=0x79011022 rev=0x51 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH SATA Controller [AHCI mode]'
    class      = mass storage
    subclass   = SATA
ahci1@pci0:72:0:0:    class=0x010601 card=0x79011022 chip=0x79011022 rev=0x51 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH SATA Controller [AHCI mode]'
    class      = mass storage
    subclass   = SATA
vgapci1@pci0:73:0:0:    class=0x030000 card=0x27843842 chip=0x100410de rev=0xa1 hdr=0x00
    vendor     = 'NVIDIA Corporation'
    device     = 'GK110 [GeForce GTX 780]'
    class      = display
    subclass   = VGA
hdac2@pci0:73:0:1:    class=0x040300 card=0x27843842 chip=0x0e1a10de rev=0xa1 hdr=0x00
    vendor     = 'NVIDIA Corporation'
    device     = 'GK110 High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
none9@pci0:74:0:0:    class=0x130000 card=0x148a1022 chip=0x148a1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Function'
    class      = non-essential instrumentation
none10@pci0:75:0:0:    class=0x130000 card=0x14851022 chip=0x14851022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Reserved SPP'
    class      = non-essential instrumentation
hostb32@pci0:96:0:0:    class=0x060000 card=0x14801022 chip=0x14801022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Root Complex'
    class      = bridge
    subclass   = HOST-PCI
none11@pci0:96:0:2:    class=0x080600 card=0x14811022 chip=0x14811022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse IOMMU'
    class      = base peripheral
    subclass   = IOMMU
hostb33@pci0:96:1:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb34@pci0:96:2:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb35@pci0:96:3:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb36@pci0:96:4:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb37@pci0:96:5:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
hostb38@pci0:96:7:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib21@pci0:96:7:1:    class=0x060400 card=0x14841022 chip=0x14841022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
    class      = bridge
    subclass   = PCI-PCI
hostb39@pci0:96:8:0:    class=0x060000 card=0x00000000 chip=0x14821022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib22@pci0:96:8:1:    class=0x060400 card=0x14841022 chip=0x14841022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
    class      = bridge
    subclass   = PCI-PCI
none12@pci0:97:0:0:    class=0x130000 card=0x148a1022 chip=0x148a1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse PCIe Dummy Function'
    class      = non-essential instrumentation
none13@pci0:98:0:0:    class=0x130000 card=0x14851022 chip=0x14851022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse Reserved SPP'
    class      = non-essential instrumentation
```



T-Daemon said:


> According to technical specs of the MSI TRX40 PRO WIFI the audio codec is Realtek® ALC1220. The snd_hda(4) should be the right driver (see Thread ALC1220 and sound recording?.73791).


Yes, it _should_ be supported and work fine fine, everything I found does indeed suggest just that


----------



## acheron (Jan 27, 2020)

Can you try a -recent current? No need to install it, just boot an USB key and drop to a shell. Maybe your device is supported on the dev branch.


----------



## SirDice (Jan 27, 2020)

It's detected right here:

```
hdac1@pci0:35:0:4:    class=0x040300 card=0xcb601462 chip=0x14871022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse HD Audio Controller'
    class      = multimedia
    subclass   = HDA
```
And

```
hdac1: <AMD (0x1487) HDA Controller> mem 0xc1400000-0xc1407fff at device 0.4 on pci7
hdac1: PCI card vendor: 0x1462, device: 0xcb60
hdac1: HDA Driver Revision: 20120126_0002
hdac1: Config options: msi 64bit
hdac1: Config options: on=0x00000000 off=0x00000000
hdac1: attempting to allocate 1 MSI vectors (1 supported)
hdac1: using IRQ 295 for MSI
hdac1: Caps: OSS 4, ISS 4, BSS 0, NSDO 1, 64bit, CORB 256, RIRB 256
```

Is there a limit on the number of pcm(4) devices? Because /dev/sndstat seems to only print 8.


----------



## S0urc3C0de (Jan 27, 2020)

acheron said:


> Can you try a -recent current? No need to install it, just boot an USB key and drop to a shell. Maybe your device is supported on the dev branch.


I booted to the latest -CURRENT snapshot and got the same results as above.



SirDice said:


> Is there a limit on the number of pcm(4) devices? Because /dev/sndstat seems to only print 8.


Do you mean whether I set a limit somewhere or was that a general question?


----------



## SirDice (Jan 27, 2020)

S0urc3C0de said:


> Do you mean whether I set a limit somewhere or was that a general question?


It was more a general question. It's the only thing I could think of.

I see you have two NVidia cards and both their audio appears to be detected. Any chance you could try with just one card?


----------



## S0urc3C0de (Jan 27, 2020)

Yep, just tried it. Now there are 4 PCM devices


----------



## acheron (Jan 27, 2020)

Can you also post the dmesg /var/run/dmesg.boot?


----------



## T-Daemon (Jan 27, 2020)

SirDice said:


> Is there a limit on the number of pcm(4) devices? Because /dev/sndstat seems to only print 8.


If there is on the number of pcm(4) devices a limit,  then it doesn't end at pcm7, see the posted code in Thread 70035. Something else is responsible for the devices not been created.


----------



## S0urc3C0de (Jan 27, 2020)

acheron said:


> Can you also post the dmesg /var/run/dmesg.boot?


There you go


----------



## S0urc3C0de (Jan 28, 2020)

Alright, so after doing some testing I found out that while the device itself is recognized and the driver is loaded for it, it fails at finding codecs.
I set `snd_verbose=4` and got the following output on dmesg:
(ignore the "Test" and "TRX40" stuff)

```
hdac1: <AMD TRX40 HDA Controller> mem 0xc1400000-0xc1407fff at device 0.4 on pci7
hdac1: PCI card vendor: 0x1462, device: 0xcb60
hdac1: HDA Driver Revision: 20120126_0002
hdac1: Test 1
hdac1: Test 2
hdac1: Test 3
hdac1: Config options: on=0x00000000 off=0x00000000
hdac1: Test 4
hdac1: Test 5
hdac1: Test 6
hdac1: DMA Coherency: Uncacheable / vendor=0x1022
hdac1: Test 8
hdac1: attempting to allocate 1 MSI vectors (1 supported)
hdac1: using IRQ 342 for MSI
hdac1: Caps: OSS 4, ISS 4, BSS 0, NSDO 1, 64bit, CORB 256, RIRB 256
hdac1: hdac_dma_alloc: size=1024 -> roundsz=1024
hdac1: hdac_dma_alloc: size=2048 -> roundsz=2048
hdac1: hdac_dma_alloc: size=4096 -> roundsz=4096
hdac1: hdac_dma_alloc: size=4096 -> roundsz=4096
hdac1: hdac_dma_alloc: size=4096 -> roundsz=4096
hdac1: hdac_dma_alloc: size=4096 -> roundsz=4096
hdac1: hdac_dma_alloc: size=4096 -> roundsz=4096
hdac1: hdac_dma_alloc: size=4096 -> roundsz=4096
hdac1: hdac_dma_alloc: size=4096 -> roundsz=4096
hdac1: hdac_dma_alloc: size=4096 -> roundsz=4096
hdac1: Test 9
hdac1: Test 10
hdac1: Reset controller...
hdac1: Starting CORB Engine...
hdac1: Starting RIRB Engine...
hdac1: Enabling controller interrupt...
hdac1: Polling: 0
hdac1: Scanning HDA codecs ...
hdac1: statests: 0x0000
hdac1: Test 11
```

The interesting part is in hdac.c(1523):

```
HDA_BOOTHVERBOSE(
        device_printf(sc->dev, "Scanning HDA codecs ...\n");
    );
    statests = HDAC_READ_2(&sc->mem, HDAC_STATESTS);
    hdac_unlock(sc);
    for (i = 0; i < HDAC_CODEC_MAX; i++) {
        if (HDAC_STATESTS_SDIWAKE(statests, i)) {
            HDA_BOOTHVERBOSE(
                device_printf(sc->dev,
                    "Found CODEC at address %d\n", i);
            );
            hdac_lock(sc);
            vendorid = hdac_send_command(sc, i,
                HDA_CMD_GET_PARAMETER(0, 0x0, HDA_PARAM_VENDOR_ID));
            revisionid = hdac_send_command(sc, i,
                HDA_CMD_GET_PARAMETER(0, 0x0, HDA_PARAM_REVISION_ID));
            hdac_unlock(sc);
```

`if (HDAC_STATESTS_SDIWAKE(statests, i))` is the condition that fails which is because `statests` is 0.

This behaviour is consistent with what I observed on Linux. There, the same device has the _snd_hda_ driver loaded but no codecs are found either. Instead, there's this USB audio device which is instead used as the audio controller and it uses the kernel's _snd-usb-audio_ module. So, I assume that the problem on FreeBSD is not actually with the snd_hda(4) driver but the snd_uaudio(4) driver, which apparently doesn't support that device.


----------



## shepherdAZ (Oct 17, 2020)

I have purchased an ROG Zenith II Extreme Alpha and have the same problem. Did you ever get yours working and if so, how? Thanks.


```
hdac1@pci0:36:0:4:    class=0x040300 card=0x874f1043 chip=0x14871022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Starship/Matisse HD Audio Controller'
    class      = multimedia
    subclass   = HDA
```


```
>Installed devices:
pcm0: <NVIDIA (0x009a) (HDMI/DP 8ch)> (play) default
pcm1: <NVIDIA (0x009a) (HDMI/DP 8ch)> (play)
pcm2: <NVIDIA (0x009a) (HDMI/DP 8ch)> (play)
pcm3: <NVIDIA (0x009a) (HDMI/DP 8ch)> (play)
pcm4: <USB audio> (play)
No devices installed from userspace.
```


----------

