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

  • what is the output for sudo hdajacksensetest -a – rtaft Aug 03 '20 at 18:30
  • @rtaft I've edited the question with the output of the command. – Reyansh Kharga Aug 03 '20 at 18:41
  • Odd that it's not detecting it. You can try sudo hdajackretask, select the sound card in the dropdown, then select Show unconnected pins. From there, override either pin 0x18 or 0x1a, set the type to Internal Mic and Apply Now. If it works I'll add it as the answer, sort of a long shot since it doesn't even see an internal mic. – rtaft Aug 03 '20 at 18:52
  • Do you see some interesting in the output of modprobe --show-depends snd_hda_intel and modprobe --show-depends snd_sof_pci ? Further check for errors/warning of the kernel: journalctl -b -k -p3 – abu_bua Aug 03 '20 at 19:11
  • @rtaft I tried overriding the pins you suggested, I get the following error. tee:/sys/class/sound/hwC0D0/rconfig: Device or resource busy – Reyansh Kharga Aug 04 '20 at 06:36
  • @rtaft output in the console. E: [pulseaudio] main.c: Failed to kill daemon: No such process E: [pulseaudio] main.c: Failed to kill daemon: No such process. 0x16 0x04211040 0x17 0x91170110 0x18 0x90a60160 0x19 0x04a11030 0x1a 0x40f001f0 0x1d 0x40f001f0 0x1e 0x40f001f0 0x1f 0x40f001f0 0x21 0x40f001f0 0x26 0x40f001f0 0x27 0x40f001f0 – Reyansh Kharga Aug 04 '20 at 06:40
  • @abu_bua I've edited my question, please check the output in Edit 2 section. Thanks! – Reyansh Kharga Aug 04 '20 at 06:44
  • Did you set special kernel parameter ? Print cat /proc/cmdline. There seems to be an error with your bios?, don't know exactly. Further: Initramfs unpacking failed: Decoding failed is a known bug and harmless. A lot of paramters are set in the intel module; did you changed your /etc/modprobe.d/alsa-base.conf file? – abu_bua Aug 04 '20 at 15:58
  • @abu_bua cat /proc/cmdline gives BOOT_IMAGE=/boot/vmlinuz-5.4.0-42-generic root=UUID=4ba44c51-9f1e-49ac-bbb7-887fe8e8a3ad ro quiet splash vt.handoff=7 as output. – Reyansh Kharga Aug 04 '20 at 16:10
  • @abu_bua In the beginning, even my speaker wasn't working, so I added the following two lines at the end of alsa-conf file

    options snd-hda-intel model=auto options snd-hda-intel dmic_detect=0

    – Reyansh Kharga Aug 04 '20 at 16:12
  • Also while I was installing Ubuntu I had to disable RST. In the BIOS settings, I changed the SATA mode to AHCI. – Reyansh Kharga Aug 04 '20 at 16:18
  • Sorry, saw it now that you changed your alsa-base.conf . Try to include options snd-hda-intel dsp_driver=0 in your alsa-base.conf to load the legacy drivers. – abu_bua Aug 04 '20 at 16:24
  • Do you see any errors in cat /proc/asound/cards ? – abu_bua Aug 04 '20 at 16:27
  • No, cat /proc/asound/cards outputs 0 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0x601d160000 irq 164 – Reyansh Kharga Aug 04 '20 at 16:28
  • adding options snd-hda-intel dsp_driver=0 didn't change anything – Reyansh Kharga Aug 04 '20 at 16:32

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,426
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.

Vijay Prema
  • 496
  • 3
  • 9
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,829
0

Restart alsa-driver and check

sudo alsactl -F restore 

This might be the reason

Kulfy
  • 17,696
-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

  • 1
    This fix is for Kazam...not pulseaudio – rtaft Aug 03 '20 at 18:23
  • 1
    yes, its Kazam specific, but we can troubleshoot the issue and find a solution, this is breaking because of some deprecated methods are used in the application and not updated to the latest respective version.

    I faced this for Kazam application but we can check if the same issue is there for other as well.

    – Nishanth Murugan Aug 04 '20 at 03:16