[alsa-devel] How to use hda-verb to detect

Takashi Iwai tiwai at suse.de
Mon Aug 17 15:42:34 CEST 2009


At Mon, 17 Aug 2009 15:34:18 +0300,
Ozan Çağlayan wrote:
> 
> Takashi Iwai wrote On 17-08-2009 12:50:
> > At Mon, 17 Aug 2009 12:41:39 +0300,
> > Ozan Çağlayan wrote:
> >   
> >> Takashi Iwai wrote On 17-08-2009 12:34:
> >>     
> >>> For SET_UNSOLICITED_ENABLE verb, you need to a value (TAG | AC_USRSP_EN).
> >>> in the case of above, suppose the tag to be 0x0c, pass 0x8c.
> >>>
> >>>   
> >>>       
> >> Okay I've got the mechanism, thanks.
> >>
> >> How can I help for fixing HP automuting? setting UNSOLICITED_ENABLE
> >> didn't help at all.
> >>     
> >
> > The first thing is to identify which pin corresponds to which
> > headphone.  I guess each HP jack correspond to an individual pin like
> > Dell machines.
> >
> > Then you can give the correct pin cfg via sysfs or a setup file
> > via "patch" module option.
> >
> >   
> Seen that I'm not able to find out the matching between pins and jacks
> (decided to read the last chapter of HDA spec), I continued to play.
> With hp-dv5 I have to following situation:
> 
> - Both HP jacks are producing sound but no automuting,

This is because BIOS doesn't set HP pin configs.

> - Internal speaker can be controlled and muted using 'Speaker' mixer
> control,
> - HP jacks can be controlled and muted using 'Front' mixer control.

The same reason...

> Then I tried model=dell-m4-1 :
> - Both HP jacks are producing sound, automuting works,
> - Internal speaker can be controlled and muted using 'Front' mixer control,
> - HP jacks can be controlled and muted using 'Front' mixer control,
> - 'Speaker' control is replaced by 'Headphone' control which is useless,
> 
> 
> I took a diff of codec-files in both situations and found out the following:
>  Analog Loopback: 0x00
>  Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
>    Pincap 0x0000001c: OUT HP Detect
> -  Pin Default 0x0421101f: [Jack] HP Out at Ext Right
> -    Conn = 1/8, Color = Black
> -    DefAssociation = 0x1, Sequence = 0xf
> +  Pin Default 0x40f100f0: [N/A] Other at Ext N/A
> +    Conn = 1/8, Color = Unknown
> +    DefAssociation = 0xf, Sequence = 0x0
>    Pin-ctls: 0x00:
>    Unsolicited: tag=01, enabled=1
>    Connection: 3
> 
> I set 0x0a to 0x421101f in user_init_verbs and yes Speaker control
> disappears, a useless HP control appears, automuting works. I'm
> attaching the complete diff from dell-m4-1 to hp-dv5 model.

It means that 0x0a corresponds to one HP.
And, with this situation, do both HPs work (and also auto-muting)?


thanks,

Takashi


More information about the Alsa-devel mailing list