[alsa-devel] HDA regression on Fujitsu S7020 laptop (ALC260 codec)

Takashi Iwai tiwai at suse.de
Sun Feb 17 17:59:29 CET 2013


At Sun, 17 Feb 2013 23:23:16 +1030,
Jonathan Woithe wrote:
> 
> On Sun, Feb 17, 2013 at 09:32:38AM +0100, Takashi Iwai wrote:
> > > I've been able to test this (snapshot as of two days ago, reports version
> > > number 3.8.0-rc5+ via uname).  As expected there have been some
> > > improvements.
> > 
> > Thanks for testing.
> > 
> > > Things which work:
> > > 
> > >  * "Headphone Jack Mode" allows switching between "Headphone" and "Line
> > >    out".  Both of these mode settings appear to work.
> > > 
> > >  * There are separate "Headphone" and "Speaker" volume controls.
> > > 
> > >  * The "Headphone" volume control influences the headphone jack volume.
> > > 
> > >  * An "Auto-Mute Mode" control appears in alsamixer (it was missing on
> > >    earlier versions).
> > > 
> > >  * Alsamixer recognises the presence of two ADCs, giving "Capture" and
> > >    "Capture 1" controls, with corresponding "Input Source" controls.
> > > 
> > > Things which don't work or are missing:
> > > 
> > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > >    modes (all of which are possible on this system)
> > 
> > Yes, it is still unimplemented.  So, it's expected not to be there
> > yet.  If you can hack it by yourself, let me know.
> 
> I may be able to give this a go, but from what I recall there was some
> debate as to how this should be implemented.  Has that been resolved yet?

No, we need to try to implement something and discuss later.
I think simply implementing two things would work: providing the vref
setup in Headphone Jack Mode enum, and add a pin to the Input Source.
User would require two setups, but it's less conflicting with giving
implicit dependency with each other, IMO.

> Is there any code I could use as a template or example?

No template, since the parser code has been completely rewritten
recently.  Just take a look at hda_generic.c.


> > >  * The "Input source" controls don't offer the "headphone jack" as a
> > >    possible source.
> > 
> > Ditto.
> 
> Ok.
> 
> > >  * The built-in speaker is completely silent under all situations I have
> > >    come up with.  The setting of "Auto-Mute Mode" has no effect, neither
> > >    does a manual unmute of the "Speaker" volume control.  While I don't
> > >    personally care much about this I suspect others might.
> > 
> > Hm, this is really mysterious.  I have no idea which init code causes
> > the problem, and it's hard to debug without a hardware.  Could you try
> > to figure out which setup is missing?
> 
> I spent a quite some time on this using hda-verb tonight with no success.
> I tried many combinations of mute settings and in the end unmuted every node
> I can see which lies between the DAC (nid 0x2) and the speaker in this
> laptop (nid 0x10).  That is:
> 
>  * Unmute the inputs on node 0x9
>  * Maximise the volume on node 0x9
>  * Unmute the input to node 0x10
> 
> Even with this the speakers remained mute.  I then tried using the relevant
> parts of the S702X initialisation sequence from 3.3.5 but even this didn't
> permit the speaker to make any sound.  Whatever's going on it's subtle.
> 
> I confirmed that the alsamixer "Speaker Volume" control manipulated the
> output volume control of node 0x9 as it should.
> 
> A quick comparison of /proc/asound/card0/codec#0 from 3.3.5 (where the
> speaker works) and 3.8.0-rc5+ (where it doesn't) failed to show anything
> obvious.  A more detailed comparison may be required.

Hm, then maybe the default initialization verbs for ALC260 does
something harmful for this machine?  A quick (untested) patch is
below.


> > >  * As eluded to above, the "Auto-Mute Mode" control appears to do nothing.
> > > 
> > >  * There's no "Mic Jack Mode" control to control the mode of the "mic" jack.
> > >    This jack supports line-in mode as well as the various "mic" modes which
> > >    give varying bias voltages.
> > 
> > Strange, the jack mode should appear all input jacks except for the
> > fixed pin.  Could you give alsa-info.sh output with the latest code?
> 
> The alsa-info is included at the end of this message.  To assist in the
> debugging of the speaker problem I've also included the output generated
> from 3.3.5.  Both of these had the speaker unmuted and set to the same
> volume in alsamixer, and the 3.8.0-rc5+ one also had auto-mute mode disabled
> so they should be directly comparable.
> 
> To confirm the behaviour: the "Headphone Jack Mode" control appears in
> 3.8.0-rc5+ but a corresponding control for the mic/line-in jack does not.

Ah, I see.  This doesn't appear as default.  You need to pass a hint
string in the firmware patch file.  See a brief description in
Documentation/sound/alsa/HD-Audio.txt.


Takashi


More information about the Alsa-devel mailing list