[alsa-devel] Fwd: Re: Realtek ALC889: HDA Intel and kernel 3.1 gives choppy sound (again)

David Henningsson david.henningsson at canonical.com
Mon Sep 16 23:26:04 CEST 2013

On 09/14/2013 04:19 PM, Colomban Wendling wrote:
> Hi again,
> Le 03/02/2012 20:11, Colomban Wendling a écrit :
>> Le 19/12/2011 16:30, Takashi Iwai a écrit :
>>> At Mon, 19 Dec 2011 16:06:53 +0100,
>>> David Henningsson wrote:
>>>> [...]
>>>> Hmm, thanks for figuring this one out. Actually this is the third time I 
>>>> hear of jack detection flipping back and forth. I'm wondering if we need 
>>>> (and whether other OSes have?) a filter / flood protection on this 
>>>> stuff, and if so, how it works? I mean, nobody would notice half a 
>>>> second of delay on that switch anyway.
>>> I don't think there is a perfect filtering for such a problem.
>>> Theoretically we can see how often it's flipped, and disables the
>>> jack-detection accordingly.  But not sure how useful it is in
>>> practice, since it's a rare case, and the manual adjustment is easy.
>> It's easy to fix, but I, as a simple user, think it's really hard to
>> find out -- actually I wouldn't have found this out if you weren't there
>> telling me :)
>> So maybe it'd be good to have an automatic disable if this isn't a bug
>> in an ALSA code somewhere -- just remembering I never suffered of the
>> problem before 3.0.
> This bug is still present as of current master (3.11.0+) -- jack
> detection is still broken with my Realtek ALC889 on a MSI H55M-E33.
> Moreover, since kctls were introduced, this jack detection issue breaks
> userland apps that listen to them.  E.g. PulseAudio now switch back and
> forth between front and back panel, for which it maintains 2 separate
> set of settings which actually results in more or less the same issue
> than with AutoMute.
> I see 2 possible solutions:
> 1) fix the jack detection (if it isn't a bug in the card but in the
> driver somewhere)
> 2) if it's not possible to fix the driver, add a way to completely
> disable jack events (e.g. a module param or something).
> Currently I had to comment-out the snd_kctl_jack_report() call in
> snd_hda_jack_report_sync() so I could actually use the driver.
> BTW if it helps, snd_hda_jack_unsol_event() only receives events when
> actually plugging/unplugging a jack or during playback, but never when
> the card is idle.
> I would be more than happy to do anything I can to help fixing this.
> Best regards,
> Colomban
> PS: original thread(s):
> http://mailman.alsa-project.org/pipermail/alsa-devel/2011-November/045707.html
> http://mailman.alsa-project.org/pipermail/alsa-devel/2011-December/047152.html
> http://mailman.alsa-project.org/pipermail/alsa-devel/2011-December/047210.html

Well, in the last year or two the following additions have been made to
the kernel:

 1) jackpoll_interval as a module parameter - turns off unsol events and
instead polls the jack connection at the interval you specify

 2) Kernel automute can (for almost all cards, I believe) be disabled by
setting a mixer control named "Automute mode"

...and you can disable jack detection in PulseAudio by commenting out
all sections with the jack you want to disable, the files are in

Btw, just a wild theory, because I'm really not a subject matter expert:
since this is a home-built computer (I assume), I wonder if this could
be a very hardware near problem - i e, is the cable to the front panel
chassi very close to something that gives out a lot of EMI disturbance
or something like that?

David Henningsson, Canonical Ltd.

More information about the Alsa-devel mailing list