Public bug reported: His is the hardware:
Laptop: Lenovo Legion 7 16IAX7 Audio codec: Realtek ALC287 Codec subsystem ID: 0x17aa3874 Smart amp ACPI HID: CSC3551 / CS35L41 Known Working/Related Quirk: Nearby supported Lenovo board appears to be 17AA386F. Using snd-hda-intel model alias makes Realtek pick that quirk: `options snd-hda-intel model=17aa:386f`. Installed Mint / Ubuntu OEM Kernel ``` Kernel: 6.17.0-1025-oem /proc/asound/card0/codec#0: Codec: Realtek ALC287 Subsystem Id: 0x17aa3874 ``` I tried setting the realtek alias like this: After setting /etc/modprobe.d/legion-audio.conf to: options snd-hda-intel model=17aa:386f dmesg shows: snd_hda_codec_alc269 hdaudioC0D0: ALC287: picked fixup for alias SSID 17aa:386f But CS35L41 Amp Still Fails: dmesg: cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Failed property cirrus,dev-index: -22 cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: error -EINVAL: Platform not supported cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: probe with driver cs35l41-hda failed with error -22 cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Failed property cirrus,dev-index: -22 cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: error -EINVAL: Platform not supported cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: probe with driver cs35l41-hda failed with error -22 I tried to find anything related to DSDs for CS35L41 and couldn't find anything. Command: `sudo dmesg | grep -i 'Adding DSD'` Result: `No output` I also tried this with a bunch of other distros (albeit on live USB sticks). Linux Mint installed system: - Kernel: 6.17.0-1025-oem - Built-in speakers fail - Same CS35L41 errors Linux Mint live USB: - Kernel: 6.14.0-037-generic - Built-in speakers fail - Same CS35L41 errors Ubuntu live USB: - Built-in speakers fail - Same CS35L41 errors Fedora live USB: - Kernel: 6.19.10-300.fc44.x86_64 - Built-in speakers fail - Same CS35L41 errors I tried with Bluetooth audio and headphones and they work, so userspace audio routing/codecs are functional. I am constantly seeing the amp probe fail with missing cirrus,dev-index/platform data. The real board SSID is 17AA3874, while a nearby Legion board 17AA386F appears to have existing support. Last but not the least, i was searching for this online and i could see this: https://codebrowser.dev/linux/linux/sound/hda/codecs/realtek/alc269.c.html#7242 (this is probably why the realek alias was picked up. It may also need a Realtek ALC287 quirk entry SND_PCI_QUIRK(0x17aa, 0x3874, "Legion 7 16IAX7", ALC287_FIXUP_CS35L41_I2C_2) and in https://codebrowser.dev/linux/linux/sound/hda/codecs/side-codecs/cs35l41_hda_property.c.html#125 (adjacent to this i think?) Please bear with me as this is my first bug report and I am happy to provide any other information as well. I have also created a bug ticket in the kernel.org bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=221663 ** Affects: linux (Ubuntu) Importance: Undecided Status: New ** Bug watch added: Linux Kernel Bug Tracker #221663 https://bugzilla.kernel.org/show_bug.cgi?id=221663 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2157060 Title: Lenovo Legion 7 16IAX7 17AA3874: CS35L41 amps fail with missing cirrus,dev-index To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2157060/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
