Sound issue with newer Lenovo devices using Linux
Missing Bass / No Sound from speakers
Realtek, ALC287, ALC3306
This is actually not a Fedora-only but a whole-Linux problem, but I’m a noob so I hope I can make it to a Fedora problem and somebody more experienced can carry on.
Newer Lenovo laptops and convertibles ship with a realtek ALC3306. This soundcard is detected as an ALC287 by ALSA an causes two types of problems (you can of course google that):
No sound output at all or very weak sound (if device has seperated speakes for bass and treble).
In my case I got a new Lenovo Yoga 7 14IAL7 which has the “normal” speakers next to the keyboard and bass speakers on the bottom. By default the latest stable kernel (and even the newer RC Versions of 5.19) does not recognize the bass speakers at the bottom of the device (can’t see them in alsamixer) so I had a very weak and silent output.
Doing heavy research on this issue I found this Thread (bugzilla.kernel.org) in which several people with new Lenovo devices report the same sound problem I have experienced.
In this thread somebody provided a Kernel patch in which most of the affected devices from this thread were listed.
So I got this patch, replaced the sound device ID of the affected model with bass speaker problem with my own device ID (for my Model its 0x17aa3869) and had to learn how to compile a kernel to apply this patch (worked on second try surprisingly).
Long story short:
Me and some other guys in this thread who are all not that experienced managed it to get our devices working by replacing the codec IDs in the patch with our own and got our sound devices working. But we don’t know how to submit these changes to the mainline Kernel so that everybody can benefit from these experiences just by installing his / her favorite distro.
Is there somebody in here who can carry on with this subject, please?
Of course i can provide more detailed information if needed.
Thx and regards
I have the same issue with my new Yoga 7 14IAL7. To my knowledge, it should be possible to just create a DKMS module that targets the specific audio module. That approach should be usable without recompiling the whole kernel. It should also be applicable for multiple kernel versions, as long as the source module is not changed significantly between versions (i.e. as long as the patch file is applicable).
Can you please share the patch file with your modifications? I could then try my hand at creating a DKMS module from it. If it works we can publish on GH/GL or something. I’ve never done this before but I did use the approach successfully with my ROG Flow X13 and a DKMS module for it published on GH (Rog Flow X13 audio DKMS).
With some Lenovo laptops, I’ve been able to fix sound by creating an /etc/modprobe.d/alsa.conf file that just reads
Afterwards, I’ve had to reboot to get the system to read it.
I also have a Lenovo, and this problem happened to me. It looks like the solution already exists.
Overview of Intel hardware platforms — SOF Project 2.4.1 documentation.
Thanks for your support. I managed to get in contact with somebody who added it to the official kernel sources. I hope it will be available soon.
5.19.2 and 6.0.x kernels have the patch, including a YOGA9-quirk. It requires (currently) module parameters like:
$ cat /etc/modprobe.d/snd.conf
options snd_intel_dspcfg dsp_driver=1
options snd_hda_intel model=alc287-yoga9-bass-spk-pin
How can I find out if this will fix sound issues on the Lenovo Yoga S940-14IIL also?
Currently, the sound from the internal speakers is very faint and there is no base.
Will the module parameters be included in future updates?
OS: Fedora 36 Workstation