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

15
  • what is the output for sudo hdajacksensetest -a – rtaft Aug 3 '20 at 18:30
  • @rtaft I've edited the question with the output of the command. – Reyansh Kharga Aug 3 '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 3 '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 3 '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 4 '20 at 6:36
3
+50

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.

1
  • 1
    It's been two years and the bug is still not fixed? Strange!! Will it be solved ever? – Reyansh Kharga Jul 31 '20 at 10:07
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.

2
  • I tried many such combinations, but no luck :( – Reyansh Kharga Jul 31 '20 at 4:45
  • why does input devices in pavucontrol not have the port option as it in Output devices? – Reyansh Kharga Jul 31 '20 at 5:05
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.

1
  • I tried tuning the alsamixer configuratioin, but no luck :( – Reyansh Kharga Jul 31 '20 at 7:10
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/

1
0

Restart alsa-driver and check

sudo alsactl -F restore 

This might be the reason

1
  • nope, didn't solve the problem :( – Reyansh Kharga Aug 3 '20 at 18:20
-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

2
  • 1
    This fix is for Kazam...not pulseaudio – rtaft Aug 3 '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 4 '20 at 3:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.