Headset microphone not recognized (combo jack in MBP 10.1)

Greetings,

i have a Mac Book Pro 10.1 with “combo jack”. (I do not know if this is the correct term, but i have only one 3,5mm plug for the microphone and the headphone). Sound is working on the speakers and switching to the headset, when plugged in. The headset is working flawless on the smartphone.

But i do not get the microphone from the headset working. It is not recognized by the system.

by typing /usr/sbin/alsa-info.sh i got this:
http://www.alsa-project.org/db/?f=ca324bcfa3e734c38b8e91e88d5333fefa1e0628

help and hints are highly appreciated.

Hmmm … there are a few complexities here.

I note 2 separate instances of the “snd_hda_intel” sound module loaded. YaST struggles when trying to setup one’s PC with two instances of the same sound module. wrt the hardware audio codec I note card-0 is a Cirrus Logic CS4206 and card-1 a Nvidia GPU 42 HDMI/DP, each of which likely has one “snd_hda_intel” sound module associated.

Further, I note pulse audio is NOT running. Can you advise which desktop you are using ?

wrt the mixer, I note capture is muted which could mean the mic does not work (so please fix that setting):


Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 22 [35%] -29.00dB] [off]
  Front Right: Capture 22 [35%] -29.00dB] **[off]**

Further I note automute is enabled, which may also mute the mic if there is a configuration problem (so please investigate that setting)


Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: '**Enabled'**

I also note digital capture is muted (so please fix that setting):


Simple mixer control 'Digital',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: **Capture 0 [0%]** -30.00dB]
  Front Right: **Capture 0 [0%]** -30.00dB]

Honestly, I do not know enough about a Cirrus Logic CS4206 hardware audio codec to say if those mixer settings matter, but they might.

Further - not knowing your desktop I can not say if having pulse audio disabled matters, but it might.

There is also a possibility that your CS4206 hardware is misconfigured, and it is possible to force a setting upon boot with a specific setting of the right syntax, but thats the last thing one should try - I would check those mixer settings first - and also come up with an explanation as to why pulse audio is disabled first - before messing with the HD-Audio-Models.txt file settings:


Cirrus Logic CS4206/4207
========================
  mbp55        MacBook Pro 5,5
  imac27       IMac 27 Inch
  auto        BIOS setup (default)

The dmesg also notes this:


    5.627987] snd_hda_codec_cirrus hdaudioC0D0: autoconfig for CS4206: line_outs=2 (0xb/0xa/0x0/0x0/0x0) type:speaker
    5.627990] snd_hda_codec_cirrus hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
    5.627992] snd_hda_codec_cirrus hdaudioC0D0:    hp_outs=1 (0x9/0x0/0x0/0x0/0x0)
    5.627993] snd_hda_codec_cirrus hdaudioC0D0:    mono: mono_out=0x0
    5.627994] snd_hda_codec_cirrus hdaudioC0D0:    dig-out=0x10/0x0
    5.627995] snd_hda_codec_cirrus hdaudioC0D0:    inputs:
    5.627997] snd_hda_codec_cirrus hdaudioC0D0:      Mic=0xe

which suggests to me the Mic is detected … but I do not know enough about the dmesg output to draw any more conclusions.

Thx for the reply.

I am Running KDE.
The pulseAudio Mixer is Not starting. “Establishing Connection. Pls wait…” Lasts for ever.
KMix is also Not starting. Just closing without any Message.
Where can i Change the Settings you suggested?

The mixer settings can be adjusted from a terminal

alsamixer

Let’s see what pulseaudio packes are installed…

rpm -qa|grep pulse

Post the output here if you’re unsure about what is required…

For reference, I have

# rpm -qa|grep pulse
pulseaudio-module-zeroconf-7.0-5.1.x86_64
alsa-plugins-pulse-1.0.29-10.1.x86_64
pulseaudio-utils-32bit-7.0-5.1.x86_64
pulseaudio-module-x11-7.0-5.1.x86_64
libpulse0-32bit-7.0-5.1.x86_64
libpulse0-7.0-5.1.x86_64
pulseaudio-7.0-5.1.x86_64
pulseaudio-module-lirc-7.0-5.1.x86_64
pulseaudio-utils-7.0-5.1.x86_64
pulseaudio-module-bluetooth-7.0-5.1.x86_64
libpulse-mainloop-glib0-7.0-5.1.x86_64
pulseaudio-bash-completion-7.0-5.1.x86_64
pulseaudio-lang-7.0-5.1.noarch
libxine2-pulse-1.2.6-114.8.x86_64
alsa-plugins-pulse-32bit-1.0.29-10.1.x86_64
pulseaudio-module-jack-7.0-5.1.x86_64

If the required packages are installed then the following will probably confirm PA is disabled…

setup-pulseaudio --status

If necessary, enable with

sudo setup-pulseaudio --enable

OK the settings were changed with

 #alsamixer 

Your ALSA information is located at http://www.alsa-project.org/db/?f=bb891318a1cc0540e68799e466dd8f7b4fc476f2

 Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 58 [92%] [7.00dB] [on]
  Front Right: Capture 58 [92%] [7.00dB] [on] 

 Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled' 

 Simple mixer control 'Digital',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 92 [77%] [16.00dB]
  Front Right: Capture 92 [77%] [16.00dB] 

looks like i got all the pulse-pakages to me:

 #rpm -qa|grep pulse
pulseaudio-module-lirc-7.0-5.1.x86_64
libpulse0-32bit-7.0-5.1.x86_64
pulseaudio-lang-7.0-5.1.noarch
alsa-plugins-pulse-1.0.29-10.1.x86_64
pulseaudio-7.0-5.1.x86_64
pulseaudio-module-jack-7.0-5.1.x86_64
pulseaudio-utils-32bit-7.0-5.1.x86_64
libpulse0-7.0-5.1.x86_64
libpulse-mainloop-glib0-7.0-5.1.x86_64
pulseaudio-module-bluetooth-7.0-5.1.x86_64
pulseaudio-module-x11-7.0-5.1.x86_64
pulseaudio-module-zeroconf-7.0-5.1.x86_64
pulseaudio-utils-7.0-5.1.x86_64
alsa-plugins-pulse-32bit-1.0.29-10.1.x86_64
pulseaudio-bash-completion-7.0-5.1.x86_64
pulseaudio-module-gconf-7.0-5.1.x86_64 

pulse was deactivated, but I changed that:

 #setup-pulseaudio --status
enabled

now I am not sure about the correct settings in pulseaudio. Everything is working like b4 (speakers working, headset sound is working, no input via headset) plus I have a lot of options in pulse configuration to mess around with!?

I tried all available configurations for the internal audio, without success :frowning:
http://img.susepaste.org/images/57999510.png

You switched OFF the mic boost. It was on before. Here look:


Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 2
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]

Also - what is your test that you run to assess you mic functionality (and ensure that it is not an inappropriately configured application ) ?

Try this to record. First fix the mic boost (alsa mixer should allow that). Move the mic boost up to 66%.

Then open a konsole / xterm as a regular user and paste this in it:


arecord -vv -f S16_LE -c 2 -D hw:0,0 new.wav

Talk in to the mic.

Post here ANY errors you may get.

To stop recording press <CTRL><C> in the konsole.

Then replay the file ‘new.wav’ that was created. Did it record any sound ?
.

There is no more mic boost in the alsamixer, since pulseaudio was activated. Only two bars, one Master and one Capture, both on 66%.

http://img.susepaste.org/images/62152235.png


#arecord -vv -f S16_LE -c 2 -D hw:0,0 new.wav
arecord: main:722: Fehler beim Öffnen des Gerätes: Das Gerät oder die Ressource ist belegt

The error message says: Error when opening device. Device or resource busy.

I tested the mic in “mumble” configuration assistant as well as in “Audio assistant” from linphone. In both it seems like the internal mic is working, but with loud background noise and very bad quality. The headset mic is not available in the pulseaudio options.

That happens when PulseAudio is running, but you can still expose the underlying hardware controls by pressing ‘F6’.

#arecord -vv -f S16_LE -c 2 -D hw:0,0 new.wav
arecord: main:722: Fehler beim Öffnen des Gerätes: Das Gerät oder die Ressource ist belegt

The error message says: Error when opening device. Device or resource busy.

This can happen if the arecord process is already running (maybe interrupted from previous test). Check with

ps -A|grep arecord

then kill it if necessary with

pkill -9 arecord

and you should then be able to run arecord again. CTRL-C (twice) to stop.

I tested the mic in “mumble” configuration assistant as well as in “Audio assistant” from linphone. In both it seems like the internal mic is working, but with loud background noise and very bad quality. The headset mic is not available in the pulseaudio options.

I’m in uncharted territory here, but I’m wondering if ‘hdajackrestask’ might help here. It’s a GUI utility that can help reconfigure combo jacks apparently…

https://software.opensuse.org/search?utf8=✓&q=hdajack&search_devel=false&search_unsupported=false&baseproject=openSUSE%3ALeap%3A42.1

I note that it has a companion utility ‘hdajacksensetest’ that can be used to ‘Tool to check HD-audio jack/pin status’

Might be worth a shot?

Remember this ?


 Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'  

Change it to Enabled and see if it will fix the noise.

You need to fix the boost.

ok, so the device is busy. Do you have another application that is running that has seized the device and is refusing to share it ? If so, close that application and try again.

I don’t have your hardware so I can not check all the available alsamixer settings, but I am skeptical here that you tried all combinations of alsamixer to find this.

Note also the boost can be set from command line using ‘amixer’ if necessary. If you are truely stumped at this, I can try to put together the amixer command for you (work is very busy currently for me - so I am hoping you can solve this without me having to delve further - but I can if need be).

I think that the OP was referring to the fact that when PulseAudio is running, alsamixer only shows PA controls. The actual hardware mixer settings can be presented by pressing F6 (and choosing the appropriate sound card).

I got the hdajackretask tool and played around with it. It seems to be a bit over my head. Finally i used the undo button to set everything back to original settings. I will have another look at this, but it will take me a long time to study it’s details.

Learned this lesson. When it is busy close all applications, that might use it. No problem anymore with busy devices.

I appreciate your help. Thanks a lot. I have a few clues now and will keep you updated if i have any success.

The #alsamixer F6 option is also in use since it was mentioned earlier.

I just found this page with the same sound chip (Cirrus Logic 4206) and problem. Maybe it is a bug.

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1329191

I was just booting an Ubuntu stick and the thing is, that there is the same problem.
In pulseaudio i can switch between speakers and headphones, but I have only one mic, which is always the internal one.
To me it looks more likely that this thing can be solved rather with the hdajackretask way, than with a setting in alsamixer. But gambling with the hdajackretask tool seems to be very complicated to me.

I keep on trying…

Ok so what message do you get when you run the arecord ?

ie when you open a konsole / xterm as a regular user and paste this in it:

arecord -vv -f S16_LE -c 2 -D hw:0,0 new.wav 

Talk in to the mic.

Post here ANY errors you may get.

To stop recording press <CTRL><C> in the konsole.

Then replay the file ‘new.wav’ that was created. Did it record any sound ?

Do you now have the boost adjusted ? Given you note you reset all your mixer settings its difficult to be certain the recommendation being provided is correct.

wrt the bug report you noted, it may or may not be relevant.