snd-hda-intel microphone not working

Hi there,

I recently installed opensuse 11.1 and am loving it… Only problem I seem to be having is with my sound. Microphone specifically.

It is two fold. When I boot, I get a pop-up in the top right corner saying “The audio playback device HDA ATI SB (AD198x Analog) does not work. Failing back to default”. Not sure what default is and why it doesn’t boot up with it automatically…

Now the default sound seems to work just fine (Skype, games, movies…), but there is absolutely no microphone… Internal Laptop mic or external. The laptop is a HP Compaq 6715b by the way.

I read on another post that you need to run “/usr/sbin/alsa-info.sh” so I did, but have no idea what to do with the output. The URL is http://www.alsa-project.org/db/?f=e9a525777a041b4d8a99dc18ca2055731b1034f2

Would someone be able to advise me what to do? Bare in mind that I am still a novice, so I may need to ask for instructions and “how-to” on the advice given.

Thanks.

Reference the diagnostic script, the idea is it provides summary information, that one can either use themself, or they can pass the URL to someone else, to get help. So thats what is to be done (initially) with the output.

Reference being a novice. We were all novice’s at one time. In fact, I still consider my self a novice in many many many areas of Linux. Still, to start, the VERY FIRST think I recommend you do is read this basic concepts wiki:
Concepts - openSUSE

Tjhe diagnostic script you ran provides some useful information. It tells us your openSUSE-11.1 install is a 64-bit install, and that it has been updated to the 2.6.27.21 kernel. It tells us the hardware audio codec on your HP Compaq 6715b is an AD1981. And it tells us your recognized alsa configuration is 1.0.17 for the alsa driver and 1.0.18 for the ututilies (library not known).

But that may not be enough information … more on that later.

The script also gives us this information on your mixer, where your mixer has control over your audio (sound, mic, etc … ) [and note I have marked it up with colours ] :

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [SB]

Card hw:0 ‘SB’/‘HDA ATI SB at 0x8c000000 irq 16’
Mixer name : ‘Analog Devices AD1981’
Simple mixer control ‘Master’,0
Capabilities: pvolume pswitch pswitch-joined
Front Left: Playback 44 70%] -25.50dB] [on]
Front Right: Playback 44 70%] -25.50dB] [on]
Simple mixer control ‘PCM’,0
Capabilities: pvolume pswitch
Front Left: Playback 12 39%] -16.50dB] [on]
Front Right: Playback 12 39%] -16.50dB] [on]
Simple mixer control ‘Mic’,0
Capabilities: cswitch cswitch-joined cswitch-exclusive
Mono: Capture on]
Simple mixer control ‘Mic Boost’,0
Capabilities: volume
Front Left: 0 0%]
Front Right: 0 0%]
Simple mixer control ‘Capture’,0
Capabilities: cvolume cswitch
Front Left: Capture 0 0%] [0.00dB] off]
Front Right: Capture 0 0%] [0.00dB] off]
Simple mixer control ‘Mix’,0
Capabilities: cswitch cswitch-joined cswitch-exclusive
Mono: Capture off]
Simple mixer control ‘Digital’,0
Capabilities: cvolume
Front Left: Capture 0 [0%] -30.00dB]
Front Right: Capture 0 [0%] -30.00dB]
Simple mixer control ‘Docking-Station’,0
Capabilities: cswitch cswitch-joined cswitch-exclusive
Mono: Capture [off]
Simple mixer control ‘Internal Mic Boost’,0
Capabilities: volume
Front Left: 0 0%]
Front Right: 0 0%]

I put in green what looks ok. I put in orange items that I can not even guess at as I do not know your hardware setup. And I put in red items that I think you need to look at seriously. If you are trying to detect a mic recording, where the level may be low, having your master volume at 70% and your PCM volume at 39% is going to make it difficult. Can you not increase those volume levels?

I note you have your mic boost at 0%. That typically means no mic functionality. I recommend you move that up as high as you can.

I note you have your mixer control for capture (cvolume cswitch) OFF and at 0%. Is that associated with your mic ? (I don’t know). If it is, then 0% will ensure no mic recording.

Now having typed all of that, its also important that when testing your mic, that you do a simple test, that does not fail because of a misconfigured application. For example, I known nothing about Skype and I would not dream of trying to help a user with that application. But for basic audio recording, I recommend you use “arecord” in a terminal or konsole:

When I test my mic, I typically use a simple arecord command. ie something likearecord -d 10 myrecording.wavorarecord -d 10 -f cd secondrecording.wavwhere “-d 10” sets a 10 second recording. I then play back the recording with xine or mplayer or xmms (or any audio playback program).

Now its possible your mic still may not work. It could be your AD1981 was not properly identified upon boot, and hence not properly configured by the autoprobe, and hence the mic not properly configured internal to the driver. There are ways to force the audio to a specific configuration … but more on that later if no luck.

Also, your mic not working could also be because you have the latest 2.6.27.21 kernel, and sometimes kernel update will break things wrt audio (this is true for all Linux distributions, and not just openSUSE. For example the Ubuntu Linux Dell support mailing list has many user problems associated with hiccups from kernel updates.) That can often be addressed by an appropriate update to alsa, and I can explain how to do that if and when the time comes.

It takes a long time to type the above. So I hope you have sucess in solving this.

Dredger, Here are a couple of wiki that might help you understand the sort of settings that need be applied to get your mic functioning:

openSUSE Microphone:
Microphone - openSUSE

openSUSE skype wiki:
Skype HOWTO - openSUSE

Note the above assume your alsa is configured properly. If it is not, then as I noted (in a previous post) it may be necessary to force a configuration upon boot by applying a custom “model” option, or by very carefully updating alsa. But before taking such drastic measures, try to get your mic working without such steps, and focus on tuning your mixer, as the above URLs suggest.

Oldcpu, thank you so much for such a detailed reply. I am going to sit down and read through your suggestions and the links you have referred me to before replying again.

Once I have done so, and have made the relevant attempts to fix the problem, I will post back onto the forum and either be giving a detailed description of how I fixed the problem, so that anyone else having a similar issue can benefit from this, or be asking for your help in solving the next step.

Once again… Thank you for the help.

Solved…

Thank you so much for all your advice and the wiki’s. Murphy’s Law it was the first piece of advice you gave, and it made me feel like a right chop for not figuring it out! It amazes me how we always want the answer to be a difficult one, when inface it was just a matter of selecting the correct check box and adjusting the levels…

Here is a detailed description of how I got my microphone working, so that hopefully anyone else having the same issue will be able to fix their’s in 30 seconds flat!

Firstly, I am working in KDE 4, so I have no idea if this would apply to anyone working in Gnome or any other window manager!

Step one. Click the little speaker in the task bar next to the digital clock. (The volume controller(Kmix))

Step two. Click the “Mixer” button.

Step three. Click “Settings” at the top and select “Configure Channels”.

Step four. Now mark all the check boxes that have anything to do with mic, both internal and external… Also select the one for “Capture”. Click “Ok”.

Step five. Enable capture as well as Mic Capture, and put their volume to about 75% to test… Put “Mic Boost” to about 25% initially. You may need to select the correct microphone and would now need to do multiple tests to get your mic levels correct. If your levels are not correct you will get a whole lot of distortion due to the mic and mic boost levels being to high… Each user would have different settings here I suspect due to the different hardware configs, so play around with it till you get it right.

Step six. Test. As opdcpu suggested, open a terminal window and do the following test.

arecord -d 10 myrecording.wav

Look further up in this post for a description on arecord…

Once you press enter, it will start recording for 10 seconds, so just speak normally into your microphone till the prompt reappears.

Now that you have made a recording, listen to it so that you can make sure that you can hear yourself. To do this, I opened my “home directory” using Dolphin and double clicked the “myrecording.wav” file to playback the recording. If you can’t hear yourself, go back into KMix, and select the other microphone (If you have one) and play with the volume levels to see if you can get it right… Select and deselect the “Capture” option, but be sure to re-run the recording test after each change you make to ensure that you don’t miss it working.

Done.

I know I went overboard with the instructions, but I hope that someone skimming over it will benefit from them.

Thanks to oldcpu for his help on the matter. I really do appreciate it, and the time you took to type out the answer to me, and encourage and give me the wiki’s to read through. I am heartily grateful.

Dredger. :slight_smile:

Well done, and thanks for sharing your solution.