Hi,
On 29/10/2025 12:28, Péter Ujfalusi wrote:
Hi,
On 29/10/2025 10:26, Nadim Kobeissi wrote:
Hi SOF developers,
I'm reaching out for help getting audio working on the Lenovo Legion Pro 7 16IAX10H (subsystem ID 17aa:3906/17aa:3907). This laptop uses an Intel Arrow Lake-S platform with:
* Codec: Realtek ALC287 (detected as ALC287, actually ALC3306 per specs) * Amplifiers: Awinic AWDZ8399 (x2) on i2c-2 at 0x34 and 0x35 * ACPI device: _SB.PC02.I2C2.SPKR with device ID "AWDZ8399"
On HDA device the i2c codecs are usually connected to the HDA codec and they control them. I personally have not seen any device which would have Analog HDA codec and an i2s (SSP) codec connected directly to Intel SSP port.
Others can correct me on this..
I think what you need is something similar to other Legion devices where different amps have been used:
$ cat sound/hda/codecs/realtek/alc269.c | grep "Lenovo Legion 7" SND_PCI_QUIRK(0x17aa, 0x3877, "Lenovo Legion 7 Slim 16ARHA7", ALC287_FIXUP_CS35L41_I2C_2), SND_PCI_QUIRK(0x17aa, 0x3878, "Lenovo Legion 7 Slim 16ARHA7", ALC287_FIXUP_CS35L41_I2C_2),
$ cat sound/hda/codecs/realtek/alc269.c | grep "Legion Pro" HDA_CODEC_QUIRK(0x17aa, 0x38a8, "Legion Pro 7 16ARX8H", ALC287_FIXUP_TAS2781_I2C), /* this must match before PCI SSID 17aa:386f below */ SND_PCI_QUIRK(0x17aa, 0x386f, "Legion Pro 7i 16IAX7", ALC287_FIXUP_CS35L41_I2C_2),
Looks like the Legion Pro 7 comes in pretty wide array of config as well, but you need some thing along these lines.
Basically you need to figure out how the AWDZ8399s are connected and what commands they need. Only Lenovo or Realtek/Awinic might know what needs to be done to get the speakers working as they should.
*Current Status:*
The good news is that the snd_soc_aw88399 codec driver exists (kernel 6.7+) and successfully binds to the I2C devices. When I force SOF with | snd_intel_dspcfg.dsp_driver=3|:
* sof-audio-pci-intel-mtl claims the device successfully * SOF firmware loads: intel/sof-ipc4/arl-s/sof-arl-s.ri (v2.13.0.1) * However, it falls back to the generic machine driver (skl_hda_dsp_generic) * This loads intel/sof-ace-tplg/sof-hda-generic.tplg * This topology only includes HDA codec paths - NO I2C amplifier integration
*The Problem:*
Without proper topology and machine driver integration, the AW88399 amplifiers aren't connected to the audio pipeline. Currently, audio is extremely quiet and tinny (sounds like only tweeters working?)
*What's Needed:*
- A topology file for ALC287 + AW88399 combination (e.g.,
"sof-arl-alc287-aw88399.tplg") 2. ACPI/DMI quirk entries for 17aa:3906 and 17aa:3907 that: * Force SOF driver instead of legacy snd_hda_intel * Select appropriate machine driver (not generic) * Configure SSP routing for codec + I2C amplifiers
This might be distantly similar to existing implementations like sof- mtl-rt5682-max98357a.tplg.
*How I Can Help:*
I'm happy to:
* Test patches and provide detailed logs * Provide ACPI dumps or any other system information needed * Help with debugging and validation
This issue affects multiple recent Lenovo laptops with ALC3306 codecs (see kernel bugzilla |#219651|), so a fix would benefit many users.
We've already discussed this issue extensively here: https:// bugzilla.kernel.org/show_bug.cgi?id=218329
There are also discussions here: https://forum.garudalinux.org/t/audio- issues-on-lenovo-legion-pro-7-16iax10h/46291
Any guidance or pointers would be greatly appreciated!
Thank you!