View Issue Details

IDProjectCategoryView StatusLast Update
0001471channel: kernel/el9kernel-ltpublic2024-08-20 13:21
Reporterludditus Assigned Totoracat  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionno change required 
Summary0001471: kernel-lt 6.1.101 and 6.1.102 break the Intel Alder Lake audio controller with PCI ID 8086:51c8:1025:161d
Descriptionkernel-lt 6.1.100 was the last in this line for which the Intel Alder Lake audio controller with PCI ID 8086:51c8:1025:161d worked. Obviously, alsa-sof-firmware has to be installed.

Additional Information`lspci -nnk` on a working machine (6.1.100):
0000:00:1f.3 Multimedia audio controller [0401]: Intel Corporation Alder Lake PCH-P High Definition Audio Controller [8086:51c8] (rev 01)
        Subsystem: Acer Incorporated [ALI] Device [1025:161d]
        Kernel driver in use: sof-audio-pci-intel-tgl
        Kernel modules: snd_hda_intel, snd_soc_avs, snd_sof_pci_intel_tgl

`lspci -nnk` on a broken machine (6.1.101 and 102):
0000:00:1f.3 Multimedia audio controller [0401]: Intel Corporation Alder Lake PCH-P High Definition Audio Controller [8086:51c8] (rev 01)
        Subsystem: Acer Incorporated [ALI] Device [1025:161d]
        Kernel driver in use: sof-audio-pci-intel-tgl
        Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl

`sudo modprobe snd_soc_avs` is useless: the missing module loads, but it doesn't work.

This device works with the official 5.14 `kernel`, and also with the 6.10.2 `kernel-ml`.

For reference: https://linux-hardware.org/?id=pci:8086-51c8-1025-161d
TagsNo tags attached.

Activities

ludditus

2024-08-05 18:51

reporter   ~0009997

Still valid for 6.1.103. Comparative dmesg output vs 6.1.100:

$ uname -a
Linux weed 6.1.103-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Aug 3 14:44:23 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
$ sudo dmesg|grep 'snd_hda\|sof-'
[ 5.367985] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.368118] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.453837] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.453930] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.453943] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 5.454095] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 5.454169] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 5.460895] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[ 5.487370] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[ 5.487373] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 5.487376] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[ 5.500929] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 5.500931] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.500937] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 5.593800] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 5.593803] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.601902] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.602006] sof-audio-pci-intel-tgl 0000:00:1f.3: error: source BUF30.1\xff\x80\x85\x1b\x84\x8b\xf6\xff\xff\xc0\x85\x1b\x84\x8b\xf6\xff\xff\x80\xc3\xfd\xe0\x14\x9c\xff\xff not found
[ 5.602040] sof-audio-pci-intel-tgl 0000:00:1f.3: error: tplg component load failed -22
[ 5.602043] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP topology -22
[ 5.602044] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -22

$ uname -a
Linux weed 6.1.100-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 18 12:50:51 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
$ sudo dmesg|grep 'snd_hda\|sof-'
[ 5.300643] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.300792] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.386012] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.386103] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.386114] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 5.386280] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 5.386355] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 5.392434] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[ 5.418177] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[ 5.418181] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 5.418183] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[ 5.432086] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 5.432088] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.432095] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 5.525352] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 5.525354] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.535704] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.554410] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC256: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 5.554412] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 5.554413] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 5.554414] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 5.554415] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 5.554415] snd_hda_codec_realtek ehdaudio0D0: Headset Mic=0x19
[ 5.609454] input: sof-hda-dsp Headset Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input22
[ 5.609480] input: sof-hda-dsp Front Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input23
[ 5.609509] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input24
[ 5.609527] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input25
[ 5.609550] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input26

I happen to still have the 6.1.100 kernel, but it's not installable anymore.

toracat

2024-08-06 14:32

administrator   ~0009999

When going from kernel-lt-6.1.100 to 6.1.101, some changes were made to the kernel config as seen in:

https://github.com/elrepo/kernel/commit/931e0ec982bac2d3ead7fa99ccd2ca01964172c4

Just to see if the modifications caused the issue you are seeing, I reverted the changes and re-built kernel-lt-6.1.103 as:

kernel-lt-6.1.103-1mod.el9.elrepo.x86_64.rpm

This kernel package set is available from:

https://elrepo.org/people/toracat/devel/kernel-lt/el9/x86_64/RPMS/

Can you please test and see if this fixes the issue for you?

ludditus

2024-08-06 16:01

reporter   ~0010000

Unfortunately, no success. No audio device.

$ uname -a
Linux weed 6.1.103-1mod.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Aug 6 13:15:28 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
$ sudo dmesg|grep 'snd_hda\|sof-'
[ 5.335693] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.335961] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.427387] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.427476] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.427487] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 5.427633] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 5.427701] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 5.434474] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[ 5.461823] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[ 5.461827] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 5.461830] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[ 5.475293] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 5.475296] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.475302] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 5.568436] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 5.568439] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.576816] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.576932] sof-audio-pci-intel-tgl 0000:00:1f.3: error: source PCM3P\x0e not found
[ 5.576969] sof-audio-pci-intel-tgl 0000:00:1f.3: error: tplg component load failed -22
[ 5.576971] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP topology -22
[ 5.576972] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -22

Should we assume it's an upstream bug? It's weird how they broke only the 6.1 line (6.10.3 works, 6.11-rc1 works, I have yet to test rc2).

toracat

2024-08-06 16:48

administrator   ~0010001

Yes, at this point I believe we can eliminate the possibility that elrepo's packaging is the source of the problem. Since we do not modify the kernel source code, unless our kernel options are causing the issue, we have to consider reporting upstream.

One thing I can think of is a combination of the kernel version and the firmware version. It is possible that the newer versions of kernel-lt broke this relationship.

ludditus

2024-08-06 17:10

reporter   ~0010002

Great idea, but sad news.

I removed `alsa-sof-firmware-2023.12-1.el9.noarch.rpm` and replaced it with the latest/newer `alsa-sof-firmware-2024.03-8.el10.noarch.rpm` from
https://mirror.stream.centos.org/10-stream/AppStream/x86_64/os/Packages/alsa-sof-firmware-2024.03-8.el10.noarch.rpm

Unfortunately, still no sound for the latest `kernel-lt`:
6.1.103-1.el9.elrepo.x86_64
6.1.103-1mod.el9.elrepo.x86_64

The other kernels still offer sound with the newer `alsa-sof-firmware`:
6.11.0-0.rc2.el9.elrepo.x86_64
6.10.3-1.el9.elrepo.x86_64
6.1.100-1.el9.elrepo.x86_64
5.14.0-427.28.1.el9_4.x86_64

toracat

2024-08-06 17:15

administrator   ~0010003

Sorry for my ignorance but is linux-firmware also involved in the sound business at all?

ludditus

2024-08-06 17:44

reporter   ~0010004

I have absolutely no idea.
BTW, even when the audio works, there is this firmware/kernel mismatch:
[ 5.399109] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 5.399111] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.399118] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 5.491953] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 5.491956] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.500175] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[ 5.523323] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC256: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker

But replacing `linux-firmware-20240603-143.1.el9_4.noarch.rpm` with the slightly newer
https://mirror.stream.centos.org/10-stream/BaseOS/x86_64/os/Packages/linux-firmware-20240624-5.el10.noarch.rpm
broke my Wi-Fi (MT7663 using mt7615e), so it's a no-go. I had to revert to the official firmware package.

ludditus

2024-08-19 18:10

reporter   ~0010033

The bug automagically disappeared in 6.1.106-1.el9.elrepo.x86_64!
The sound started to work again in kernel-lt 6.1.106.

toracat

2024-08-19 18:14

administrator   ~0010034

That is excellent news but makes me wonder what code change caused the trouble and was later fixed ...

ludditus

2024-08-19 18:41

reporter   ~0010035

I couldn't identify anything relevant in ChangeLog-6.1.106. Nothing reverted or obviously able to have an impact.

But I also couldn't identify the offensive change in ChangeLog-6.1.101. I had my suspects, which I examined and found nothing peculiar:
ASoC: SOF: sof-audio: Skip unprepare for in-use widgets on error rollback
ASoC: topology: Do not assign fields that are already set
ASoC: topology: Fix references to freed memory

But the same patches have entered 6.9.11 and 6.10, and those kernel lines work(ed) just fine. There was this batch:
* tag 'sound-6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (40 commits)
      ASoC: rt5645: fix issue of random interrupt from push-button
      ALSA: seq: Fix missing MSB in MIDI2 SPP conversion
      ASoC: amd: yc: Fix non-functional mic on ASUS M5602RA
      ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook 645/665 G11.
      ALSA: hda/realtek: Fix conflicting quirk for PCI SSID 17aa:3820
      ALSA: dmaengine_pcm: terminate dmaengine before synchronize
      ALSA: hda/relatek: Enable Mute LED on HP Laptop 15-gw0xxx
      ALSA: PCM: Allow resume only for suspended streams
      ALSA: seq: Fix missing channel at encoding RPN/NRPN MIDI2 messages
      ASoC: mediatek: mt8195: Add platform entry for ETDM1_OUT_BE dai link
      ASoC: fsl-asoc-card: set priv->pdev before using it
      ASoC: amd: acp: move chip->flag variable assignment
      ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe()
      ASoC: amd: acp: add a null check for chip_pdev structure
      ASoC: Intel: soc-acpi: mtl: fix speaker no sound on Dell SKU 0C64
      ASoC: q6apm-lpass-dai: close graph on prepare errors
      ASoC: cs35l56: Disconnect ASP1 TX sources when ASP1 DAI is hooked up
      ASoC: topology: Fix route memory corruption
      ASoC: rt722-sdca-sdw: add debounce time for type detection
      ASoC: SOF: sof-audio: Skip unprepare for in-use widgets on error rollback
...

Are you 110% or 200% sure that your build options have not changed?

toracat

2024-08-19 19:55

administrator   ~0010036

Config change going from 6.1.105 to 6.1.106 is seen in this git entry:

https://github.com/elrepo/kernel/commit/784938048458a6ad1754b4faec70f3da82d1db7b

So, the content remained unchanged, 200%. :)

ludditus

2024-08-20 03:26

reporter   ~0010037

Then it will remain a mystery forever.

toracat

2024-08-20 13:20

administrator   ~0010038

All's well that ends well. I'm going to mark this ticket "resolved".

Issue History

Date Modified Username Field Change
2024-07-31 04:19 ludditus New Issue
2024-07-31 04:19 ludditus Status new => assigned
2024-07-31 04:19 ludditus Assigned To => toracat
2024-07-31 11:46 toracat Status assigned => acknowledged
2024-08-05 18:51 ludditus Note Added: 0009997
2024-08-06 14:32 toracat Note Added: 0009999
2024-08-06 14:32 toracat Status acknowledged => feedback
2024-08-06 16:01 ludditus Note Added: 0010000
2024-08-06 16:01 ludditus Status feedback => assigned
2024-08-06 16:48 toracat Note Added: 0010001
2024-08-06 17:10 ludditus Note Added: 0010002
2024-08-06 17:15 toracat Note Added: 0010003
2024-08-06 17:44 ludditus Note Added: 0010004
2024-08-19 18:10 ludditus Note Added: 0010033
2024-08-19 18:14 toracat Note Added: 0010034
2024-08-19 18:41 ludditus Note Added: 0010035
2024-08-19 19:55 toracat Note Added: 0010036
2024-08-20 03:26 ludditus Note Added: 0010037
2024-08-20 13:20 toracat Note Added: 0010038
2024-08-20 13:21 toracat Status assigned => resolved
2024-08-20 13:21 toracat Resolution open => no change required