[alsa-devel] [Fwd: Re: [Regression] With the new 2.6.33 when I plug headphones, the speaker doen't get off anymore]

Takashi Iwai tiwai at suse.de
Mon Mar 1 14:55:56 CET 2010


At Mon, 01 Mar 2010 14:46:10 +0100,
Guillaume De Nayer wrote:
> 
> Takashi Iwai a écrit :
> > At Sun, 28 Feb 2010 15:29:25 +0100,
> > giggz wrote:
> >> giggz a écrit :
> >>> giggzounet a écrit :
> >>>> Hi,
> >>>>
> >>>> I have installed debian stable lenny + backports on an eeepc 1201n. With
> >>>> the 2.6.30 or 2.6.32 from lenny-backport I don't have problem with sound
> >>>> : when I plug the headphones, speakers get off.
> >>>>
> >>>> I have tested with 2.6.33 and when I plug headphones, speakers don't get
> >>>> off anymore. so I have sound in headphones and speakers.
> >>>>
> >>>> 22:42 giggz at baal ~ % cat /proc/asound/card0/codec#* | grep Codec
> >>>> Codec: Realtek ALC269
> >>>> Codec: Nvidia MCP7A HDMI
> >>>>
> >>>> I attach the output of alsa-info with the 2.6.32.9 and the 2.6.33 (I'm
> >>>> in a Uni Campus and it's quite difficult to have internet on a external
> >>>> laptop...so I attach them at this mail and I don't upload them on pastbin).
> >>>>
> >>>> I have opened a bug on the kernel bugzilla (bug 15399). Should I provide
> >>>> anything more ?
> >>>>
> >>> Following the advice of Paul Menzel I did a "diff" of the sources of the
> >>> 2.6.32.9 kernel and of the 2.6.33. In patch_realtek.c, we see that there
> >>> is an new snd_hda_jack_detect funtion with 2 arguments. I have noticed
> >>> that the second argument is "normaly" the second argument of
> >>> snd_hda_codec_read. In the alc269_speaker_automute function there is
> >>> this new snd_hda_jack_detect function, but the second argument is "nid".
> >>> But in the old alc269_speaker_automute of the 2.6.32.9 the second
> >>> argument of snd_hda_codec_read is 0x15. So I think there is perhaps a
> >>> bug here...But I hesitate to modify the source...so I'm waiting the
> >>> anwser of the dev.
> >>>
> >>> --- patch_realtek.c	2010-02-27 14:58:06.000000000 +0100
> >>> +++ patch_realtek_modif.c	2010-02-27 14:58:54.000000000 +0100
> >>> @@ -13381,7 +13381,7 @@
> >>>  	unsigned int present;
> >>>  	unsigned char bits;
> >>>
> >>> -	present = snd_hda_jack_detect(codec, nid);
> >>> +	present = snd_hda_jack_detect(codec, 0x15);
> >>>  	bits = present ? AMP_IN_MUTE(0) : 0;
> >>>  	snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0,
> >>>  				AMP_IN_MUTE(0), bits);
> >>>
> >> I tested it. And with this modif in the kernel, after recompilation and
> >> reboot, my problem is headphones and speaker is gone.
> > 
> > It implies that the setup of the headphone pin is wrong.  This doesn't
> > mean a bug of the driver, though.  It might have uncovered the BIOS
> > bug.
> > 
> 
> ok. I don't have any knowledge in C or in bios...so you're problably
> right :)
> 
> but it seems strange that for all the new line with snd_hda_jack_detect
> the second argument is always the second argument of snd_hda_codec_read
> except for the alc269.
> 
> > Could you provide alsa-info.sh without your patch to check the setup?
> > 
> > 
> 
> In attachment of the first post on alsa-devel or on the kernel bugzilla
> http://bugzilla.kernel.org/show_bug.cgi?id=15399, there are the output
> of alsa-info.sh with the 2.6.32.9 (no problem) and the output of
> alsa-info.sh with the 2.6.33 without any patch (problem occurs).

OK, thanks.  This looks actually like a bug :)

But, the easiest (and probably better) fix is to use model=auto for
your device.  Just pass model=auto option.  I guess everything should
work with that.


Takashi


More information about the Alsa-devel mailing list