[alsa-devel] [RFC PATCH] Inverted internal mic

Takashi Iwai tiwai at suse.de
Tue Feb 28 10:24:37 CET 2012

At Tue, 28 Feb 2012 09:57:56 +0100,
David Henningsson wrote:
> Hi,
> One of the more common problems on laptop machines, is that the internal 
> mic provides a stereo signal but with one channel phase inverted, or 
> differential output.
> This means problems for applications recording two channels but later 
> merging them into one, leaving them with zero or near-zero output.
> 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.
> For the most part, this has been some Acer Aspire machines running 
> Realtek ALC268 / ALC269 / ALC271X / ALC272X, and for two of these we 
> have proc coefs we can set, but for the other two these proc coefs, if 
> they exist, are unknown to us.
> Recently I came across a Conexant as well, and I decided to write a 
> patch for it, that would take the approach that the internal mic is 
> forced mono on the kcontrol, and make sure the right channel is always 
> muted. The patch is verified by the reporter to fix this problem. It 
> could use some perfection though - it would make sense to to the same to 
> the internal mic boost as well, and the strcmp('Internal Mic') call 
> could maybe be turned into something more elegant. But before going 
> ahead with that, I'd like to hear your opinion on the matter, if you 
> agree that this is a good approach to the problem?

The remaining problem in the patch is that the signal is recorded only
on left when you record in stereo.  I guess the reporter tested only a
program like Skype, which uses only a mono stream.

If this behavior, only one channel in a stereo stream, is acceptable,
it's a reasonable fix, I think.


More information about the Alsa-devel mailing list