# no sound -- no codecs initialized

## jagdpanther

On my new Gentoo system I can not get sound working.  I think the issue is indicated in dmesg:

```
snd_hda_intel 0000:00:1f.3: no codecs initialized
```

The motherboard manual states that I have a CODEC ALC4080.  (The motherboard is an Azus ROG Strix Z690-E)

Alsamixer does not see the intel sound device.  

Here is the revelant info requested in the second post of https://forums.gentoo.org/viewtopic-p-8240914.html

```
dmesg | grep "snd\|sound" -i

[    0.679223] ata6.00: Features: Trust Dev-Sleep NCQ-sndrcv

[    0.710781] ata8.00: Features: NCQ-sndrcv

[    2.887683] snd_hda_intel 0000:01:00.1: Disabling MSI

[    2.905958] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input4

[    2.905993] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input5

[    2.906029] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input6

[    2.906062] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input7

[    2.906085] input: HDA NVidia HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input8

[    2.906108] input: HDA NVidia HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input9

[    2.906127] input: HDA NVidia HDMI/DP,pcm=12 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input10

[    3.892693] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x000f0000

[    4.894798] snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it...

[    5.901785] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x000f0000

[    5.902343] snd_hda_intel 0000:00:1f.3: no codecs initialized

[    7.670491] usbcore: registered new interface driver snd-usb-audio
```

```
lspci -k | grep Audio -A4

00:1f.3 Audio device: Intel Corporation Device 7ad0 (rev 11)

        DeviceName: Onboard - Sound

        Subsystem: ASUSTeK Computer Inc. Device 8694

        Kernel driver in use: snd_hda_intel

        Kernel modules: snd_hda_intel

--

01:00.1 Audio device: NVIDIA Corporation GA104 High Definition Audio Controller (rev a1)

        Subsystem: eVga.com. Corp. GA104 High Definition Audio Controller

        Kernel driver in use: snd_hda_intel

        Kernel modules: snd_hda_intel
```

```
 # head -1 /proc/asound/card*/codec*

Codec: Nvidia GPU 9e HDMI/DP
```

```
grep SND_HDA /usr/src/linux/.config

-bash: Code:: command not found

CONFIG_SND_HDA=m

CONFIG_SND_HDA_GENERIC_LEDS=y

CONFIG_SND_HDA_INTEL=m

# CONFIG_SND_HDA_HWDEP is not set

# CONFIG_SND_HDA_RECONFIG is not set

# CONFIG_SND_HDA_INPUT_BEEP is not set

# CONFIG_SND_HDA_PATCH_LOADER is not set

CONFIG_SND_HDA_CODEC_REALTEK=m

# CONFIG_SND_HDA_CODEC_ANALOG is not set

# CONFIG_SND_HDA_CODEC_SIGMATEL is not set

# CONFIG_SND_HDA_CODEC_VIA is not set

CONFIG_SND_HDA_CODEC_HDMI=m

# CONFIG_SND_HDA_CODEC_CIRRUS is not set

# CONFIG_SND_HDA_CODEC_CS8409 is not set

# CONFIG_SND_HDA_CODEC_CONEXANT is not set

# CONFIG_SND_HDA_CODEC_CA0110 is not set

# CONFIG_SND_HDA_CODEC_CA0132 is not set

# CONFIG_SND_HDA_CODEC_CMEDIA is not set

# CONFIG_SND_HDA_CODEC_SI3054 is not set

CONFIG_SND_HDA_GENERIC=m

CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0

# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set

CONFIG_SND_HDA_CORE=m

CONFIG_SND_HDA_PREALLOC_SIZE=0
```

Any suggestions on getting sound working would be appreciated.

(Hope I picked the proper forum,  "Multimedia" was the other choice.)

----------

## NeddySeagoon

jagdpanther,

Are your codecs listed in lsmod?

What does 

```
grep -i codec -R /proc/asound/
```

return?

The nVidia card wants CONFIG_SND_HDA_CODEC_HDMI=m, so it looks good.

As it looks good but doesn't work, look at the date/time in 

```
uname -a
```

That's the build date/time of the running kernel. Are you actually running the kernel that belongs to the configuration fragment you posted?

----------

## jagdpanther

NeddySeagoon,   Thanks for the quick reply.

```
# grep -i codec -R /proc/asound/

/proc/asound/card1/codec#0:Codec: Nvidia GPU 9e HDMI/DP

/proc/asound/NVidia/codec#0:Codec: Nvidia GPU 9e HDMI/DP
```

It sees the Nvidia card but not the built-in sound on the MB.  (Which I really want for the S/PDIF out.)

```
uname -a

Linux runner 5.17.4-gentoo-1 #2 SMP Sun Apr 24 11:42:49 PDT 2022 x86_64 12th Gen Intel(R) Core(TM) i9-12900K GenuineIntel GNU/Linux
```

Yes, I re-compiled the kernel today.

(The "-1" at the end of the kernel name is mine.  If I want to recompile the same kernel version I compile an entire new kernel tree and the -1 becomes -2 ...)

I am guessing the line in dmesg, "snd_hda_intel 0000:00:1f.3: no codecs initialized" is the issue.  But I have no idea how to solve that.

----------

## NeddySeagoon

jagdpanther,

Post your 

```
lspci -nnk
```

and put your kernel .config onto a pastebin please.

It looks like your onboard sound is disabled as its codec should have been listed.

The rest of the lspci is going to help there.

----------

## jagdpanther

My kernel configuration is at:  https://pastebin.com/k5HgBC1U

Here is lspci -nnk:

```
 # lspci -nnk

00:00.0 Host bridge [0600]: Intel Corporation Device [8086:4660] (rev 02)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

00:01.0 PCI bridge [0604]: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 [8086:460d] (rev 02)

        Kernel driver in use: pcieport

00:01.1 PCI bridge [0604]: Intel Corporation Device [8086:462d] (rev 02)

        Kernel driver in use: pcieport

00:0a.0 Signal processing controller [1180]: Intel Corporation Platform Monitoring Technology [8086:467d] (rev 01)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

00:0e.0 RAID bus controller [0104]: Intel Corporation Volume Management Device NVMe RAID Controller [8086:467f]

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Volume Management Device NVMe RAID Controller [1043:8694]

00:14.0 USB controller [0c03]: Intel Corporation Device [8086:7ae0] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

        Kernel driver in use: xhci_hcd

00:14.2 RAM memory [0500]: Intel Corporation Device [8086:7aa7] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

00:15.0 Serial bus controller [0c80]: Intel Corporation Device [8086:7acc] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

00:15.1 Serial bus controller [0c80]: Intel Corporation Device [8086:7acd] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

00:15.2 Serial bus controller [0c80]: Intel Corporation Device [8086:7ace] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

00:16.0 Communication controller [0780]: Intel Corporation Device [8086:7ae8] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

00:17.0 SATA controller [0106]: Intel Corporation Device [8086:7ae2] (rev 11)

        DeviceName: Onboard - SATA

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

        Kernel driver in use: ahci

00:1a.0 PCI bridge [0604]: Intel Corporation Device [8086:7ac8] (rev 11)

        Kernel driver in use: pcieport

00:1b.0 PCI bridge [0604]: Intel Corporation Device [8086:7ac0] (rev 11)

00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:7ab8] (rev 11)

        Kernel driver in use: pcieport

00:1c.1 PCI bridge [0604]: Intel Corporation Device [8086:7ab9] (rev 11)

        Kernel driver in use: pcieport

00:1c.2 PCI bridge [0604]: Intel Corporation Device [8086:7aba] (rev 11)

        Kernel driver in use: pcieport

00:1d.0 PCI bridge [0604]: Intel Corporation Device [8086:7ab0] (rev 11)

00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:7a84] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

00:1f.3 Audio device [0403]: Intel Corporation Device [8086:7ad0] (rev 11)

        DeviceName: Onboard - Sound

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

        Kernel driver in use: snd_hda_intel

        Kernel modules: snd_hda_intel

00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:7aa3] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

        Kernel driver in use: i801_smbus

        Kernel modules: i2c_i801

00:1f.5 Serial bus controller [0c80]: Intel Corporation Device [8086:7aa4] (rev 11)

        DeviceName: Onboard - Other

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3070 Ti] [10de:2482] (rev a1)

        Subsystem: eVga.com. Corp. GA104 [GeForce RTX 3070 Ti] [3842:3797]

        Kernel driver in use: nvidia

        Kernel modules: nvidia_drm, nvidia

01:00.1 Audio device [0403]: NVIDIA Corporation GA104 High Definition Audio Controller [10de:228b] (rev a1)

        Subsystem: eVga.com. Corp. GA104 High Definition Audio Controller [3842:3797]

        Kernel driver in use: snd_hda_intel

        Kernel modules: snd_hda_intel

02:00.0 Non-Volatile memory controller [0108]: Sandisk Corp WD PC SN810 / Black SN850 NVMe SSD [15b7:5011] (rev 01)

        Subsystem: Sandisk Corp WD Black SN850 [15b7:5011]

        Kernel driver in use: nvme

03:00.0 Ethernet controller [0200]: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01)

        Subsystem: Intel Corporation 82576 Gigabit Network Connection [8086:a02f]

        Kernel driver in use: igb

        Kernel modules: igb

03:00.1 Ethernet controller [0200]: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01)

        Subsystem: Intel Corporation 82576 Gigabit Network Connection [8086:a02f]

        Kernel driver in use: igb

        Kernel modules: igb

06:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)

        Subsystem: ASUSTeK Computer Inc. ASM1062 Serial ATA Controller [1043:858d]

        Kernel driver in use: ahci

07:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I225-V [8086:15f3] (rev 03)

        Subsystem: ASUSTeK Computer Inc. Ethernet Controller I225-V [1043:87d2]

        Kernel driver in use: igc

        Kernel modules: igc
```

----------

## jagdpanther

 *Quote:*   

> It looks like your onboard sound is disabled as its codec should have been listed. 

 

I just booted into the MB BIOS.  Although there is a BIOS switch to turn on/off USB sound there are no additional sound controls in BIOS.   (I also searched through the BIOS manual for sound and audio and only found that USB sound setting.)

----------

## NeddySeagoon

jagdpanther,

You either have very new hardware or a very old lspci as most of the names are missing, so I have had to do some searching.

You have a system that needs

```
X86_INTEL_LPSS

MFD_INTEL_LPSS_PCI
```

 for the peripherals on the PCI Low Power Subsystem.

You may need 

```
MFD_INTEL_LPSS_ACPI
```

too.

As this is a laptop, you probably need 

```
PINCTRL
```

and your chipset selected from the menu.

I was expecting to discover your chipset from 

```
lspci -nnk
```

Ahhhh its Alder Lake.

It needs the  

```
PINCTRL_ALDERLAKE
```

 option inside the PINCTRL menu.

All these low power and pincontrol bits and pieces control the power to your peripheral devices. Some will me permanently off with this code missing.

If you intend to use digital outputs you need 

```
SND_HDA_INTEL_HDMI_SILENT_STREAM
```

too.

Without it you lose a few seconds of audio every time a sound stream in opened.  It plays silence all the time to keep the stream open.

If you are new to the menuconfig search, see Configuring the kernel

There is another way to do it too.

----------

## pietinger

 *NeddySeagoon wrote:*   

> You have a system that needs
> 
> ```
> X86_INTEL_LPSS
> 
> ...

 

Maybe its a desktop machine and therefore doesnt need LowPowerSubsystem:

https://rog.asus.com/de/motherboards/rog-strix/rog-strix-z690-e-gaming-wifi-model/

In addition to all other suggested settings, you will surely need SMBUS.

Another way to check your hardware is to boot with newest Ubuntu LiveCD and check again with

```
# lspci -k

# lsmod | more
```

----------

## jagdpanther

NeddySeagoon:   Thank you.       I am about to go make some changes in    /usr/src/linux:   make menuconfig

Yes this is very new hardware.  I assume not an old lspci  (sys-apps/pciutils-3.7.0-r2)    (I run "emerge --sync && emerge --update --deep --newuse --with-bdeps=y @world"  at least once a week.    (I seem to be having many more issues than normal when I build a Gentoo system, probably because this time I am using very new hardware.)

This is not a laptop it is an ATX desktop I built.   The motherboard is a:

https://rog.asus.com/us/motherboards/rog-strix/rog-strix-z690-e-gaming-wifi-model/ as you guessed in your post.

I chose this MB because of a few articles like the following which use Linux on that MB:

https://www.phoronix.com/scan.php?page=article&item=alderlake-p-e&num=1

In menuconfig I'll add SMBUS.   I don't think I need any of the LPSS items or the PINCTRL as I'm not using a laptop.

If I still have sound issues, I'll try your Ubuntu Live CD suggestion.

(Searching on-line I did find some linux user issues when using a codec ALC4080.  I did not see a specific fix though.)

----------

## pietinger

 *jagdpanther wrote:*   

> I don't think I need [...] or the PINCTRL as I'm not using a laptop.

 

I am not sure with pinctrl. Maybe its necessary, maybe not (but it does not hurt to enable it as <M>odule; you can disable it always later). Yes, ALC4080 is very new - maybe you need the newest available kernel source ...

----------

## pietinger

Maybe you will need additionally this command line parameter ?

https://lucraymond.net/2022/01/21/fix-audio-on-mpg-x570s-carbon-max-wifi-linux/

----------

## jagdpanther

Unfortunately still no sound and alsamixer does not see the MB sound device.

```
# dmesg | grep "snd_hda"

[    3.019077] snd_hda_intel 0000:01:00.1: Disabling MSI

[    4.025757] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x000f0000

[    5.027793] snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it...

[    6.035787] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x000f0000

[    6.036248] snd_hda_intel 0000:00:1f.3: no codecs initialized
```

i2c_smbus  was already a module

I did add pinctrl and pinctrl_alderlake  and currently have:

```
# lsmod | grep pin

pinctrl_alderlake      28672  0

pinctrl_intel          24576  1 pinctrl_alderlake
```

pietinger:

Thanks for the link.  Looking at the link I guess I could try adding 

```
snd-usb-audio.quirk_alias=0db0419c:0b051917
```

to the end of the gurb linux boot line.  That looks strange as I don't think I am using USB sound.

----------

## jagdpanther

Pinetinger:

Thanks for the tip.  I tried adding it to the grub linux boot line and it, unfortunately did not work.

----------

## pietinger

 *jagdpanther wrote:*   

> [...] That looks strange as I don't think I am using USB sound.

 

I have read a (german) article about the differences between an ALC4080 and an ALC1220 => IT IS the USB (instead of I2C)

(https://www.igorslab.de/der-realtek-alc4080-auf-den-neuen-intel-boards-entmystifiziert-und-die-unterschiede-zum-alc1220-insider/)

Therefore I asked you to test it with an Ubuntu LiveCD (helps only if your sound works then). I guess you will need this:

```
--- Advanced Linux Sound Architecture

[*]   USB sound devices  --->

    [*]   USB Audio/MIDI driver
```

(and maybe more)

Here I had the hope we will see more in "lsmod" after booting Ubuntu.

----------

## NeddySeagoon

jagdpanther,

As its Alder Lake, you have the chipset, the power control is aimed an laptop users but its in your chipset regardless.

Some parts may never power up without those options.

Maybe your on board codecs?

I don't know that your codec will be affected. With other chipsets, the SATA ports don't power up.

That's a problem for users with root on SATA :)

----------

## jagdpanther

pietinger and NeddySeagoon

I added all of the LPSS  and PINCTRL items suggested by NeddySeagoon as modules and rebooted.  I can see the modules:

```
# lsmod | grep -i lpss

intel_lpss_pci         28672  0

intel_lpss             16384  1 intel_lpss_pci

mfd_core               16384  1 intel_lpss

# lsmod | grep -i pinctrl

pinctrl_alderlake      28672  0

pinctrl_intel          24576  1 pinctrl_alderlake

# lsmod | grep -i snd

snd_usb_audio         282624  0

snd_hwdep              16384  1 snd_usb_audio

snd_usbmidi_lib        32768  1 snd_usb_audio

snd_rawmidi            32768  1 snd_usbmidi_lib

snd_seq_device         16384  1 snd_rawmidi

snd_pcm_oss            53248  0

snd_mixer_oss          28672  1 snd_pcm_oss

snd_hda_codec_hdmi     61440  1

snd_hda_intel          32768  0

snd_intel_dspcfg       16384  1 snd_hda_intel

snd_hda_codec         106496  2 snd_hda_codec_hdmi,snd_hda_intel

snd_hda_core           61440  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec

snd_pcm               114688  6 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_pcm_oss,snd_hda_core

snd_timer              32768  1 snd_pcm

snd                    90112  12 snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_pcm_oss,snd_pcm,snd_rawmidi,snd_mixer_oss

soundcore              16384  1 snd
```

Still no sound and the same error in dmesg:

```
[    3.074750] snd_hda_intel 0000:01:00.1: Disabling MSI

[    4.081864] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x000f0000

[    5.082909] snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it...

[    6.090909] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x000f0000

[    6.091372] snd_hda_intel 0000:00:1f.3: no codecs initialized
```

I also have USB Audio/MIDI driver enabled as a module.

I downloaded the latest Ubuntu LiveCD, burned it to a DVD and booted.  (Yes, I still like SATA optical drives.)

I received some checksum error with the normal Try or Install option.  So I tried again with safe graphics and  while the system was booting from the DVD I saw two messages almost identical (except much later time-stamp) to :

```
[    6.090909] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x000f0000

[    6.091372] snd_hda_intel 0000:00:1f.3: no codecs initialized   
```

I don't think there was an error with the iso download as I checked the sha256sum on the Ubuntu web site vs. the down loaded image and I always use the 'verify' option in k3b when I burned the DVD.

I am starting to think if I want sound I may need to purchase something like the following $40 sound card:

https://www.asus.com/us/Motherboards-Components/Sound-Cards/Gaming/Xonar-SE/

According to the Questions section on Amazon this card works on Linux.

However this MSI MB with the same sound chip works

https://lucraymond.net/2022/01/21/fix-audio-on-mpg-x570s-carbon-max-wifi-linux/

As a side note:  This new system (I call it my 2022 system) is much faster at compiling the kernel than my last  system the 2018 system.   The following time outputs are from the same 5.16.,x kernel.  The only difference is that on the old 2018 system I used make -j28  on the new 2022 system I used make -j24.   (Old system  14-core i9 --> 14 x 2.  New system 8P core x 2 + 8E core --> 24)  The kernel configuration options are similar with a few more options enabled for the new 2022 system.

```
2018 system:

compile kernel:

Kernel: arch/x86/boot/bzImage is ready  (#1)

real    1m17.626s

user    30m18.083s

sys     2m23.891s

2022 system:

compile kernel:

Kernel: arch/x86/boot/bzImage is ready  (#1)

real    0m54.918s

user    17m58.472s

sys     1m27.942s
```

----------

## NeddySeagoon

jagdpanther,

We are doing it wrong. Spending money is doing it wrong too. 

Your kernel needs SND_SOC_SOF_INTEL_TGL for your 

```
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:7ad0] (rev 11)
```

sound. See that page.

As its a SOF driver, you will probably need

```
sys-firmware/sof-firmware
```

----------

## Anon-E-moose

No snd_hda_codec_realtek ?? That alc is a realtek chipset

----------

## jagdpanther

 *Quote:*   

> Spending money is doing it wrong too. 

 

Yes,  I don't really like "fixing" an issue by throwing money/hardware  at it.

A few things I'll try this evening when I get home ...

 *Quote:*   

> No snd_hda_codec_realtek ?? That alc is a realtek chipset

 

I'll ensure that both the following modules are compiled 

  - SND_HDA_INTEL

  - SND_HDA_CODEC_REALTEK

But it does use snd_hda_intel:

```
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:7ad0] (rev 11)

        DeviceName: Onboard - Sound

        Subsystem: ASUSTeK Computer Inc. Device [1043:8694]

        Kernel driver in use: snd_hda_intel

        Kernel modules: snd_hda_intel 
```

From https://cateee.net/lkddb/web-lkddb/SND_SOC_SOF_INTEL_TGL.html I see:

 *Quote:*   

> vendor: 8086 ("Intel Corporation"), device: 7ad0 ("Alder Lake-S HD Audio Controller")

 

Which is my chip.   Thanks NeddySeagoon for the link.

I'll ensure that snd_soc_sof_intel_tgl is selected in the kernel.

 *Quote:*   

> you will probably need sys-firmware/sof-firmware

 

In all the years I have used Gentoo I don't think I have ever used any of the firmware packages.  Is there anything I should know?  I found https://wiki.gentoo.org/wiki/Linux_firmware.

----------

## Anon-E-moose

```
$ lsmod |grep snd

snd_hda_codec_realtek   139264  1

snd_hda_codec_generic    81920  1 snd_hda_codec_realtek

ledtrig_audio          16384  1 snd_hda_codec_generic

snd_hda_codec_hdmi     65536  1

snd_hda_intel          32768  0

snd_intel_dspcfg       16384  1 snd_hda_intel

snd_hda_codec         110592  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek

snd_hwdep              16384  1 snd_hda_codec

snd_hda_core           65536  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek

snd_pcm               110592  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core

snd_timer              32768  1 snd_pcm

snd                    77824  7 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm

soundcore              16384  1 snd
```

snd_hda_codec should pull in all modules that will work with your chipset.

Not sure how I feel about the newer sof* stuff.

----------

## pietinger

 *jagdpanther wrote:*   

> [...] Is there anything I should know?  I found https://wiki.gentoo.org/wiki/Linux_firmware.

 

In every case you must "emerge linux-firmware" and then it depends:

a) If you have build a module (which needs firmware) as <M>odule, then this module is able to load its firmware at BOOTTIME from /lib/firmware/...

b) If you have build a module (which needs firmware) static into the kernel, then you must configure its firmware also static into the kernel (It will be integrated as BLOB into the kernel), because it cannot be loaded from /lib/firmware (it will be loaded from /lib/firmware at COMPILETIME and then never again, so you could delete /lib/firmware - but you shouldnt). See description in your Link to WIKI.

----------

## NeddySeagoon

jagdpanther,

SND_SOC_SOF_INTEL_TGL is a whole nest of vipers,

You will want the 'z' toggle in menuconfig to find it.

It appears to have its own codec support too.

sys-firmware/sof-firmware is not included is linux-firmware.

I'm fairly sure you will need it though as one of the knobs you will enable is called  

```
[*]   Sound Open Firmware Support  --->
```

 inside there is 

```
<M>     SOF support for Alderlake (NEW)
```

It's probably not going to go the first time but all the bits are there somewhere :)

----------

## jagdpanther

 *Quote:*   

> SND_SOC_SOF_INTEL_TGL is a whole nest of vipers

 

Yes, it is.

After a little careful reading and the z toggle I finally think I have it set up:

```
 .config - Linux/x86 5.17.4-gentoo-r1-1 Kernel Configuration

 [...] und Architecture > ALSA for SoC audio support > Sound Open Firmware Support

  ┌──────────────────────── Sound Open Firmware Support ────────────────────────┐

  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty     │  

  │  submenus ----).  Highlighted letters are hotkeys.  Pressing <Y> includes,  │  

  │  <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for │  

  │  Help, </> for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < > │  

  │ ┌─────────────────────────────────────────────────────────────────────────┐ │  

  │ │    --- Sound Open Firmware Support                                      │ │  

  │ │    <M>   SOF PCI enumeration support                                    │ │  

  │ │    < >   SOF ACPI enumeration support                                   │ │  

  │ │    [ ]   SOF enable data probing                                        │ │  

  │ │    < >   SOF support for AMD audio DSPs                                 │ │  

  │ │    [*]   SOF support for Intel audio DSPs                               │ │  

  │ │    < >     SOF support for Tangier/Merrifield                           │ │  

  │ │    < >     SOF support for Apollolake                                   │ │  

  │ │    < >     SOF support for GeminiLake                                   │ │  

  │ │    < >     SOF support for Cannonlake                                   │ │  

  │ │    < >     SOF support for CoffeeLake                                   │ │  

  │ │    < >     SOF support for CometLake                                    │ │  

  │ │    < >     SOF support for Icelake                                      │ │  

  │ │    < >     SOF support for JasperLake                                   │ │  

  │ │    < >     SOF support for Tigerlake                                    │ │  

  │ │    < >     SOF support for ElkhartLake                                  │ │  

  │ │    <M>     SOF support for Alderlake                                    │ │  

  │ │    [ ]     SOF support for HDA Links(HDA/HDMI) (NEW)                    │ │  

  │ │  
```

I assume that the reason (after a reboot) that the firmware was not loaded is that I need to add entries (probably "sof" and "sof-tplg") 

from the sof-firmware package  and remove all the other entries (from linxu-firmware) in /etc/portage/savedconfig/sys-kernel/linux-firmware-20220411  ??

According to the output of 'emerge linux-firmware':

```
 * Removing broken symlinks ...

 * Your configuration for sys-kernel/linux-firmware-20220411 has been saved in 

 * "/etc/portage/savedconfig/sys-kernel/linux-firmware-20220411" for your editing pleasure.

 * You can edit these files by hand and remerge this package with

 * USE=savedconfig to customise the configuration.

 * You can rename this file/directory to one of the following for

 * its configuration to apply to multiple versions:

 * ${PORTAGE_CONFIGROOT}/etc/portage/savedconfig/

 * [${CTARGET}|${CHOST}|""]/${CATEGORY}/[${PF}|${P}|${PN}]

>>> Completed installing sys-kernel/linux-firmware-20220411 into /tmp/portage/sys-kernel/linux-firmware-20220411/image

```

----------

## Elongate

I'm trying to troubleshoot the same no z690 motherboard audio issue on Ubuntu 22.04 (but on latest stable kernel: 5.17.6).

Been discussing it here https://forum.level1techs.com/t/no-z690-chipset-linux-drivers-really/

Just realized that lspci identifies what I suspect is the HD audio device as 7AC0, but Intel lists the HD audio device as 7AD0 here

https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/intel-600-series-chipset-family-platform-controller-hub-pch-datasheet-volume/004/device-and-revision-id/

My theory is that because the ID's don't match, the snd_hda_intel audo driver isn't getting bound to the device.

Could this just be a typo in either the the Intel documentation or the Intel series 600 platform driver?

----------

## jagdpanther

Elongate:

Thanks for the post.  I am still having the same issue but was running short of things to try.

(I tried booting a usb image of ubuntu-22.04-desktop-amd64.iso just this morning and no audio.)

The interesting thing is using the "default" setting from alsamixer I  do have analog out (at least the main channel) but I can't tell what it connecting to and there is no "Card 0" in alsamixer.  But what I really want is to get the SPDIF optical port working.

----------

## pietinger

 *Elongate wrote:*   

> Been discussing it here [1] https://forum.level1techs.com/t/no-z690-chipset-linux-drivers-really/
> 
> Just realized that lspci identifies what I suspect is the HD audio device as 7AC0, but Intel lists the HD audio device as 7AD0 here
> 
> [2] https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/intel-600-series-chipset-family-platform-controller-hub-pch-datasheet-volume/004/device-and-revision-id/
> ...

 

What do you mean ? In both documents [1] + [2] you will see that 7AC0 is a PCIe Port and ONLY 7AD0 is sound.

----------

## Elongate

 *pietinger wrote:*   

> What do you mean ? In both documents [1] + [2] you will see that 7AC0 is a PCIe Port and ONLY 7AD0 is sound.

 

Ok, I admit I'm probably wrong.  I'm just another user struggling to get the motherboard sound hardware working under linux, nothing more.

At this point since there are no other obvious options I'm going to just wait until kernel 5.18 comes out (hopefully sunday) and hope it resolves the issue.

Not to add to the confusion, I now see that the Realtek ALC4080 Codec hardware on my MSI Z690 TORPEDO DDR4 motherboard is supposedly connected to the system via USB:

https://www.igorslab.de/en/the-old-alc4080-on-the-new-intel-boards-demystified-and-the-differences-from-alc1220-insider/

which would explain why it's not being listed as a PCIe device.

Unless someone has suggestions...

----------

## NeddySeagoon

Elongate,

Here's a few requests for information.

Put the following onto a pastebin site.

1. the output of dmesg

2. your kernel .config fire.

and post the links

Post the output of 

```
lspci -nnk
```

Post the content of 

```
/proc/asound/devices
```

What does 

```
grep -R -i codec /proc/asound
```

return?

If your analogue audio does not appear in lspci, its probably disabled in the BIOS.

----------

## Elongate

Thanks for offering to help, @NeddySeagoon

As the new kernel is coming out today I'm going to hold off on taking your time.  If/when the issue persists I'll bleat for help.  Either way I'll report back on whether the new kernel resolves the issue.

----------

## jagdpanther

Treating the Asus Z690 based mother board (ROG Strix Z690-E Gaming Wifi) as a USB audo device seems to work well for most things.  Alsasmixer  has a "sound card" entry: Default 2  USB  Audio that gives good quality analog output.  Unfortunately,  I still can't get the optical output (SPDIF) working.   I plan to start a new post about that.

----------

