mic not working

Ok,

I´m on a Lenovo Ideapad s205 with OpenSuse 12.2 64 bit

The internal microphone does not work

The sound it records is just a garbled noise as if a mouse had crunched the mic cable

Is there anything I can do to fix this ?

Thanks

Could you start by passing some rather detailed information on your Lenovo Ideapad’s hardware and software audio configuration ? You can do that by opening a “bash shell” /terminal (with your PC connected to the internet) and in that terminal type the following to run an audio diagnostic:


/usr/sbin/alsa-info.sh 

select the UPLOAD/SHARE option and when the script has completed running it will upload your audio configuration to a website and give you the web-url/address where that is located. Please copy that link and paste it here. Also BEFORE running the script, ensure you have the mic configured as optimal as possible. With the information from that diagnostic script I may be able to make a better educated guess as to what is wrong.

wrt the mike and pulse audio, you may find some entries in my blog on pulse audio of use: https://forums.opensuse.org/blogs/oldcpu/pulseaudio-basics-opensuse-pavucontrol-96/

Thank you

this is the URL

http://www.alsa-project.org/db/?f=55239754d0c3ec35f56fcebb144879528444517e

I think the mic is configured at its best but I wouldn´t swear that :wink:

Thanks again

Thanks ! I note a 64-bit openSUSE 12.2 with 3.4.33-2.24-desktop kernel on a Lenovo Ideapad S205 with version 1.0.25 of alsa sound driver. There are two instances of the snd_hda_intel alsa module (driver) laoded.

The two sound devices are an HDMI device (hw:0,0) and your nominal sound device (hw:1,0) a Conexant CX20590 hardware audio codec. This is a bit unusual having the HDMI devices listed 1st, as typically it is the other way around.

With respect to recording, your audio device is noted as hw:1,0:


**ARECORD**

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

Checking the mixer for that device:


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

Card hw:1 'SB'/'HDA ATI SB at 0x90240000 irq 16'

**Simple mixer control 'Mic',0**
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 **[100%]** [6.00dB] **[on]**
  Front Right: Capture 80 **[100%]** [6.00dB] **[on]**
**Simple mixer control 'Mic Boost',0**
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 4 ****[100%]**** [40.00dB]
  Front Right: 4 **[100%]** [40.00dB]
**Simple mixer control 'Auto-Mute Mode',0**
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: '****Enabled****'
**Simple mixer control 'Internal Mic',0**
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 0 **[0%]** -74.00dB] **[off]**
  Front Right: Capture 0 **[0%]** -74.00dB] **[off]**
**Simple mixer control 'Internal Mic Boost',0**
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 0 **[0%]** [0.00dB]
  Front Right: 0 **[0%]** [0.00dB]

From the above I can see your Internal Mic is Muted (off) and also has zero % capture. The boost for the internal mic is also at zero.

I believe you need to go into kmix and fix those.

And after (and only after) you fix those, you can then consider installing pulse audio volume control (pavucontrol) and use that to better tune your mic , where in my Blog some time back I documented how I went about this on my PC : https://forums.opensuse.org/blogs/oldcpu/pulseaudio-basics-opensuse-pavucontrol-96/#comment342

I can´t figure out how to use kmix

in the settings menu there´s a “configure audio” option and in the dialog window that opens there´s a toggle for the volume of th emic but I can´t move it

Isn´t there a command line way to do this ?

Thanks

Yes … there is likely a command way of doing this. The downside to trying that is:
(a) my hardware is not the same as yours, and I am no expert in this and so I could give you the wrong commands, and
(b) even if we succeed, it does not help you learn how to use the mixer and you should learn how to use the mixer.

Anyway, back to your request wrt a command line way, try this:

  • To unmute your ‘internal mic’ (ie switch it ON) :

amixer -c 1 -- set 'Internal Mic' on

I am using ‘-c 1’ and not ‘-c 0’ because I believe you are using device-1 here (and not device-0)
.

  • Now to move up the capture levels on this same Internal Mic, try this:

amixer -c 1 -- set 'Internal Mic' 70%

.

  • now to move up the boost levels for your internal mic, try this:

amixer -c 1 -- set 'Internal Mic Boost' 70%

You may need to apply ALL three amixer commands. But those may not work. I could have the syntax wrong and I am not in front of your PC for a trial-error attempt at the syntax.

Even IF I manage to get the syntax right, those levels could be totally inappropriate. Possibly way too high with massive distortion. Or way too low.

… anyway, good luck with this.

thank you

now it´s late in the night, I´ll try tomorrow and let you know

Good night

Before we go furher, couldn´t this

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/884652

be pertinent ?

and anyway


> amixer -c 1 -- set 'Internal Mic' on
amixer: Invalid command!

Yes, that may be pertinent but in truth, I do not want to read it all.

wrt the error, you asked for a command line method (ie to tune the mixer), and so I assumed you had the appropriate application installed to do such. My mistake for assuming.

Please install the application ‘alsa-utils’ and try again.

Note also post#17 in that which states:

The commit for this issue came in via a stable upstream release (linux 3.2.32)

Your kernel version is



!!Kernel Information !!------------------  Kernel release:    3.4.33-2.24-desktop

so it should have any fix already incorporated.

ok, thanks for the note about the kernel.

As for the amixer command, it is present indeed ! this is its output


me@linux-ojb8:~> amixer
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch cswitch-joined
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 65536
  Front Left: Capture 50094 [76%] [on]
  Front Right: Capture 24161 [37%] [on]

BUT


catonano@linux-ojb8:~> amixer -c 1 -- set 'Internal Mic' on
amixer: Invalid command!

I believe the “Invalid command !” string is coming from amixer

In fact if I call a nonexistent command, the error messag is different


me@linux-ojb8:~> amixAr
If 'amixAr' is not a typo you can use command-not-found to lookup the package that contains it, like this:
    cnf amixAr

thanks anyway

this is precisely why I qualified my post and cautioned about my not being an expert in the command use, nor my knowing your hardware.

If the control was wrong, I would expect the error


amixer: Unable to find simple control 'Internal Mic',0


or something like that.

If the argument/switch was wrong I would expect something like


amixer: invalid option -- 'x'
Invalid switch or option needs an argument.

But instead you get " amixer: Invalid command! " … that suggests it can not find the command.

What does this give ?


amixer -c 0 scontrols

and also this give ?


amixer -c 1 scontrols

and also this give ?


whereis amixer

Dear oldcpu,

I´m so grateful for your willingness to try several options, this is exactly what I was thinking but I had not the courage to plainly ask :wink:

Now I can´t do this but I will do it soon and let you know.

Really, thanks

Ok, ok, I do it now

so:


me@linux-ojb8:~> amixer -c 0 scontrols
Simple mixer control 'IEC958',0
me@linux-ojb8:~> 


me@linux-ojb8:~> amixer -c 1 scontrols
Simple mixer control 'Master',0
Simple mixer control 'Headphone',0
Simple mixer control 'Speaker',0
Simple mixer control 'PCM',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost',0
Simple mixer control 'Beep',0
Simple mixer control 'Auto-Mute Mode',0
Simple mixer control 'Digital',0
Simple mixer control 'Internal Mic',0
Simple mixer control 'Internal Mic Boost',0
me@linux-ojb8:~> 


me@linux-ojb8:~> whereis amixer
amixer: /usr/bin/amixer /usr/bin/X11/amixer /usr/share/man/man1/amixer.1.gz
me@linux-ojb8:~> 

and finally

me@linux-ojb8:~> which amixer
/usr/bin/amixer
me@linux-ojb8:~> 

There are 2 amixers in two different paths and I think the one returned by which is the one taht´s called when I type its name at the prompt

Maybe the one in the X11 folder is better or different ?

God knows

Thanks for any help

ok … then this should have worked:

  • To unmute your ‘internal mic’ (ie switch it ON) :

amixer -c 1 -- set 'Internal Mic' on

.

  • Now to move up the capture levels on this same Internal Mic, try this:

amixer -c 1 -- set 'Internal Mic' 70%

.

  • now to move up the boost levels for your internal mic, try this:

amixer -c 1 -- set 'Internal Mic Boost' 70%

Please close the bash shell you had opened and start a new one and try again. My only wild speculation is that path was corrupted in that terminal for some reason.

or even try

  • to switch on the internal mic
 
/usr/bin/amixer -c 1 -- set 'Internal Mic' on

.

  • Now to move up the capture levels on this same Internal Mic, try this:

/usr/bin/amixer -c 1 -- set 'Internal Mic' 70%

.

  • now to move up the boost levels for your internal mic, try this:

/usr/bin/amixer -c 1 -- set 'Internal Mic Boost' 70%

There are other examples of amixer syntax here: amixer(1): mixer for ALSA soundcard driver - Linux man page where instead of ‘set’ one uses ‘sset’. There is also ‘cset’ but its syntax is different from ‘set’ and ‘sset’. I am NOT familiar with the use of either. Here is another URL with examples this time of cset : Solve Alsa soundcard control issues with amixer

Maybe you should look at learning how to use your mixer ?

Ok, ok, I get it, I´ll try to get educated about what a mixer is and what it´s supposed to do and how to set it

In case I manage to activate the mic I´ll get back here

Thanks for your help