opensuse 11 --> making a mic work

I have opensuse 11 KDE 4.04 (64bit) installed and I’ve tried fiddling with kcontrol and kmix to get my microphone to work (ultimately for skype).

I read in a forum and tried enabling full duplex but there seems to be no improvement. I hear myself through my speakers, but kmix detects no input level and neither does skype.

I’m not all that experienced with linux so what should I start by doing to make my mic work?


Some info it if helps:

sh05k08:~ # rpm -qa | grep alsa

sh05k08:~ # rpm -qa | grep pulse

sh05k08:~ # rpm -q libasound2

sh05k08:~ # cat /etc/modprobe.d/sound
options snd slots=snd-hda-intel

wRyD.WL+f1WXqJn7:MCP51 High Definition Audio

alias snd-card-0 snd-hda-intel*

Some things to start with:

  1. Are you sure it is on? My mic has a switch; I forgot it once and for two minutes thought the kids had broken it.

  2. Does it work for root? If so, that narrows it down to a permission problem.

  3. When you used KMix, did you see more than one mic? I do, for some reason, and had to use a drop down box to select the correct one.

  4. I had some troubles that I believe were related to pulse audio, or at least, half the system using pulse and the other half not.

EDIT: I forgot, it’s onboard, so the mic definitely is not usb…

  1. Under sound in the KDE control panel, what backend do you have selected? What device?

I just tried in root and that makes no difference.

In kcontrol it’s set on Autodetect, there would be a choice of:
-Open sound system
-Advanced linux sound architecture
-No audio input/output
-jack audio connection kit
-Threaded open sound system.

My mic is in the jack on the front (tried the jack at the back already but makes no difference).

If you look above you will see my system has no pulse drivers installed, but I have in the meantime installed a few so this is the update now:

sh05k08:~ # rpm -qa | grep pulse

In Kmix I have one mic (and the capture box ticked), I also ahve the mic boost and when I play with either of these levels I hear the effect on the speaker output. As I said, the mic is picking up my voice and playing it through my speakers, just krecord or skype can’t hear me for some reason?


Why not true something more simple. ie “arecord” to record, and “aplay” to play back.

**arecord -d 10 myrecording.wav **
where “-d 10” specifies a 10 second recording. Then try to play that back with:
aplay myrecording.wav

I guess I misunderstood or didn’t read close enough. If the mic is in fact working, and it is just a skype problem, then you will need to go into Skype’s audio options and adjust there. I do not know why krecord is not working.

One thing to consider: some sound cards, coupled with some of the older audio stuff (like the open sound system) had trouble letting go of devices when other programs wanted to use them. If the pulseaudio additions don’t make a difference, I would try specifying the framework to use instead of using autodetect. If that didn’t work, I would try killing any of the apps using the sound card, and trying to run skype.

Also, don’t forget that Skype has audio options of its own that need to be set from within the program. You should check them as well.

Well I wouldn’t call it ‘a skype problem’ since skype isn’t the only place it isn’t working.

Krecord doesn’t work and now I’ve just tried arecord and aplay but that doesn’t capture any sound either.

I have closed the only apps using the sound card (amorak, kmix) but unfortunately that changes nothing.

Since I installed the pulse additions, now when I launch krecord it says “can’t open soundcards: Device or resource busy”. So something has got worse.

Kamorak/kaffeine etc all work still playing back at the same time.

Any ideas what I can try or do?

If the device is busy, then check to see what is using it. …

Next time you get that error message, copy and paste into a gnome-terminal/konsole:
lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*
… that should tell you what is using your sound device.

spuser@sh05k08:~> lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*
artsd 4757 spuser mem CHR 116,7 4081 /dev/snd/pcmC0D0c
artsd 4757 spuser mem CHR 116,6 4074 /dev/snd/pcmC0D0p
artsd 4757 spuser 9r CHR 116,4 0t0 3998 /dev/snd/timer
artsd 4757 spuser 14u CHR 116,6 0t0 4074 /dev/snd/pcmC0D0p
artsd 4757 spuser 15r CHR 116,4 0t0 3998 /dev/snd/timer
artsd 4757 spuser 16u CHR 116,7 0t0 4081 /dev/snd/pcmC0D0c
artsd 4757 spuser 17u CHR 116,9 0t0 4095 /dev/snd/controlC0

Whatever that all means :s

Oldpcu, I tried the arecurd in a terminal which didn’t work, do you have any ideas what might be wrong?

To get a comparison, reboot your PC, and immediately after the reboot, run
lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*
then compare that to what you have above. Note the differences.

Syntax? Its not arecurd. Its arecord.

Also, try it immediately after a boot, before other apps have had a chance to freeze and not let go of the audio device.

Sorry I did indeed use arecord (that was just a typo) and what I meant by saying it didn’t work, was that no sound was captured.

I reboot and get this:
spuser@sh05k08:~> lsof /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/*
knotify4 3741 spuser 13u CHR 116,9 0t0 3791 /dev/snd/controlC0
knotify4 3741 spuser 14u CHR 116,9 0t0 3791 /dev/snd/controlC0
knotify4 3741 spuser 18u CHR 116,9 0t0 3791 /dev/snd/controlC0

I tried this but there is still no improvement.

I tried another microphone too, but that doesn’t help either.

If you have not done so already, open software manager and delete all the pulseaudio files. Search for “pulse” and remove it all… then search for “alsa” and re-install all the alsa stuff along with any plugins you might need.

Pulseaudio is probably the problem because it is junk.

Thanks for the tip, I did that, removed pulse and made sure alsa was installed.

But it’s still no good :frowning: the input level of KRecord still won’t pick up that i’m speaking (and crying in anguish) into the mic. But I still here myself through the speakers…

But I rebooted and fiddled with some more settings and SUCCESS. A bit shameful but I found a ‘capture’ channel in kmix which wasn’t selected. A daft thing, but then how was I to know…

Thanks everyone