Internal microphone doesn't work

Hi there,

I’ve had this problem for quite some time but keep on forgetting to ask about it. Instead I’ve been using a live system with Ubuntu on a stick as a workaround, but it’s not the most elegant solution :wink:

My internal microphone doesn’t work in OpenSUSE. Not much else to say about it. I’ve got pulseaudio installed, but that’s about the extent of my multimedia tweak capabilities. An external analog mic works just fine. I’ve had the microphone working on previous installations of OpenSUSE before without problems and it works fine with the live Ubuntu, just not with my SUSE installation.

Running OpenSUSE 11.4 x64. Thanks for any help!

First, try installing pulse audio volume control (pavucontrol) and then try to record with your internal mic ensuring you have the pavucontrol ‘configuration’ tab configured for your internal mic, and you have the pavucontrol tab ‘input devices’ tuned for you internal mic (also ensure you have SHOW all devices selected in that tab), and also have the pavucontrol ‘recording’ tab configured to use your internal mic (also have the SHOW tab set to SHOW ‘all streams’ ). You NEED to run pavucontrol and tune this while attempting to record.

If that does not work, then I would like to help, but I need more information. Please provide the information recommended to be provided from our multimedia stickie: Welcome to multimedia sub-area in the quoted section. (I’ll even quote it below to make this easy for you) …

/usr/sbin/alsa-info.sh 

and select the SHARE/UPLOAD option and after the script finishes it will give you a URL to pass to the support personnel. Please post here the output URL/website-address that gives. Just the URL/website-address. You may need to run that script twice (the first time with root permissions to update in the /usr/sbin directory, and the second time to get the URL).
.
Note if for some reason that gives you no website/url/address then run it with the no-upload option:

/usr/sbin/alsa-info.sh --no-upload

and post the file /etc/alsa-info.txt it creates to Pastebin.comand press SUBMIT on that site and again post here the URL/website-address it provides.

.
… some clarification on running the script “alsa-info.sh” … when you run:

/usr/sbin/alsa-info.sh 

you should get something like this (if it asks for an update, select NO):
http://thumbnails33.imagebam.com/9280/a5973e92794041.jpg](http://www.imagebam.com/image/a5973e92794041)

followed by this (select the SHARE/UPLOAD option):
http://thumbnails30.imagebam.com/9280/5e84f992794044.jpg](http://www.imagebam.com/image/5e84f992794044)

followed by this (its quickest if you simply select ‘NO’ to seeing the output - you will see it on the web page) :
http://thumbnails32.imagebam.com/9280/214da092794048.jpg](http://www.imagebam.com/image/214da092794048)

followed by this (where in RED is the URL).
http://thumbnails23.imagebam.com/9280/d9858092794051.jpg](http://www.imagebam.com/image/d9858092794051)

Just post the URL you get (similar to the RED URL in my example, but yours will be different).

Again, if you can not get that, then run this with the no upload option:

/usr/sbin/alsa-info.sh --no-upload
which will create the file /tmp/alsa-info.txt. Copy that file and paste it on [Pastebin.com](http://pastebin.com) and press submit. That will give you a URL address. Please post that URL here.
 

Also provide the following:

  • in a terminal, or xterm, or konsole, type: rpm -qa ‘alsa#and post output here
  • in a terminal, or xterm, or konsole, type: rpm -qa ‘pulse#and post output here
  • in a terminal, or xterm, or konsole, type: rpm -q libasound2 #and post output here
  • in a terminal, or xterm, or konsole, type: uname -a #and post output here
  • for openSUSE-11.2 or newer, in a terminal, or xterm, or konsole, type: cat /etc/modprobe.d/50-sound.conf #and post output here

Hi there,

Sorry for taking so long to write back, I had my laptop at home while attending a workshop in another city. Now I’ve installed pavucontrol - in the configuration I’ve set the profile to Analog Stereo Duplex, although I have also tried Analog Stereo Input. In the tabs Input Devices and Recording I always set it to show all input devices, but my internal audio analog stereo device doesn’t react to any noises. I can see e.g. music in the monitor of internal audio analog stereo. I don’t see any other input devices.

Here’s the output of the alsa-info script:
http://www.alsa-project.org/db/?f=2a6c20b970fa4d72abfea17fcad7d2095c3b4e2a

Thanks for the help! Sorry for being such a noob, I should’ve found the sticky earlier.

I note from that diagnostic script a 64-bit openSUSE-11.4 on a Lenovo 560 with a CX20585 hardware audio codec, where your laptop’s openSUSE has the 2.6.37.6-0.7-default kernel and 1.0.23 alsa driver and 1.0.24.2 alsa utils.

The audio hardware audio codec (CX20585) in the Lenovo G460 is new (although similar it appears to a CX5066) and after searching on this, I read many complaints from GNU/Linux distribution users (mostly Ubuntu) who complain the mic is broken when ever their sound is properly enabled. Typically such users had to apply the option model when fixing a different sound problem, which then caused a problem with their mic. They in fact had the wrong model option applied.

Now an explanation …

First let me say, when testing your mic, I recommend you using this command:


arecord -vv -f cd test.wav

then open the file ‘test.wav’ and replay it with a media player and see if there is sound.

Or sometimes one can specifically point arecord to different record devices, … For example if you run this command:


arecord -l

you should get:


ARECORD

**** List of CAPTURE Hardware Devices ****
**card 0**: Intel [HDA Intel], **device 0**: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

which indicates your record device as currently alsa driver is configured is: hw:0,0 .

That might be an input jack mic and not your internal mic. If so your internal mic may not be recording.

To record in the hw:0,0 mic, the record command you could try is :


arecord -vv -D hw:0,0 -f cd test.wav

or instead (if it does not like the ‘cd’ format)

try something like (if mic supports 2 channels):


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

or if mic supports only one channel :


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

Pay attention to any arecord errors. It provides superb information. But as I note, that could be the wrong mic !

Now as noted your hardware audio codec is a CX20585 and its possible forcing a configuration of the alsa driver upon boot ‘might’ fix your problem. Noting that the CX20585 is similar to the CX2066 per this post you could try one at a time the different model options from the HD-Audio-Models.txt file (from the alsa sound driver documentation) and see if one of them might work (my guess is they will not , but who knows ? ) … That list is:


Conexant 5066
=============
  laptop    Basic Laptop config (default)
  hp-laptop    HP laptops, e g G60
  asus        Asus K52JU, **Lenovo G560**
  dell-laptop    Dell laptops
  dell-vostro    Dell Vostro
  olpc-xo-1_5    OLPC XO 1.5
  ideapad       Lenovo IdeaPad U150
  thinkpad    Lenovo Thinkpad

I note a Lenovo G560 is associated with the ‘asus’ option.

To force a model option (lets say you want to force ‘asus’ ) you need to add this line to the START of your computers openSUSE-11.4 /etc/modprobe.d/50-sound.conf file:


options snd-hda-intel model=asus

save the change, and then restart alsa with the comamnd:


su -c 'rcalsasound restart'

and enter root password when prompted for a password. If using KDE, don’t keep any old audio configurations if asked. Restart your mixer (‘kmix’ if kde, and likely ‘alsamixer’ if Gnome). Then test your sound, test your headphones, and test your mics.

You can also run again that alsa-info.sh diagnostic script after restarting with the ‘asus’ option in the 50-sound.conf file in case there is more information to be gained with that option applied.

Do NOT put backups in the /etc/modprobe.d directory, but rather keep backups elsewhere.

One last piece of advice … increase the BOOST in your mixer. I note:


Simple mixer control 'Analog Mic Boost',0
  Capabilities: cenum
  Items: '0dB' '10dB' '20dB' '30dB' '40dB'
  Item0: '20dB'

If you are going to test the mic, then increase the boost to something higher than 20dB (although I note that is for an ‘analog’ mic and its your internal mic is a digital mic).

Good luck.