Ticket #423 (closed defect: distrospecific)

Opened 3 years ago

Last modified 3 years ago

pulse audio breaks the microphone recording on Intel ICH7/8/9 chipsets

Reported by: mabawsa Owned by: lennart
Milestone: Component: libpulse
Keywords: Intel Microphone Recording Cc:

Description

Running Intrepid ibex 2.6.27-10-generic #1 SMP Fri Nov 21 12:00:22 UTC 2008 i686 GNU/Linux. Pulse audio 09.10-ubuntu9.1 on a DELL M1330. The internal microphone cannot records at a very low volume. Remove pulse and everything is fine with ALSA. Also a bug in launchpad that effects many users: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/275998

Please advise.

Change History

  Changed 3 years ago by motin

I can confirm this bug. It is extremely annoying, since Skype conversations are practically single-way nowadays. Either the receiver hears no sound, very faint sound and most often with a great lag.

If suspending pulseaudio and recording using jack the levels are ok and latency back to a few ms, so it is not a hardware bug.

The only way to workaround this (according to various testers at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/275998) is to remove pulse audio _completely_. Temporarily suspending or killing pulse-audio doesn't help.

  Changed 3 years ago by motin

Running pulseaudio -v displayed a zintillion of these while making a skype call:

I: client.c: Created 27416 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: protocol-native.c: Enabled SHM for new connection
I: client.c: Client 27416 changed name from "Native client (UNIX socket client)" to "ALSA plug-in [skype.real]"
I: client.c: Freed 27416 "ALSA plug-in [skype.real]"
I: protocol-native.c: connection died.
I: client.c: Created 27417 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: protocol-native.c: Enabled SHM for new connection
I: client.c: Client 27417 changed name from "Native client (UNIX socket client)" to "ALSA plug-in [skype.real]"
I: client.c: Freed 27417 "ALSA plug-in [skype.real]"
I: protocol-native.c: connection died.
I: client.c: Created 27418 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: protocol-native.c: Enabled SHM for new connection
I: client.c: Client 27418 changed name from "Native client (UNIX socket client)" to "ALSA plug-in [skype.real]"
I: client.c: Freed 27418 "ALSA plug-in [skype.real]"
I: protocol-native.c: connection died.
I: client.c: Created 27419 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: protocol-native.c: Enabled SHM for new connection
I: client.c: Client 27419 changed name from "Native client (UNIX socket client)" to "ALSA plug-in [skype.real]"
I: client.c: Freed 27419 "ALSA plug-in [skype.real]"
I: protocol-native.c: connection died.
I: client.c: Created 27420 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: protocol-native.c: Enabled SHM for new connection
I: client.c: Client 27420 changed name from "Native client (UNIX socket client)" to "ALSA plug-in [skype.real]"
I: client.c: Freed 27420 "ALSA plug-in [skype.real]"
I: protocol-native.c: connection died.
I: client.c: Created 27421 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: protocol-native.c: Enabled SHM for new connection
I: client.c: Client 27421 changed name from "Native client (UNIX socket client)" to "ALSA plug-in [skype.real]"
I: client.c: Freed 27421 "ALSA plug-in [skype.real]"
I: protocol-native.c: connection died.
I: client.c: Created 27422 "Native client (UNIX socket client)"
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: protocol-native.c: Enabled SHM for new connection
I: client.c: Client 27422 changed name from "Native client (UNIX socket client)" to "ALSA plug-in [skype.real]"
I: client.c: Freed 27422 "ALSA plug-in [skype.real]"
I: protocol-native.c: connection died.

  Changed 3 years ago by mabawsa

In addition my /var/log/messages file contains this: Dec 11 13:42:59 glitterbox pulseaudio[7560]: ltdl-bind-now.c: Failed to find original dlopen loader. Dec 11 13:42:59 glitterbox pulseaudio[7567]: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted Dec 11 13:42:59 glitterbox pulseaudio[7567]: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted Dec 11 13:42:59 glitterbox pulseaudio[7567]: alsa-util.c: Device hw:1 doesn't support 2 channels, changed to 1.

follow-up: ↓ 5   Changed 3 years ago by lennart

  • status changed from new to closed
  • resolution set to invalid

PA doesn't apply its own volume adjustment except for the one exported in pavucontrol. Hence: this is either a misconfiguration of the alsa mixer (which can be fixed by playing around with alsamixer -c0) or a a misconfiguration of the PA mixer (which can be fixed by playing around with pavucontrol).

in reply to: ↑ 4   Changed 3 years ago by mabawsa

  • status changed from closed to reopened
  • resolution invalid deleted

Replying to lennart:

PA doesn't apply its own volume adjustment except for the one exported in pavucontrol. Hence: this is either a misconfiguration of the alsa mixer (which can be fixed by playing around with alsamixer -c0) or a a misconfiguration of the PA mixer (which can be fixed by playing around with pavucontrol).

I understand this but this isn't about adjusting alsamixer -c0 or pavucontrol. These are maxed out and the recording is very soft (indeed it doesn't matter what setting one uses for a digital microphone it has no effect). Rather there seems to be something wrong with the communication between alsa-lib and pulseaudio, making the alsa settings irrelevant.

  Changed 3 years ago by jdpipe

There are a huge number of people reporting this problem in Launchpad. I want to give you guys my encouragement and hope for a fix to this one soon.

Cheers JP

  Changed 3 years ago by lennart

  • status changed from reopened to closed
  • resolution set to notourfault

OK, as it appears some sound cards have an ADC that digitizes in a very low resolution only and they put that in the LSBs of the recorded PCM data. The effect of this is that software amplification needs to take place to make the signal useful to applications.

PA has been supporting digital amplification easily. However this feature was not exposed in the UI interfaces. Hence this is mostly an UI issue to allow volume sliders to go beyond 100%. In fact gnome-volume-control has recently been fixed to allow just this.

  Changed 3 years ago by lennart

  • status changed from closed to reopened
  • resolution elsewhere deleted

  Changed 3 years ago by lennart

  • status changed from reopened to closed
  • resolution set to elsewhere

  Changed 3 years ago by mabawsa

  • status changed from closed to reopened
  • resolution elsewhere deleted

This all used to work in Ubuntu 8.04. Something changed to stop the digital amplification in ALSA being used when pulse is installed from Intrepid and Jaunty. Do you know what Lennart?

ALSA also works incredibly well once pulseaudio is removed. So where is the resolution? The gnome-volume-control has been dropped by Jaunty. If I use pulse with Skype it creates massive lag rendering it useless. If I use hw microphone in Skype (the workaround for this) the microphone is faint and cannot be boosted.

This is effecting many users and all paths lead to an issue with pulseaudio. So I have reopened the bug. Thanks for your effort on this, it would be nice to have pulseaudio working as it looks like it is somewhat useful.

mab

  Changed 3 years ago by lennart

  • status changed from reopened to closed
  • resolution set to distrospecific

g-v-c has been dropped in Ubuntu?

Please don't misuse this BTS to report ubuntu-specific bugs.

On Fedora g-v-c properly allows increasing the volume > 100% for input sources to allow digital amplification. If Ubuntu's does not than file a bug there.

  Changed 3 years ago by talent03

I am not going to reopen this lennart, but I thought it would be good to report my issue with this bug as you keep closing it. I have tried Fedora, and I am using Ubuntu Jaunty right now. By using paman on Ubuntu I am able to increase the volume past 100% for digital amplification. The problem is that it sounds terrible. When I check the recording volume at a decent level there is loud static. Recording meter shows the bars sitting around the center. When not using pulse audio, I get great use of the internal mics. Whether or not you want to think that pulse audio is working correctly in that respect, I would have to say that it is not. Just to state my point again. Digital amplification with this internal mic works, but it is not usable. There is no point to having digital amplification if pulseaudio is not using the internal mic correctly. Thank you for all the work on pulseaudio.

  Changed 3 years ago by lennart

Note sure which version of PA Ubuntu is using. We made some changes a while back to fix the quality when doing digital amplification. Again, all I can say is that on Fedora this works fine.

  Changed 3 years ago by mabawsa

Sorry for re-opening the bug previously. I will try the openSuse and fedora liveCD today on my laptop DELL M1330 to see if the digital amplification works fine. I will get back to you to see if it is just an Ubuntu problem. What version of Fedora are you using. Also talent03 did you manage to get the mic pickup at an acceptable level on Fedora?

Thanks for all your efforts Lennart.

  Changed 3 years ago by mabawsa

Hi Lennart, I tried Fedora's live CD and it had exactly the same issues on my Dell M1330. The digital volume had no effect on ALSA. When I boosted the volume through the control the record sound lagged and was unusable. After killing pulse and reloading ALSA everything worked well. Unfortunately OpenSuse? produced no sound whatsoever so i couldn't test it. Shall I download the Mandriva Live CD and test that? So why is this an ubuntu specific bug (redhat-bugs #474477), indeed you have commented on this bug. So I find it weird why I was chastised earlier. What I do not understand is why does pulseaudio not recognize the ALSA digital mic control settings and simply relay these. Just now these have a far superior quality than boosting the microphone via pulse and avoid delay issues with some software. It used to do this in Hardy's pulseaudio, what has changed? If you can help or have any further constructive advice about where I can file a bug then please advise.

Note: See TracTickets for help on using tickets.