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

David Henningsson david.henningsson at canonical.com
Tue Feb 28 09:57:56 CET 2012


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?




David Henningsson, Canonical Ltd.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-internal-mic-for-Lenovo-Ideapad-U300s.patch
Type: text/x-patch
Size: 0 bytes
Desc: not available
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20120228/8e7cc876/attachment.patch 

More information about the Alsa-devel mailing list