2

The issue

We deploy 18.04 to Lenovo X1 Extreme 8th Gen and often the first thing to fall off the truck is the audio quality, specifically the Microphone

  • Under the Sound Settings, by default we can see the Multichannel Input - sof-hda-dsp listed

This will stop taking input and will fail to function pretty much out of the box with 18.04.

We'd been mitigating this with work arounds, but today I saw a post from about a month ago here: Microphone not working on ubuntu 18.04 with device Multichannel input-sof-hda-dsp

The user, muoki-d, called out a fix:

pacmd load-module module-alsa-source device=hw:0,6

Which in fact brought a new input, now called "sof-hda-dsp" as an input that is functional:

enter image description here

I do go into AlsaMixer after this and do increase the input, as the post mentioned above does flag the input as quite.

My question is this:

What is going on with the pacmd command? Can you help me learn more about Linux on explaining to me why the audio service prior to that command, with their being an MultiChannel input that does not work, and a new input that does?

I'm trying to learn everyday, and I feel like I could gain a lot of insight by understanding more about why this solution works, and where it came from.

EDIT:

I also uncovered that this fix is wiped on reboot, is there any way to make this persist?

Thanks for your time!

AEM
  • 1,166

1 Answers1

2

What is module-alsa-source?

module-alsa-source is a PulseAudio module that provides a recording source for devices supported by the Advanced Linux Sound Architecture (ALSA). Usually this is taken care of automatically by another PulseAudio module called module-udev-detect which relies on the device manager for the kernel udev which in turn relies on the device support by the running kernel along with device firmware available on the system. In most cases your input devices will be supported and this automatic detection goes flawlessly and your input devices are correctly detected, identified and used. However, in rare cases ( as with any other automated device detection process ) the detection fails and you need to manually identify and specify the input device using module-alsa-source followed by the device ID / index that you can get from ALSA aware applications like arecord -l. The first number after hw: is the ID / index of the card and the second is the ID / index of the device on that card. The need for this manual procedure is temporary in most cases and your device will most likely get automatically detected when support for it is added to future kernels and you update your kernel. Meanwhile, there is nothing wrong with manually configuring partially supported devices like yours as long as it works.

How to make it persist after reboot?

You can make it persist after reboot by editing the global PulseAudio configuration file /etc/pulse/default.pa and adding the command at the end of the file without pacmd like so:

load-module module-alsa-source device=hw:0,6
Raffa
  • 32,237