I built and tested a local kernel module patch for this issue, and it
fixes the built-in speakers on this machine.

Tested hardware:
- Lenovo Legion 7 16IAX7
- Realtek ALC287 codec SSID: 17aa:3874
- CS35L41 amp ACPI HID: CSC3551
- Kernel tested: Ubuntu 7.0.0-22-generic

Patch summary:
- Add `SND_PCI_QUIRK(0x17aa, 0x3874, "Legion 7i 16IAX7", 
ALC287_FIXUP_CS35L41_I2C_2)` in `sound/hda/codecs/realtek/alc269.c`
- Add `17AA3874` to the CS35L41 config table in 
`sound/hda/codecs/side-codecs/cs35l41_hda_property.c`
- Add `CSC3551` + `17AA3874` to the CS35L41 property model table, using 
`generic_dsd_config`
- The `17AA3874` CS35L41 config mirrors the already-supported nearby `17AA386F` 
Legion 7i configuration

Validation result:
- Patched modules loaded successfully under Secure Boot after MOK enrollment
- `dmesg` now shows `Adding DSD properties for 17AA3874`
- Both `i2c-CSC3551:00-cs35l41-hda.0` and `.1` probe successfully
- CS35L41 firmware loads for both amps
- Calibration is applied for both amps
- Both amps bind to `snd_hda_codec_alc269`
- Built-in speaker playback works
- The previous failure signatures are gone:
  - `Failed property cirrus,dev-index`
  - `Platform not supported`
  - `probe with driver cs35l41-hda failed`

Patch file from my local test workspace:
`/home/kamlesh/Repos/kernel-audio-fix/upstream-submission/0001-ALSA-hda-Add-Lenovo-Legion-7i-16IAX7-17AA3874-quirk.patch`

I am preparing/submitting this upstream to the ALSA/kernel maintainers as:
`[PATCH] ALSA: hda: Add Lenovo Legion 7i 16IAX7 17AA3874 quirk`

-- 
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

Reply via email to