Lenovo S10 IdeaPad - onboard or external mic not working

I have a Lenovo Ideapad S10 with Suse 11.1.
The playback audio works, but neither the onboard nor the external microphone seem to be able to record audio. There are no errors. If I do tests such as:

arecord -d 10 mytest.wav

It creates an audio file with no errors, but no sound in it.

Also, if I tap my finger on the internal microphone, I can hear it in the speakers. So, it appears to be picking up sound. The same is true for the external microphone.

I checked the audio levels in the alsamixer tool and they seem to be ok.

If I go to Yast hardware settings for the sound, it lists it as:

82801G (IH7 Family) High Definition Audio Controller

If I open the Volume Control tool, the Input and Output devices are not muted or set too low. They are identified as:
HDA Intel - ALC269 Analog

Anyone have ideas?

Here’s what is installed on my system:

alsa-1.0.18-8.7
alsa-plugins-1.0.18-6.12
alsa-tools-1.0.18-1.13
alsa-plugins-pulse-1.0.18-6.12
alsa-utils-1.0.18-6.4
alsa-firmware-1.0.17-1.42
alsa-oss-1.0.17-1.37
alsamixergui-0.9.0rc1-584.132

I found an ubuntu thread mentioning upgrating to ALSA to 1.0.18a fixes the problem.

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

Anyone verify this? If so, is this possible through yast?

Thanks!

Maybe , …

Thanks for that information. It helps. Can you also provide a bit more?

ie with your laptop connected to the internet, by opening a gnome-terminal or a kde konsole and typing “su” (no quotes - enter root password) and then and typing and executing twice :
/usr/sbin/alsa-info.shthe first time it will ask to update. Select YES for the update. The second time that will run a diagnostic script and post the output to a web site on the Internet. It will give you the URL of the web site. Please post that URL here. JUST the URL.

Also, please copy and paste the following commands one line at a time into a gnome-terminal or a konsole and post here the output: rpm -qa | grep pulse
rpm -q libasound2
uname -a
cat /etc/modprobe.d/sound… with that information I may be able to make a recommendation (as opposed to a guess).

Hello, thanks for the reply! Here are the results.

The diagnostic URL:
Your ALSA information is located at http://www.alsa-project.org/db/?f=9164a1d0d13ca89318dd8116b52535a2c95f449f

lenova:~ # rpm -qa |grep pulse
pulseaudio-0.9.12-9.6
pulseaudio-module-zeroconf-0.9.12-9.6
pulseaudio-esound-compat-0.9.12-9.6
libpulse0-0.9.12-9.6
alsa-plugins-pulse-1.0.18-6.12
pulseaudio-module-lirc-0.9.12-9.6
libpulsecore4-0.9.12-9.6
pulseaudio-module-bluetooth-0.9.12-9.6
libpulse-browse0-0.9.12-9.6
pulseaudio-utils-0.9.12-9.6
pulseaudio-module-gconf-0.9.12-9.6
libmpg123-0-pulse-1.7.2-0.pm.1
libpulse-mainloop-glib0-0.9.12-9.6
pulseaudio-module-x11-0.9.12-9.6
lenova:~ #
lenova:~ # rpm -q libasound2
libasound2-1.0.18-8.7
lenova:~ #
lenova:~ # uname -a
Linux lenova 2.6.27.21-0.1-default #1 SMP 2009-03-31 14:50:44 +0200 i686 i686 i3
86 GNU/Linux
lenova:~ #
lenova:~ # cat /etc/modprobe.d/sound

options snd slots=snd-hda-intel

u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-0 snd-hda-intel

Anything else?

Thanks again!

Thanks. … I see an alc269 on a 2.6.27.21 kernel on openSUSE-11.1 32-bit.

I note this in your mixer:
!!Amixer output
!!-------------
!!-------Mixer controls for card 0 [Intel]
Card hw:0 ‘Intel’/‘HDA Intel at 0xf0640000 irq 22’
Mixer name : ‘Realtek ALC269’
Simple mixer control ‘Mic’,0
Front Left: Playback 31 [100%] [12.00dB] [on]
Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control ‘Mic Boost’,0
Capabilities: volume
Front Left: 0 0%]
Front Right: 0 0%]
Simple mixer control ‘Internal Mic’,0
Capabilities: pvolume pswitch
Front Left: Playback 31 [100%] [12.00dB] [on]
Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control ‘Internal Mic Boost’,0
Capabilities: volume
Front Left: 0 0%]
Front Right: 0 0%]I believe you should move the boost up in the mic you are testing from 0% to 100% . Back off if that causes distortion.

If that does not work, there are some model options we can try on the ALC269 (one at a time) in the /etc/modprobe.d/sound file:

ALC269
======
  basic		Basic preset
  quanta	Quanta FL1
  eeepc-p703	ASUS Eeepc P703 P900A
  eeepc-p901	ASUS Eeepc P901 S101
  fujitsu	FSC Amilo
  auto		auto-config reading BIOS (default)

I can give you the syntax for that.

Its also possible, based that an alsa update is needed, in which case for your 2.6.27.21 kernel, you could update alsa to version 1.0.19 built for the 2.6.27.21 kernel by sending six zypper commands (being VERY careful to send the ones applicable to your openSUSE version and also to your kernel version): Alsa-update - openSUSE
If you find that confusing, I can walk you through the exact commands to send to update to 1.0.19 of alsa.

Hello, sorry for being dense, but how do I adjust those levels?

I don’t see settings for “Mic Boost” in the ‘alsamixer’ or in the “Volume Control”.

Is it a command line option to ‘amixer’ ?

Ok, I found the adjustment for the Microphone Boost in YaST > Hardware > Sound > Other > Volume .
There were 3:

Mic Boost
Internal Mic
Internal Mic Boost

Mic Boost and Internal Mic Boost were set to 0. I slid them up until I was getting feedback, and clicked OK. However, if I go back in after that, it lowers Mic Boost to 66 and Internal Mic Boost to 33.
If I try my ‘arecord’ test, I still get an empty audio file (no sound).
I tried playing with those 2 Mic Boosts a bit more, but they seem to auto adjust in a pattern I can’t quite predict.

My next step is to modify that modprobe sound file. What do I need to do to test after making a single change? stop/start /etc/init.d/alsasound ?

oldcpu:
I decided to try the 6 step process at Alsa-update - openSUSE
Upon completing this, I adjusted my Microphone Boost options again. I had success this time! Well, somewhat. The speaker would squeal with feedback until I got it exactly right. But at that level, when I tried to record it wasn’t sensitive enough. I could hear my finger tapping on the microphone port during playback, but I couldn’t hear my voice. It seems like it isn’t sensitive enough. But if I make it more sensitive, I get the feedback.
Is there a way to make the microphone NOT play back (monitor) during recording? I can’t see any purpose in this functionality anyway…
Thoughts?

Thanks!

I would like to do a quality check of your new setup. So please, can you run the script again with your mixer set as best you can:
/usr/sbin/alsa-info.sh
and post here the URL.

Also, please provide the output of:
rpm -qa | grep alsa
rpm -qa | grep pulse
rpm -q libasound2

I don’t understand that. You want the mic off during recording?

Anyway, its possible the autoprobe did not properly select your audio config during boot, and we may need to apply an ALC269 model option to your /etc/modprobe.d/sound file to force a specific model option.

But first, … the quality check above. Thanks.

oldcpu:
I will try the tests when I get home tonight.

As far as the “microphone off” comment, I am trying to find if there is a way to make it NOT output the audio it receives in the microphone to the speaker, and thus preventing the feedback. When I tap my finger on the microphone, I can hear it come out of the speaker. While this is useful to determine whether the microphone is working, it’s suboptimal during normal use since feedback can easily occur.

Or is this not possible or logical?

OK … Just switch OFF the mic in that case.

If I shut off the mic, it won’t record. :slight_smile:

Maybe I’m not explaining it very well.

My goal: Have the microphone record, but not have it echo the sound out of the speaker while recording since this causes feedback.

OK, this is the output url:
Your ALSA information is located at http://www.alsa-project.org/db/?f=f30efc2955a70eb5076fa99b78eec9b91edebde8

And the output of the rpm commands:
lenova:~ # rpm -qa | grep alsa
alsa-plugins-1.0.18-6.12
alsa-utils-1.0.19.git20090416-1.2
alsa-plugins-pulse-1.0.18-6.12
alsa-firmware-1.0.19.git20090317-1.1
alsa-1.0.19.git20090410-1.1
alsa-driver-kmp-default-1.0.19.20090418_2.6.27.21_0.1-2.1
alsa-oss-1.0.17-1.37
alsamixergui-0.9.0rc1-584.132
alsa-tools-1.0.19.git20090320-1.4
lenova:~ # rpm -qa | grep pulse
pulseaudio-0.9.12-9.6
pulseaudio-module-zeroconf-0.9.12-9.6
pulseaudio-esound-compat-0.9.12-9.6
libpulse0-0.9.12-9.6
alsa-plugins-pulse-1.0.18-6.12
pulseaudio-module-lirc-0.9.12-9.6
libpulsecore4-0.9.12-9.6
pulseaudio-module-bluetooth-0.9.12-9.6
libpulse-browse0-0.9.12-9.6
pulseaudio-utils-0.9.12-9.6
pulseaudio-module-gconf-0.9.12-9.6
libmpg123-0-pulse-1.7.2-0.pm.1
libpulse-mainloop-glib0-0.9.12-9.6
pulseaudio-module-x11-0.9.12-9.6
lenova:~ # rpm -q libasound2
libasound2-1.0.19.git20090410-1.1
lenova:~ #

I note you have the boost turned down on you mics. I assume that is to reduce feedback. If trying to record, you will need to turn the boost up.

Reference the rpm commands, you also could have installed the git versions for alsa-plugins, alsa-plugins-pulse, alsa-oss.

But that should not affect your mic.

What you could try next is work on an assumption that the auto probe of alsa did not properly configure your sound card for your mic upon boot, and then force the configuration to various preset model options, one at a time, to see if one of them might work. The list is here:

ALC269
======
  basic		Basic preset
  quanta	Quanta FL1
  eeepc-p703	ASUS Eeepc P703 P900A
  eeepc-p901	ASUS Eeepc P901 S101
  fujitsu	FSC Amilo
  auto		auto-config reading BIOS (default)

So lets say you wish to try “basic” from that list. Then change your /etc/modprobe.d/sound file to:

options snd-hda-intel model=basic
options snd slots=snd-hda-intel
# u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller
alias snd-card-0 snd-hda-intel

save the change (you need root permissions for that) and restart your alsa sound drive by typing **su -c ‘rcalsasound restart’**and then restart your mixer and then test your sound and your mic. Make a note if you have more or less mixer settings. If “basic” does not help, then move on to the next item in the list, such as “quanta”. Save. Restart alsa and mixer. Test … etc … for each item.

If you need help in “how to edit a text file with root permissions”, post and I can walk you through that.

Ok, I commented everything out of my /etc/modprobe.d/sound file, and added the single line:

options snd-hda-intel model=basic

Then

rcalsasound restart

I got a warning that my sound control was being removed from the taskbar, and if i wanted to restore it. I said yes, and it came back with a little red X on it. (I’m using GNOME by the way).

In the messages file, I see:

Apr 22 09:57:42 lenova kernel: HDA Intel 0000:00:1b.0: PCI INT A disabled

Just for clarification-- is it normal that I hear the sound come out of the speaker while I tap the microphone? It seems to me this is a perfect recipe for feedback. When I boot to Windows, this does not occur.

I tried playing with the Microphone and Microphone-boost levels more. I can get it to record and play back sound, but it’s very quiet and distorted. If I slowly move the Microphone and/or boost levels, I get the feedback.

Ok, then please continue as noted in the previous post:

Reference your other questions:

Depending on the setting, yes.

Depending on the setting, yes.

Sometimes it takes very careful tuning. …

Try the other model options.

Worst comes to worst and you can write a bug report: Submitting Bug Reports - openSUSE openSUSE is very fortunate that the person at Novell/SuSE-GmbH who looks after sound, is also an alsa developer.

Oh I’m sorry. I misunderstood.
I thought you meant entering each of those lines one at a time. Sorry, I am not familiar with the syntax of that config file so I didn’t know what to do.

I tried all 6, but with no success. The best I could get was partial distorted sound.

Not each of the lines one at a time. … The model option from each line, one at a time. I provided a specific example for “basic”. … ie

options snd-hda-intel model=basic
options snd slots=snd-hda-intel
# u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller
alias snd-card-0 snd-hda-intel

NOTE - I did NOT enter the entire line from the list. Only “basic” and not “Basic preset”. So if “basic” does not work, you can try, one at a time, each of quanta, eeepc-p703, eeepc-p901, fujitsu, and auto. You need to restart alsa and your mixer after each attempt.

I can not tell what you tried based on your last post. :\

Did you try both internal and external mics ?

Here is what I tried:

Created /etc/rc.modules/sound containing:

options snd-hda-intel model=basic
options snd slots=snd-hda-intel

u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-0 snd-hda-intel

stopped/started alsa, and tested.

I repeated the process 5 more times for each of the following:

options snd-hda-intel model=quanta
options snd slots=snd-hda-intel

u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-0 snd-hda-intel

–stop/start/test–

options snd-hda-intel model=eeepc-p703
options snd slots=snd-hda-intel

u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-0 snd-hda-intel

–stop/start/test–

options snd-hda-intel model=eeepc-p901
options snd slots=snd-hda-intel

u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-0 snd-hda-intel

–stop/start/test–

options snd-hda-intel model=fujitsu
options snd slots=snd-hda-intel

u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-0 snd-hda-intel

–stop/start/test–

options snd-hda-intel model=auto
options snd slots=snd-hda-intel

u1Nb.kCgrJSTmyD6:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-0 snd-hda-intel

–stop/start/test–

I didn’t find any of the 6 to solve the problem. Once applied, a couple of them didn’t have a Microphone-boost option in the controller. But I still tried adjusting all the slider values to the point of feedback but nothing worked any better than the original/default.

OK.

Then your best bet IMHO is to see if the openSUSE / alsa developer can help you via writing a bug report: Submitting Bug Reports - openSUSE