opensuse 12.1 - cannot get internal mic to work on lenovo g770 laptop

Hi guys,

I have a lenovo g770 laptop with opensuse 12.1 x86-64 installed and cannot get the system to recognize the internal mic. I want to use the mic mainly for google video chat.

Here is my my system info

output of /usr/bin/alsa-info.sh

rpm -qa | grep alsa

alsa-oss-32bit-1.0.17-37.1.2.x86_64
alsa-utils-1.0.24.2-12.8.1.x86_64
alsa-plugins-1.0.24-18.1.2.x86_64
alsa-plugins-pulse-1.0.24-18.1.2.x86_64
alsa-plugins-pulse-32bit-1.0.24-18.1.2.x86_64
alsa-1.0.24.1-23.1.2.x86_64
alsa-plugins-32bit-1.0.24-18.1.2.x86_64
alsa-firmware-1.0.24.1-7.1.1.noarch
alsa-oss-1.0.17-37.1.2.x86_64

rpm -qa | grep pulse

pulseaudio-module-jack-1.1-1.2.x86_64
pulseaudio-utils-1.1-1.2.x86_64
libpulse-mainloop-glib0-1.1-1.2.x86_64
pulseaudio-module-zeroconf-1.1-1.2.x86_64
alsa-plugins-pulse-1.0.24-18.1.2.x86_64
libxine1-pulse-1.1.20-59.3.x86_64
alsa-plugins-pulse-32bit-1.0.24-18.1.2.x86_64
pulseaudio-1.1-1.2.x86_64
pulseaudio-module-bluetooth-1.1-1.2.x86_64
libpulse0-32bit-1.1-1.2.x86_64
pulseaudio-module-x11-1.1-1.2.x86_64
libpulse0-1.1-1.2.x86_64
pulseaudio-module-lirc-1.1-1.2.x86_64

rpm -q libasound2

libasound2-1.0.24.1-23.1.2.x86_64

uname -a

Linux salemlenovo.salemnet 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux

arecord -l

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

I am also not able to be record any sound using arecord. When I try to play anything I record, it comes back with nothing recorded =>

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

Here are some screenshots of pavucontrol when using google video chat =>
some screenshots of pavucontrol

I am really not sure what else to try. I would really appreciate any help or ideas on what else I could try.

Thanks very much!
Nick

OK, thanks. I note a 64-bit openSUSE-12.1 on your Lenovo G770 with the 3.1.0-1.2-desktop kernel running alsa Driver version 1.0.24 and alsa Utilities version 1.0.24.2. The Lenovo G770’s hardware audio codec is a Conexant CX20590.

I also note in the mixer …


**Card hw:0 'PCH'/'HDA Intel PCH at 0xd0600000 irq 42'**
  Mixer name	: '**Intel CougarPoint HDMI**'
**Simple mixer control 'Capture',0**
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 76 [95%] [2.00dB] [on]
  Front Right: Capture 76 [95%] [2.00dB] [on]
**Simple mixer control 'Analog Mic Boost',0**
  Capabilities: cenum
  Items: '0dB' '10dB' '20dB' '30dB' '40dB'
  Item0: '**20dB**'
**Simple mixer control 'Digital',0**
  Capabilities: cvolume penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 60** [50%] **[0.00dB]
  Front Right: Capture 60 **[50%]** [0.00dB]

Please, if trying to establish recording, why do you the boost low at 20 dB and the capture at 50% ? What is your logic here ? If it would me I would move both those levels up when trying to establish recording. Only AFTER I had some sort of noise recorded, would I then lower the levels (as you have done) to reduce recording distortion.

ok … did arecord give any errors ? Thats important. arecord is very good at providing errors hinting at a problem.

This is not set up well.

The Input Device Tab should have SHOW set to all input devices. I don’t know why you are excepting some (possibly because that is the default setting and you just left it that way). Reference the Recording tab, you should set that to SHOW ‘all streams’. Else you will not see your recording. Note also that the ‘arecord’ command, while the recording command I recommend, likely won’t show up in pavucontrol Recording tab. But when recording from other applications, the first time you try to record from those applications, they will show up in the Recording Tab and you should run pavucontrol and tune the Recording tab for those applications. Reference the Configuration Tab, WHAT precisely are the options you have there that you can choose from ?

Anyway, I note the CX20590 hardware audio codec on your Lenovo G770. That is fairly new … a surf indicated it was committed to the kernel in March-2011. Its possible all aspects of it were not yet sorted at that time and my recommendation is to raise a bug report and get the SuSE-GmbH packager of openSUSE assistance in this. They are also an alsa sound driver developer and if anyone can sort this, they can.

They may ask you to update your alsa driver version to the latest cutting edge version, and if they do there is guidance here: SDB:Alsa-update - openSUSE (I just updated that page earlier today).

There is guidance for how to write a bug report here: openSUSE:Submitting bug reports - openSUSE and you can use your openSUSE forum username and password when logging on to ‘bugzilla’. Please attach to your bug report the /tmp/alsa-info.txt text file you get by running the command:


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

and please ensure the bug report is complete. The SuSE-GmbH sound packager will NOT read a forum thread so there is no need/point to reference this forum thread.

Please monitor the bug report once/day and watch for the flag to change to ‘NEED INFO’ . The SuSE-GmbH sound packager will set that flag when they need information from you. Once you provide the information, be certain to CLEAR the ‘NEED INFO’ flag. That is important. If you do not clear the flag, the SuSE-GmbH packager may miss the fact that you have provided the requested information.

Good luck on this ! You will be in GOOD hands with the SuSE-GmbH sound packager.

Thanks oldcpu for you help! Here some more answers/input to your questions:

Please, if trying to establish recording, why do you the boost low at 20 dB and the capture at 50% ?..

I didn’t know where to increase the sound levels; I found no options in the kmixer or yast/hardware/sound/volume for capture/mic. I was finally able to adjust “Analog Mic Boost” to 40 and Capture to 90 in the alsamixer when I set “0 HDA Intel PCH” as the sound card… I tried to test afterwards but still not able to get the mic to work.

ok … did arecord give any errors ? Thats important. arecord is very good at providing errors hinting at a problem.

No errors and no sound.

The Input Device Tab should have SHOW set to all input devices. I don’t know why you are excepting some (possibly because that is the default setting and you just left it that way). Reference the Recording tab, you should set that to SHOW ‘all streams’. Else you will no

I changed the “Input Device Tab” to all input devices and changed the recording tab to show all streams and uploaded the screenshots here.

Here are the options from the pavucontrol configuration page =>

  1. Analog Stereo Duplex
  2. Analog Stereo Output
  3. Digital Stereo (HDMI) Output + Analog Stereo Input
  4. Digital Stereo (HDMI) Output
  5. Analog Stereo Input
  6. Off

Please let me know if you have any other ideas. In the meantime, I am going to enter a bug report as you recommended.

Thanks again for your help!
nsalem

In pavucontrol, did you have any luck with (1) and/or (3) and/or (5) above ?

Failing that, the bug report may be your best option, as this should ‘just work’, and it does not, and the SuSE-GmbH sound packager is also an alsa sound driver developer, and any fix they make will be passed upstream so that all GNU/Linux distributions can benefit.

In pavucontrol, did you have any luck with (1) and/or (3) and/or (5) above ?

no luck with any of these.

I’ll go for the bug report

Thanks much!
nsalem

I opened a bug for this => bug 735237 - built in mic for lenovo g770 laptop does not work

I was able to get the mic working after getting input from Novell bugzilla. Here are the instructions that got it working just in case anybody else runs into a similar issue =>

Try to pass model=auto option for snd-hda-intel module, e.g. add a line

options snd-hda-intel model=auto

to /etc/modprobe.d/sound.conf file, and reboot. Adjust mixer (e.g. via
“alsamixer -c0”).

Now the mic is working great! Thanks oldcpu for your advice!

Thanks for sharing your solution (to get the internal mic working) on your Lenovo G770 laptop with a Conexant CX20590 hardware audio codec on a 64-bit openSUSE 12.1 with the 1.0.24 version of alsa and a 64-bit openSUSE packaged 3.1.0-1.2-desktop kernel version.

Takashi Iwai , in addition to being the SuSE-GmbH sound packager for openSUSE, is also an alsa sound driver developer. We are very fortunate on openSUSE to have him as our packager for sound, and for answering our openSUSE sound bug reports. He has helped me a couple times when I had sound problems with relatively new hardware.

My thanks to Takashi also !