Bug 39700 - Acer Aspire One: microphone only works after turning left microphone channel off
Summary: Acer Aspire One: microphone only works after turning left microphone channel off
Status: RESOLVED NOTOURBUG
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: core (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-31 04:51 UTC by jakob.gruber
Modified: 2013-11-22 10:59 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
output of pulseaudio -vvvvv (68.62 KB, text/plain)
2011-07-31 04:53 UTC, jakob.gruber
Details

Description jakob.gruber 2011-07-31 04:51:16 UTC
I'm running pulseaudio 0.9.23 on Archlinux on an Acer Aspire One 150. Sound is handled by the snd_hda_intel module.

In the default configuration, everything _seems_ to be fine - the microphone input is shown correctly, volume sliders work - but there is no actual input. After some googling, I stumbled over the following post: http://getsatisfaction.com/jolicloud/topics/deaf_internal_mic_on_acer_aspire_one#reply_2108048

After using pavucontrol to reduce the volume of the left microphone channel to 0, microphone input suddenly appears and works as intended.

This seems to be an incredibly obscure fix for somewhat common hardware and should be handled correctly without workarounds.

If you need more information or if I can help in any way, please let me know.
Comment 1 jakob.gruber 2011-07-31 04:53:30 UTC
Created attachment 49760 [details]
output of pulseaudio -vvvvv
Comment 2 Maarten Bosmans 2011-10-17 22:49:40 UTC
While it would be possible to work around this in pulseaudio, in general I would say that these kind of things need to be fixed in the ALSA layer. The sound driver already knows about a lot of quirks of different hardware models. Handling of a out of phase stereo mic array should be added to that too.
Comment 3 Arun Raghavan 2012-02-08 22:44:35 UTC
David: how do you suggest we resolve this?
Comment 4 David Henningsson 2012-02-08 23:54:48 UTC
We have a workaround (i e quirk) for some of these in the kernel already. We write to some secret register, that turns the Internal Mic into a Mono mic. So if you're having ALC269 or ALC271X (as seen in /proc/asound/cardX/codec#X ) you can just submit a quirk to the kernel. 

Unfortunately I've also seen it happening for ALC268 and ALC272X (and IIRC, one Conexant?) and we don't know the secret register for those (yet). 

There are various ways we can work around this in both the kernel, alsa-lib and PulseAudio layers. It's a matter of picking the right one. I'm leaning towards trying to fix it in the kernel's codec drivers, because
1) we already have quirking infrastructure there
2) we already have some working quirks already in that layer
3) it would benefit other sound applications that use ALSA directly.

The downside to that is really that we're silencing out one channel for everyone, leading to no application being able to use both channels, even if they would implement some kind of "auto-detect-and-reverse-one-channel" functionality. But should such need arise later on, we could possibly implement a kcontrol to switch this functionality on and off...
Comment 5 Arun Raghavan 2013-11-22 10:35:55 UTC
Is this something we've fixed on the ALSA side (as I recall was the intention)?
Comment 6 David Henningsson 2013-11-22 10:59:34 UTC
Yes, we use "Inverted Internal Mic" in ALSA to mark that one of the channels are inverted. So I think this can be closed from PulseAudio side. If this is still a problem with the latest kernel feel free to raise a bug in alsa-devel.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.