cirrus/cs35l41 'Cannot Initialize Firmware. Error: -22'
Hi,
What did you try to accomplish?
install debian bookworm on Lenovo Legion 7 16ACHg6
What has happened (wrongly) instead?
a) multiple errors in boot log saying 'failed to load
cirrus/cs35l41...wmf', and after fix attempt 'invalid magic' and 'Cannot
Initialize Firmware. Error: -22'
b) sound is working, but on shutdown there is 'static burst' from speakers
c) when open laptop after suspend there two errors saying suspend and
smth else not supported, and only hard reset hepls
What environment are you using?
$ uname -a
Linux debian 6.1.0-8-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.25-1
(2023-04-22) x86_64 GNU/Linux
gnome 43.4
What did you try to find the cause?
I did steps from 'Firmware missing from Debian' from debian wiki, that
fixed couple rows, then Reddit suggested to symlink .bin to .wmfw, that
fixed most missing files erros but firmware can not be started
Are there error message or log files?
a) initial
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-l0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-l0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-r0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-r0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot.wmfw (-2)
b) after adding cirrus dir to /lib/firmware
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-l0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-l0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-r0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-r0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw (-2)
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
failed to load cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw (-2)
c) after symlinking bins to wmf
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: Cirrus Logic
CS35L41 (35a40), Revision: B2
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: Reset line
busy, assuming shared reset
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: Cirrus Logic
CS35L41 (35a40), Revision: B2
debian kernel: snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
debian kernel: snd_hda_intel 0000:01:00.1: Disabling MSI
debian kernel: snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio
client
debian kernel: snd_hda_intel 0000:06:00.6: enabling device (0000 -> 0002)
debian kernel: input: HDA NVidia HDMI/DP,pcm=3 as
/devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input10
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
direct-loading firmware cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.wmfw
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: firmware:
direct-loading firmware cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.bin
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: DSP1:
cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.wmfw: invalid magic
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: Cannot
Initialize Firmware. Error: -22
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.0: Cannot Run
Firmware, reverting to dsp bypass...
debian kernel: snd_hda_codec_realtek hdaudioC1D0: bound
i2c-CLSA0100:00-cs35l41-hda.0 (ops cs35l41_hda_comp_ops
[snd_hda_scodec_cs35l41])
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
direct-loading firmware cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.wmfw
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: firmware:
direct-loading firmware cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.bin
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: DSP1:
cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.wmfw: invalid magic
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: Cannot
Initialize Firmware. Error: -22
debian kernel: cs35l41-hda i2c-CLSA0100:00-cs35l41-hda.1: Cannot Run
Firmware, reverting to dsp bypass...
debian kernel: snd_hda_codec_realtek hdaudioC1D0: bound
i2c-CLSA0100:00-cs35l41-hda.1 (ops cs35l41_hda_comp_ops
[snd_hda_scodec_cs35l41])
debian kernel: snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC287:
line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
debian kernel: snd_hda_codec_realtek hdaudioC1D0: speaker_outs=0
(0x0/0x0/0x0/0x0/0x0)
debian kernel: snd_hda_codec_realtek hdaudioC1D0: hp_outs=1
(0x21/0x0/0x0/0x0/0x0)
debian kernel: snd_hda_codec_realtek hdaudioC1D0: mono: mono_out=0x0
debian kernel: snd_hda_codec_realtek hdaudioC1D0: inputs:
debian kernel: snd_hda_codec_realtek hdaudioC1D0: Mic=0x19
debian kernel: snd_hda_codec_realtek hdaudioC1D0: Internal Mic=0x12
debian kernel: input: HDA Digital PCBeep as
/devices/pci0000:00/0000:00:08.1/0000:06:00.6/sound/card1/input14
debian kernel: input: HDA NVidia HDMI/DP,pcm=7 as
/devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input11
debian kernel: input: HDA NVidia HDMI/DP,pcm=8 as
/devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input12
debian kernel: input: HDA NVidia HDMI/DP,pcm=9 as
/devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input13
debian alsactl[919]: Found hardware: "HDA-Intel" "Realtek ALC287"
"HDA:10ec0287,17aa3847,00100002" "0x17aa" "0x382b"
debian /usr/libexec/gdm-x-session[1040]: (II) config/udev: Adding input
device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event4)
debian /usr/libexec/gdm-x-session[1040]: (II) config/udev: Adding input
device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event5)
debian /usr/libexec/gdm-x-session[1040]: (II) config/udev: Adding input
device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event11)
debian /usr/libexec/gdm-x-session[1040]: (II) config/udev: Adding input
device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event12)
debian /usr/libexec/gdm-x-session[1040]: (II) config/udev: Adding input
device HDA Digital PCBeep (/dev/input/event9)
debian /usr/libexec/gdm-x-session[2161]: (II) config/udev: Adding input
device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event4)
debian /usr/libexec/gdm-x-session[2161]: (II) config/udev: Adding input
device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event5)
debian /usr/libexec/gdm-x-session[2161]: (II) config/udev: Adding input
device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event11)
debian /usr/libexec/gdm-x-session[2161]: (II) config/udev: Adding input
device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event12)
debian /usr/libexec/gdm-x-session[2161]: (II) config/udev: Adding input
device HDA Digital PCBeep (/dev/input/event9)
Reply to: