System sound playback is heard in microphone channel [closed]

Your sound is working, so this is probably not necessary. Check your sound hardware with

hwinfo --sound , lshw -class multimedia or arecord --list-devices

Make sure it matches what your MB vendor specs show. To get motherboard info

sudo lshw -class bus | grep -A 6 -i 'motherboard'

Make sure you have all the right modules and codecs loaded for your sound chip. You'll have to figure out those details about your chip and necessary modules


The hdajackretask tool in the "alsa-tools-gui" package will allow you to reconfigure audio jacks.

Certain chips don't seem to get reverse engineered properly upstream. Outputs and inputs may be pinned wrong. Some experimenting will be necessary. If a working configuration can be found, a patch to install a boot override could be used. I had issues with the Reaktek Azalia chip. That was the only way I found to get it working correctly. Pain in the A@#. But, this is free software with many volunteer contributors.

In some cases reinstalling alsa and pulseaudio can fix issues.

sudo apt purge alsa-base pulseaudio

-- take note of all uninstalled packages in case you need to manually reinstall some.

sudo apt install alsa-base pulseaudio

I Hope some of this helps lead you to a solution.


I was having the same problem and the module-echo-cancel temporary fix solves the issue completely for me. Since it took some time to have it properly working for me, I thought it would be nice to write it down here.

Append the following snippet in /etc/pulse/default.pa:

.ifexists module-echo-cancel.so
load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1
set-default-source echocancel
set-default-sink echocancel1
.endif

and then restart the pulseaudo service (or reboot the machine):

pulseaudio -k

What it does:

if your system PulseAudio is compiled with the echo / noise cancellation module, load this module, use webrtc as the echo cancellation method (it should be better than the default speex), specify a source and sink names, then set that source and sink as default.

Solution found on https://www.linuxuprising.com/2020/09/how-to-enable-echo-noise-cancellation.html