6

Recently I installed Ubuntu 20.04 on my Acer Swift 3 laptop.

The internal microphone doesn't seem to work. Input Device drop-down menu is empty in Sound settings. But the external mic from earphones is detected and works fine.

Here are a few outputs that might be helpful,

reyansh@acer:~$ cat /proc/asound/card0/codec* | grep Codec
Codec: Conexant Generic
Codec: Intel Icelake HDMI

Multimedia audio controller output from lspci -v command,

00:1f.3 Multimedia audio controller: Intel Corporation Smart Sound Technology Audio Controller (rev 30)
    Subsystem: Acer Incorporated [ALI] Smart Sound Technology Audio Controller
    Flags: bus master, fast devsel, latency 32, IRQ 164
    Memory at 601d160000 (64-bit, non-prefetchable) [size=16K]
    Memory at 601d000000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel, snd_sof_pci

Last few lines from /etc/modprobe.d/alsa-base.conf,

#Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
#options snd-hda-intel model=auto
options snd-hda-intel dmic_detect=0

I tried this but no luck. Any kind of help will be greatly appreciated. Thanks!

Edit 1: Output of sudo hdajacksensetest -a (without external mic)

Pin 0x16 (Black Headphone, Right side): present = No
Pin 0x17 (Internal Speaker, Rear side): present = No
Pin 0x18 (Not connected): present = No
Pin 0x19 (Black Mic, Right side): present = No
Pin 0x1a (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x1f (Not connected): present = No
Pin 0x21 (Not connected): present = No
Pin 0x26 (Not connected): present = No
Pin 0x27 (Not connected): present = No

Edit 2:

Output of modprobe --show-depends snd_hda_intel

reyansh@acer:~/Documents/Keys$ modprobe --show-depends snd_hda_intel
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soundcore.ko 
install /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; } 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/core/snd-timer.ko 
install /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; } 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/core/snd-hwdep.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/hda/snd-hda-core.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/pci/hda/snd-hda-codec.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/hda/snd-intel-dspcfg.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/pci/hda/snd-hda-intel.ko model=auto dmic_detect=0 patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw 

Output of modprobe --show-depends snd_sof_pci

reyansh@acer:~/Documents/Keys$ modprobe --show-depends snd_sof_pci
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soundcore.ko 
install /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; } 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/core/snd-timer.ko 
install /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; } 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/core/snd-pcm-dmaengine.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/ac97_bus.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/core/snd-compress.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/snd-soc-core.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/drivers/leds/trigger/ledtrig-audio.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/core/snd-hwdep.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/hda/snd-hda-core.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/pci/hda/snd-hda-codec.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/hda/snd-intel-dspcfg.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/snd-soc-acpi.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/intel/common/snd-soc-acpi-intel-match.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/hda/ext/snd-hda-ext-core.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/sof/xtensa/snd-sof-xtensa-dsp.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/sof/snd-sof.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/sof/intel/snd-sof-intel-ipc.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/sof/intel/snd-sof-intel-byt.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/sof/intel/snd-sof-intel-hda.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/codecs/snd-soc-hdac-hda.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/sof/intel/snd-sof-intel-hda-common.ko 
insmod /lib/modules/5.4.0-42-generic/kernel/sound/soc/sof/snd-sof-pci.ko

Output of journalctl -b -k -p3

-- Logs begin at Wed 2020-04-01 22:53:42 IST, end at Tue 2020-08-04 12:10:16 IST. --
Aug 04 06:44:01 acer kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.DGPV], AE_NOT_FOUND (20190816/psargs-330)
Aug 04 06:44:01 acer kernel: ACPI Error: Aborting method \_SB.PCI0.RP05.PCRP._ON due to previous error (AE_NOT_FOUND) (20190816/psparse-529)
Aug 04 06:44:01 acer kernel: Initramfs unpacking failed: Decoding failed
Aug 04 12:03:52 acer kernel: snd_hda_codec_generic hdaudioC0D0: The codec is being used, can't reconfigure.
Aug 04 12:04:29 acer kernel: snd_hda_codec_generic hdaudioC0D0: The codec is being used, can't reconfigure.
Aug 04 12:07:04 acer kernel: snd_hda_codec_generic hdaudioC0D0: The codec is being used, can't reconfigure.
Aug 04 12:07:10 acer kernel: snd_hda_codec_generic hdaudioC0D0: The codec is being used, can't reconfigure.

Output Devices in pavucontrol Output Devices in pavucontrol Input Devices in pavucontrol Input Devices in pavucontrol AlsaMixer Configuration when earphones with mic is not plugged in. enter image description here

7 Answers7

3

This is a known bug in the alsa-driver. See launchpad, mint Wiki and kernel.org

At present the only option seems to be using an external microphone through USB post.

2

Not exactly your problem but similar. In my case, laptop Toshiba Satellite L840, internal mic stopped working after I accidentaly plugged headphones in the mic port. Can't tell exactly which step fixed it, but here it goes.

  1. Installed pavucontrol and reboot. (Didn't work)
  2. sudo alsactl -F restore then Opened pavucontrol and changed the sound profile to another and back, and reboot. (Didn't work)
  3. Plugin headphones in the mic port and reboot with it connected, now it detected at least a "wired mic", disconnected it, changed profile to "duplex internal audio" and that did it.

Hope it helps someone... Greetings

zx485
  • 2,865
0

I had an opposite issue where the internal mic built into the PC chassis worked but when I plugged in a 3.5mm headset, only headphone out was detected and not the headset mic.

Comparing the last few lines of your etc/modprobe.d/alsa-base.conf, the final line of yours is different to mine. Mine is also a snd_hda_intel device but does not have the dmic_detect line, and instead has the model= line un-commented, as follows:

# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
# Shows multi-selection dialog. I added this to fix my headphone jack microphone issue
options snd-hda-intel model=dell-headset-multi

You can try various options for model=, such as auto or dell-headset-multi to see if it fixes your issue. May need a restart between changes.

On my PC with the option set to dell-headset-multi (not just for Dell PCs btw, mine is not Dell), it will add either a dialog popup or additional combobox in audio settings (depends on how your Desktop Environment handles it) allowing you to select the microphone/headset depending on what is inserted.

If you set it to auto it should in theory automatically select headset when you plug it in, and then revert back to internal mic when you unplug it, so also try it and see.

0

Reyansh,

This may or may not answer the question. But I upgraded quite recently from 18.04 to 20.4, too. And one of the first things I tested was the sound system and the permissions on same, because I need for it to work. So, one of the things I did was to run alsamixer, both to see what it shows me and to set whatever looked like it needed to be set. Because sometimes one even finds an input or an output setting which alsamixer says is muted, and then one should probably at least unmute it in alsamixer before trying some other, less basic tool. Alsamixer told me the microphone output was muted and was set to 0 volume, so I unmuted and increased the setting to a reasonable level, then tested whether it works. It did work. Of course, my laptop is not your laptop, so I don't claim I can cure baldness or old age. Treat this as a suggestion, and try it out if you didn't already. YMMV.

0

Because of missing drivers - you could try this here :

sudo apt-get install rhythmbox clementine

or

sudo apt-get install --reinstall rhythmbox clementine

If this (after reboot) does not help, you could try to install these programs, as described here (because of additional drivers) :

https://www.ubuntupit.com/20-best-music-making-mixing-and-dj-software-for-linux/

dschinn1001
  • 3,863
0

Restart alsa-driver and check

sudo alsactl -F restore 

This might be the reason

Kulfy
  • 18,154
-2

I have faced external microphone issue for Kazam application ref . looks like in the latest python version some time() related API methods are deprecated. In my case Kazam application is not updated with the latest API methods by their developers.

In your case, It might be some internal files they are using the deprecated methods that might me the reason, not 100% sure , you can try below solution if you know the exact file where they are using the deprecated method.

MicroPhone Issue