Crackling audio due to SOF firmware ABI 3:22:1 vs kernel ABI 3:23:0 on Intel ICL (Tecno T1)
Problem: Crackle/crackle noise over time on Tecno T1 with Ice Lake-LP SST audio
On the Tecno T1 laptop with Intel Ice Lake-LP Smart Sound Technology (SST) Audio Controller (8086:34c8), a crackling or "sand-like" noise appears from the speakers after several minutes of use. The noise increases over time and disappears only after reboot.
This issue occurs when using the sof-audio-pci-intel-icl driver with kernel 6.8.x (e.g., 6.8.0-84-generic). Downgrading to older kernels (e.g., 6.6.x) reduces or eliminates the issue.
- Crackling sound starts after 1 min
- Affects internal speakers and external output
- Disappears after reboot
- Returns after some time
[ 8.392475] sof-audio-pci-intel-icl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0 [ 8.499020] sof-audio-pci-intel-icl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0 [ 8.524446] sof-audio-pci-intel-icl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
There is an ABI mismatch between the kernel (3:23:0) and the firmware (3:22:1).
Also observed: [ 9.406540] sof-audio-pci-intel-icl 0000:00:1f.3: codec #1 probe error, ret: -5
Hardware:
- Device: Tecno T1
- Audio controller:
00:1f.3 Audio device: Intel Corporation Ice Lake-LP Smart Sound Technology Audio Controller (rev 30) - Subsystem:
1f5c:0002 - Driver in use:
sof-audio-pci-intel-icl
Workaround:
Adding this line to /etc/modprobe.d/sof.conf helps reduce noise:
options snd_sof_pci dsp_driver=1 power_save=0 power_save_controller=N
Expected behavior: No crackling noise; stable audio output without requiring reboots.
Request: Please release updated firmware-sof-signed package with SOF firmware version supporting ABI 3:23:0 for kernel 6.8+.
Thank you!
Can you attach the report of alsa-info.sh --no-upload
The, can you rename sof-dyndbg.conf.txt to sof-dyndbg.conf and put it in the /etc/modprobe.d/ folder and share the full dmesg log after reboot? Also please try to capture the kernel log when the audio artifacts starts to happen ( you might also need to increase the kernel buffer for logs: log_buf_len=4M if it is cropped)?
Does the audio starts to crackle after continuous use or after audio stop/start cycles?
Note of the listed options in options snd_sof_pci dsp_driver=1 power_save=0 power_save_controller=N are not applicable for snd-sof-pci module, so they should not have any effect.
options snd_intel_dspcfg dsp_driver=1
will switch to legacy stack, please try using this and see if the issue reproduces.
What is the version of sof-firmware (or the package for the firmware/topology your distribution is providing)? Can you upgrade the kernel to a more recent version?
-
Report alsa-info-tecno-t1.txt
-
Renamed sof-dyndbg.conf.txt to sof-dyndbg.conf and placed it in the /etc/modprobe.d/ folder
-
Full dmesg log after reboot dmesg-full.log
-
Increased log buffer GRUB_CMDLINE_LINUX_DEFAULT="quiet splash log_buf=4M" Log after reboot, and with audio enabled, with crackling noise: dmesg-log after reboot.log
The crackling noise begins immediately when playing video or audio (sometimes louder, sometimes softer); when not playing, there is no extraneous noise. It is not related to stop/start cycles.
-
When switching to Legacy stack, the noise became much less, but did not disappear completely.
-
The system uses firmware-sof-signed version 2023.12.1-1ubuntu1.9, provided by Ubuntu Noble (24.04). This version includes SOF firmware with ABI 3:22:1, while the running kernel (6.8.0-84-generic) expects ABI 3:23:0. As a result, there is a mismatch that likely causes audio artifacts (crackling) over time: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
-
No, I cannot upgrade further through standard repositories. The installed kernel 6.8.0-84-generic is the latest available in Ubuntu Noble (24.04) as of now.
The issue is outside of the scope of SOF, it is an issue how the codec is integrated into the laptop. On cold boot the codec fails to probe in case of legacy and SOF stack as well:
[ 4.923665] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x100f0000
[ 5.925654] snd_hda_intel 0000:00:1f.3: Codec #1 probe error; disabling it...
[ 9.464646] sof-audio-pci-intel-icl 0000:00:1f.3: codec #1 probe error, ret: -5
I'm not sure what can be tried to correct this, I would suggest to send a mail to [email protected] asking for help, with logs from Legacy mode. Add Takashi Iwai <[email protected]> and Jaroslav Kysela <[email protected]> to Cc for the mail.
I would try this if helps: add to /etc/modprobe.d/tecno-hda.conf
options snd_sof_intel_hda hda_codec_mask=5
options snd_hda_intel probe_mask=5
this would force to probe only codec in slot 0 and 2.