6

I get no sound via the speakers of my Lenovo Legion 7i laptop, which alsamixer tells me is using a Realtek ALC287.

I have tried various Linux distros and kernel combinations, including Ubuntu 16.04, 18.04, and 20.04, with both the default and mainline kernels (5.7.x & 5.8.x), and Manjaro with 5.6.x, 5.7.x and 5.8.x kernels.

In each case, I made sure to disable Auto-Mute in alsamixer, and turn all volume levels to maximum. In all cases, I get no sounds from the speakers (running speaker-test, playing music, etc.). I am able to get sound via headphones and HDMI (though I believe HDMI is via a different sound card).

Also, I can see that there is some kind of sound activity occurring when I look at pavucontrol (the reddish-orange bar that indicates a sound is playing), but there is no actual sound produced from the speakers.

My alsa-info.sh results (from Manjaro on 5.6.15) are here (ignore this, newer one below):

http://alsa-project.org/db/?f=ba86fe76a9d9cf1cced56600edf82eb206a36a72

I am happy to run the script again (or any other tool) from a different distro/kernel combination, please just let me know what would be helpful.

I have already filed a bug report with that same information, but sadly the only responses have been from other people with the same issue.

What can I do to get my sound working? I am experienced with software development, but not drivers or kernel space. Willing to learn and try anything at this point.

UPDATE

alsa-info.sh using a more recent kernel:

http://alsa-project.org/db/?f=4272343a3590cc08f192f98113dedfc0418afe52

0

1 Answer 1

2

Partial answer:

The info you provided has a section about the codec, and that tells you that this particular codec is not recognized:

Codec: Realtek Generic
...
Vendor Id: 0x10ec0287
Subsystem Id: 0x17aa3813
Revision Id: 0x100002

On my system, the first line says

Codec: Realtek ALC892

The code for the patches that deal with the various codecs is in /sound/pci/hda/patch_realtek.c, at least for the relatively old kernel I use at the moment.

So to get your sound working, you need to debug what's going wrong with the codec, then write a patch, and include it in the code, so everyone else with that hardware can have it working.

The codec information can be dumped with cat /proc/asound/card*/codec\#*. Read up on how an Intel HDA Codec works, and debug it.

I recommend disabling Pulseaudio. hda-verb from the alsa-tools package (at least that's how it is called on Debian) may also help.

You can google datasheets for older codecs to understand how they work.

5
  • 1
    The latest driver already has an entry for 0x10ec0287. But nobody knows how the chip is wired up on that particular machine.
    – CL.
    Sep 26, 2020 at 20:55
  • Which means the OP needs to at least uprgrade to the latest kernel, and try again.
    – dirkt
    Sep 27, 2020 at 3:55
  • Whoops. I copied my bug report verbatim, and forgot that I had already run alsa-info.sh with a more recent kernel. Although not the newest, it does recognize the codec. alsa-project.org/db/?f=4272343a3590cc08f192f98113dedfc0418afe52
    – BLuFeNiX
    Sep 27, 2020 at 15:08
  • So the next step is debugging: I recommend to disable Pulseaudio, use aplay to play a WAV file, look at the codec and see if you can figure out what's wrong.
    – dirkt
    Sep 27, 2020 at 17:22
  • 1
    @BLuFeNiX any progress?
    – Gorgo
    Nov 24, 2020 at 16:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.