Help with HP dv6815 integrated microphones

This is my first laptop(HP 6815nr). I’m using opensuse 11 KDE 3.5.9. Everything worked out of the box except the Atheros wifi, and the integrated microphones at the top of the laptop lid. Ndiswrapper solved the wireless problem, but I have no idea where to start with the microphones. Kmix shows the volume control for the microphone, but nothing under the “switches” tab. I tried recording with krecord, but when I try to playback something, it complains that it can’t open the sound card: device or resource busy. Attempts to play them with amarok, or kaffeine is just empty. I’m assuming it has something to do with drivers or some configuration file.

I searched the web on your laptop, but could not find any other Linux users with the same model. So could you provide some more information on your laptop hardware/software configuration for audio? To do that, please run the following diagnostic script (with your laptop connected to the internet copy and paste the following to a konsole):

wget http://home.cfl.rr.com/infofiles/tsalsa && su -c 'bash ./tsalsa' 

and when it asks for a password enter your root password. Please try to answer the questions accurately. When it finishes it will give you a URL, … please post that URL here.

Also, please provide the output of copying and pasting the following, one line at a time, in a konsole:
rpm -qa | grep alsa
rpm -qa | grep pulse
rpm -q libasound2
uname -a
cat /etc/modprobe.d/sound

I’m hoping with that information I will have a better chance of making a helpful recommendation.

Thank you, and good luck.

tsalsa.txt - nopaste.com (beta)

shawnr@fastback:~> rpm -qa | grep alsa
alsa-utils-1.0.16-35.1
alsa-1.0.16-39.1
alsa-firmware-1.0.16-24.1
alsa-plugins-1.0.16-57.1
alsa-oss-1.0.15-48.1

shawnr@fastback:~> rpm -qa | grep pulse
NULL

shawnr@fastback:~> rpm -q libasound2
libasound2-1.0.16-39.1

shawnr@fastback:~> uname -a
Linux fastback 2.6.25.9-0.2-pae #1 SMP 2008-06-28 00:00:07 +0200 i686 athlon i386 GNU/Linux

shawnr@fastback:~> cat /etc/modprobe.d/sound

options snd slots=snd-hda-intel

M71A.k5JPLyF5+X5:MCP67 High Definition Audio

alias snd-card-0 snd-hda-intel

Next time you get that, copy and paste the following to a konsole to see if any application as inappropriately seized the device:
lsof /dev/dsp /dev/audio /dev/mixer* /dev/snd/***

In truth, I don’t expect anything interesting, but it doesn’t hurt to try.

Also try to record with arecord:
arecord -d 10 myrecording.wav
and
arecord -d 10 -f cd mysecondrecording.wav
Note the “-d 10” records for 10 seconds. If you change it to “-d 5” it will record for 5 seconds.

In addition to trying as a regular user, also try the arecord with root permissions (ie type “su” first in a konsole), in case this is a permissions problem.

I searched again for your CX20561, but found no entries for alsa. I do know some of the Conexant (cx) devices had their names changed, and hence sometimes the CX5045, CX5047, and CX5041 ALSA-Configuration.txt file settings will work with a CX205xx chip.

ALSA-Configuration.txt extract:

	Conexant 5045
	  laptop-hpsense    Laptop with HP sense (old model laptop)
	  laptop-micsense   Laptop with Mic sense (old model fujitsu)
	  laptop-hpmicsense Laptop with HP and Mic senses
	  benq		Benq R55E
	  test		for testing/debugging purpose, almost all controls
			can be adjusted.  Appearing only when compiled with
			$CONFIG_SND_DEBUG=y

	Conexant 5047
	  laptop	Basic Laptop config 
	  laptop-hp	Laptop config for some HP models (subdevice 30A5)
	  laptop-eapd	Laptop config with EAPD support
	  test		for testing/debugging purpose, almost all controls
			can be adjusted.  Appearing only when compiled with
			$CONFIG_SND_DEBUG=y

	Conexant 5051
	  laptop	Basic Laptop config (default)
	  hp		HP Spartan laptop 

So if the above arecord fails, then I am thinking you could try a custom setting to your /etc/modprobe.d/sound file. ie start by change it to:

options snd slots=snd-hda-intel
options snd-hda-intel model=laptop-hpmicsense
# M71A.k5JPLyF5+X5:MCP67 High Definition Audio
alias snd-card-0 snd-hda-intel 

and save that change and restart your alsa with rcalsasound restart and test. In particular, check to see if your kmix looks any different?

If that fails, try each of the models one at a time, saving and restarting alsa after each attempt (and testing), ie instead of “hpmicsense” try laptop-hpsense, laptop-micsense, laptop-hp, laptop-eapd, laptop, hp, benq. Note for a lot of these model attempts, alsa simply may refuse to restart, giving lots of errors.

Good luck, and I hope those suggestions of things to try are not too confusing.

I tried krecord playback and ran the command you gave, but can’t make any sense of it. I will try some of the alsa options you posted and give you an update. Thanks for the help.

shawnr@fastback:~> lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
kdesktop 3180 shawnr  mem    CHR  116,4          3742 /dev/snd/pcmC0D0p
kdesktop 3180 shawnr   11r   CHR  116,2      0t0 3510 /dev/snd/timer
kdesktop 3180 shawnr   12u   CHR  116,4      0t0 3742 /dev/snd/pcmC0D0p
kdesktop 3180 shawnr   13u   CHR  116,7      0t0 3748 /dev/snd/controlC0
kmix     3217 shawnr   10u   CHR  116,7      0t0 3748 /dev/snd/controlC0

None of the options affected the microphone, but you have give me something to go on. When I tried arecord, the first command would cause the speakers to pop during playback, but still no sound. I will keep trying to get them going. Thank you for all the knowledge and help.

To give you an idea as to what it should look like, …here is mine with no audio playing:

oldcpu@stonehenge:~> lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*
COMMAND  PID    USER   FD   TYPE DEVICE SIZE NODE NAME
kmix    4102  oldcpu   10u   CHR  116,9      7283 /dev/snd/controlC0 

Here is mine with mplayer playing a mpeg video:

oldcpu@stonehenge:~> lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*
COMMAND   PID    USER   FD   TYPE DEVICE SIZE NODE NAME
kmix     4102  oldcpu   10u   CHR  116,9      7283 /dev/snd/controlC0
mplayer 18306  oldcpu  mem    CHR  116,7      7271 /dev/snd/pcmC0D0p
mplayer 18306  oldcpu    7r   CHR  116,2      7072 /dev/snd/timer
mplayer 18306  oldcpu    8u   CHR  116,7      7271 /dev/snd/pcmC0D0p

Here is mine when recording audio with arecord:

oldcpu@stonehenge:~> lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*
COMMAND   PID    USER   FD   TYPE DEVICE SIZE NODE NAME
kmix     4102  oldcpu   10u   CHR  116,9      7283 /dev/snd/controlC0
arecord 18330  oldcpu  mem    CHR  116,8      7277 /dev/snd/pcmC0D0c
arecord 18330  oldcpu    3r   CHR  116,2      7072 /dev/snd/timer
arecord 18330  oldcpu    4u   CHR  116,8      7277 /dev/snd/pcmC0D0c

The pop suggests to me your mixer is misconfigured. And why not continue to try arecord? I can tell from the lsof that you are not trying that record command that I suggested, as a basic command.

I tried the lsof command without any apps open and got the kdesktop entry again. What is causing that? Why does kdesktop have control of my sound card?

kdesktop  3024 shawnr  mem    CHR  116,4          3770 /dev/snd/pcmC0D0p
kdesktop  3024 shawnr   11r   CHR  116,2      0t0 3696 /dev/snd/timer
kdesktop  3024 shawnr   12u   CHR  116,4      0t0 3770 /dev/snd/pcmC0D0p
kdesktop  3024 shawnr   13u   CHR  116,7      0t0 3776 /dev/snd/controlC0
kmix      3167 shawnr   10u   CHR  116,7      0t0 3776 /dev/snd/controlC0

Maybe you have some desktop effect sound that is malfunctioning? Frankly, I don’t know why. You have different hardware, and a different configuration I have. Did you try to restart your sound, possibly with:
rcalsasound restart
and then try to see if your sound is still being used?

Or simply boot to run level 3 (ie ascii, with no desktop) and try you microphone from there. The same acrecord commands will work from a text mode. If it works from there, then you have narrowed down that your KDE desktop is misconfigured.

I figured out that kdeinit owns kdedesktop, but still don’t know why it is grabbing the sound card. I tried going to kcontrol and disabling the sound system, but after restarting, there wasn’t any change.

That should read, the same “arecord” commands will work from a text mode.

I tried arecord in init 3. I get static now with the wav files, but the microphones still aren’t capturing sound. Linux Mint 5 gives the same output also. Maybe the next couple of alsa versions will catch up with my sound card. Thanks again.

My experience with my own sound card is this can be a symptom of a misconfigured mixer.

Any chance of you doing a screen capture, and then posting 3 images of your kmix, ie of the 3 tabs:

http://img379.imageshack.us/img379/8862/outputrb9.png

http://img293.imageshack.us/img293/4827/inputbl4.png

http://img293.imageshack.us/img293/6509/switchesep4.png

Thanks! wow! I have lots of questions after seeing that. …

In your output, you have Docking Mic, External Mic, and Internal Mic all 3 on at the same time. Is that correct? If it were me, I would only have one on, … ie the one I was using.

So if using an external mic - I would have external Mic ONLY on. I using the laptop’s internal mic, then the laptop’s internal mic ONLY on. If in a docking station, then the Docking mic ONLY on. Also, with laptop’s typically it is SIGNIFICANTLY easier to get the external mic working than any other mic.

In your Input, you have the upper light on for Docking Mic, External Mic, and Internal Mic all 3 at the same time. Is that correct? If it were me, I would only have one on, … ie the one I was using. Plus the bottom light is out. In my sound card the bottom light is selectable, and to get my mic working I have both upper and lower light on at the same time.

In your switches you have “YELLOW” for IEC958 and IEC958-Default PCM. I assume that is for digital audio. Are you using digital audio? Is that nominal? What are the alternatives? “RED” ? “GREEEN” ?

It is still set to the default settings. I will try turning off the mics I’m not using to see if it makes a difference. I don’t have an external mic to use, so I can’t test that. I’m not sure what the digital audio is for. Turning it off makes no difference with the system sounds. There are no other options in “switches”. The only thing I can do is untick the yellow lights.

I turned off and muted the external and docking mics with no change. After a reboot, they were both back on(red and green lights). I’m with you now. I think the sound is misconfigured. Maybe it is just too new since Mint has the same problem. I have to use distros with kernel 2.6.24 or newer to even recognize all of my hardware.

don’t forget, when trying these tests, you need to try all model options in the /etc/modprobe.d/sound file (ie instead of “hpmicsense” try laptop-hpsense, laptop-micsense, laptop-hp, laptop-eapd, laptop, hp, benq). You may be able to narrow that list down if some of those options have bad side affects (such as you lose your sound).

alsa is now up to 1.0.17 … you could try upgrading to that version, but having typed that, I don’t read any evidence it will help much in your case.

To upgrade, with your PC connected to the internet, type (copy and paste) the following 6 commands from a konsole with root permissions:

zypper ar http://download.opensuse.org/repositories/multimedia:/audio/openSUSE_11.0/ multimedia
zypper install alsa alsa-utils alsa-tools alsa-firmware alsa-oss alsa-plugins libasound2
zypper rr multimedia
zypper ar http://download.opensuse.org/repositories/multimedia:/audio:/KMP/openSUSE_11.0_Update/ multimedia
zypper install alsa-driver-kmp-pae
zypper rr multimedia

Then reboot your pc and test your mic again.

Update: I never did get the crazy microphones working(maybe next kernel). I bought an external mic, and it works fine. Just for future reference: The command you gave me

lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*

was showing kdesktop using the pcm device. I had the “sound preview” box checked in konqueror. That was causing kdesktop to keep ahold of it.