Yoga 920 Internal Microphone Static

Hey All,

This is my first post here so please forgive me if I’ve missed something.

I’ve just been playing around with getting Manjaro Cinnamon working as a daily driver on my Lenovo Yoga 920 and so far it’s been pretty straight forward.

What I’m struggling with is an issue with the internal microphone having very loud static. I’ve done a fair bit of googling and have tried following the steps in the Arch wiki (I’d link here but the forum won’t let me) but to no avail, no settings seem to change it.

This forum won’t let me attach text files (honestly WTFing at that) or include links for some reason, but you can find my alsa-info output at pastebin id: y6CWdMKb

Thanks in advance.

Voney

1 Like

Welcome to Manjaro

The spam filters are strict for the first few days to keep the bots out
You should get forum permissions to post links and images soon

I found your ALSA data on pastebin - Yoga 920 Manjaro alsa-info output - Pastebin.com

most of the onboard audio looks OK, but it is still using the driver snd_hda_intel, that does not support the digital microphone array:

Yoga 920 (14) 2-in-1 | Powerful, Stylish 2-in-1 Laptop | Lenovo US

Includes long-range voice-activated assistant

The Yoga 920 can hear your voice even when standing by, from up to 4 meters away

Microphone / Webcam - 720p HD camera with dual array microphone

The digital microphone array needs an additional driver, but these drivers are not listed as installed in your ALSA data

I suggest you install the package for these drivers

pamac install sof-firmware

Then reboot system to load the new driver
(probably snd_soc_skl for an 8th Gen Kaby Lake CPU)

Onboard microphones should be OK if both are working with the correct driver

1 Like

Hey

I have the same issue (static noise in internal mic, external USB mic, in my case HyperX SoloCast works pretty good)

So the issue is that mic on Windows works fine (after installing drivers provided by the “Lenovo Vantage” app, with default driver result same as on Linux), but on Linux, it’s a bit fucked up
(Yoga 920 and sof-firmware installed)
I already tried different kernels, some voodoo magic with ALSA+PulseAudio configs and a lot of “dummy checks”, nothing works.

I think that idea with another digital driver (snd_soc_skl as example) can help me, but I don’t know how to instal/setup it over snd_hda_intel, reinstalling sof-firmware doesn’t help with it :man_shrugging:

Maybe you can help me with installing snd_soc_skl over snd_hda_intel, cause I have no idea how to do it (already checked some posts, but I still don’t understand how to do it…)?

There is my alsa-info output id (output mostly the same as voney’s output): 1dc43fbf06c4364cf8737e0dcfedf028d7b6c8a3

P.S.: http:// alsa-project .org/db/?f={alsa-info-id}

I suggest you try using kernel v5.13 first. A later kernel may have been patched

But if you need to force use of the snd_soc_skl add this modprobe option to system

echo 'options snd-intel-dspcfg dsp_driver=2' | sudo tee -a /etc/modprobe.d/dspcfg.conf

Okay, thanks for the reply
Unfortunately, that didn’t help (dsp_driver=1 works *just works as before, but no improvements*, 2 and 3 not). Already using kernel 5.13, no changes.

I will try to explain in a more detailed way what I’ve already tried, so…

I have done a lot of software/hardware checks, so I can say that hardware is all ok, Windows 10 with Lenovo driver works perfectly, Linux is not, but I’m not sure the problem with ALSA or with PulseAudio.
Resampling (44100, 48000) works.

Forgot to add some details in the previous post, a USB mic that I using now (HyperX SoloCast) has integrated audiocard, but doesn’t try mini-jack headset, I’ll try and then write a post about results.

I tried a noise/echo canceling PulseAudio modules, as I expected that doesn’t help : /
I tried to force model patches for snd_hda_intel in /etc/modeprobe.d/alsa-base.conf file
Patches I tried is related to all of Lenovo/*some dell & hp*/general/internal digital mic/ALC2xx from https:// www.kernel .org/doc/html/latest/sound/hd-audio/models.html page

With default setting (and with some patches), when I turning on the loopback module with

pactl load-module module-loopback latency_msec=2

I can hear the terrible sound from the left and from right channels separately. When I just blow into the left mic I hear a louder sound from the left speaker, the same for the right channel, and when I speak I can hear the noise (it’s my voice, but very cracked/modified) from the speaker with a very loud terrible noise on the background.

Additionally checked the sound with arecord -f cd -d 5 test.wav

I think that problem is with the kernel and I need to create a bug report.

What do you think?