Headset microphone not detected by Pulse und Alsa

I have an Acer Aspire V15 Nitro Laptop that only sports a combo jack for both microphone and headphones at the same time. It was always a bit tricky but worked until I reinstalled Arch Linux recently.

Since then the microphone part has not been detected anymore. In pavucontrol, using the previously working configuration "Analog Stereo Duplex", I can only select "Analog Input" (the internal mic, which does not work as well). There is no other option for the port.

alsamixer shows no input devices at all.

How can I get my external microphone back working?

Additional questions:

How can I see which devices are detected on a hardware level?


Solution 1:

I have a headset (combined stereo headphones and mic) jack on my Dell PC with Ubuntu 16.04 and experienced the same problem.

First use hdajackretask check that the problem is not related to the jack:

  1. Press Ctrl+Alt+T to access the terminal.
  2. Type sudo apt-get install alsa-tools-gui
  3. Once installation is complete, launch HDAJackRetask app from the dash and it should look something like this:
    hdajackretask GUI
  4. Check that the jack you're trying to access is identified correctly.
  5. If the jack setting is incorrect, then override the incorrect setting, test that the override works and then Install boot override.

I was trying to use the the front headphone jack and it was alredy correctly detected as 'Headphone' so I had install the HD-Audio Codec to get my headphone jack to work.

  1. Press Ctrl+Alt+T to access the terminal.
  2. Type cat /proc/asound/card*/codec* | grep Codec in the terminal and take note of the codecs listed.
  3. If there are multiple codecs listed, determine which one relates to your headset jack. For me there were two listed – one related the the video card (Codec: ATI R6xx HDMI) and another related to the sound card (Codec: Realtek ALC3861). In my case, I was interested in the sound card because I was connecting to the PC headset jack and not a HDMI device such as a PC monitor.
  4. Look up the HD-Audio model for your codec in HD-Audio Codec-Specific Models. For my headset jack, the best fit was the headset-mic model.
  5. Type cd /etc/modprobe.d/ in the terminal.
  6. Type sudo cp alsa-base.conf alsa-base.conf.bak to backup the file before editing.
  7. Type gksudo gedit ./alsa-base.conf to edit the file.
  8. Insert this line at the bottom of the file options snd-hda-intel model={HD-Audio model for you codec}. For example, for it me it was options snd-hda-intel model=headset-mic.
  9. Save file and reboot.

Solution 2:

After some more searching I found a post that told me to create /etc/modprobe.d/alsa-base.conf with following contents:

options snd-hda-intel model=dell-headset-multi

After reboot the headset microphone showed up again and works.