All of lore.kernel.org
 help / color / mirror / Atom feed
* How to use hda-verb to detect
@ 2009-08-17  9:23 Ozan Çağlayan
  2009-08-17  9:34 ` Takashi Iwai
  0 siblings, 1 reply; 8+ messages in thread
From: Ozan Çağlayan @ 2009-08-17  9:23 UTC (permalink / raw)
  To: alsa-devel, Takashi Iwai

[-- Attachment #1: Type: text/plain, Size: 1985 bytes --]

Hi,

I'm playing with an HP DV6(which produces sound only when model=hp-dv5,
will send a patch for it after further testing) on which HP automuting
is not working. The laptop has apparently two HP outputs which seems to
behave completely parallel.

One thing that I really don't get with hda-verb, is the last parameter.
I used hda-emu for finding out an example call:

Front Playback Volume:0
MIN/MAX: 0/64,  VAL: [39] [39]
dB min/max: -48.00/0.00,  [-18.-75dB] [-18.-75dB]
> set 1 64 64
send: NID=0x10, VERB=0x3a0(set_amp_gain_mute,O:L#0), PARM=0x7f
receive: 0x0
send: NID=0x10, VERB=0x390(set_amp_gain_mute,O:R#0), PARM=0x7f
receive: 0x0
> set 1 63 63
send: NID=0x10, VERB=0x3a0(set_amp_gain_mute,O:L#0), PARM=0x7e
receive: 0x0
send: NID=0x10, VERB=0x390(set_amp_gain_mute,O:R#0), PARM=0x7e
receive: 0x0

I can easily understand that I'm calling set_amp_gain_mute VERB for NID
0x10 with a level value 0x7f and 0x7e.

Now when I run hda-verb without parameter, it gives me a bunch of
possible values for PARM:

  VENDOR_ID, SUBSYSTEM_ID, REV_ID, NODE_COUNT, FUNCTION_TYPE
  AUDIO_FG_CAP, AUDIO_WIDGET_CAP, PCM, STREAM, PIN_CAP, AMP_IN_CAP
  CONNLIST_LEN, POWER_STATE, PROC_CAP, GPIO_CAP, AMP_OUT_CAP
  VOL_KNB_CA

I can't easily understand which one I have to choose for example to send
the verb SET_UNSOLICITED_ENABLE or SET_PIN_SENSE.

I've found the widget below in HP DV6 (OUT HP Detect grabbed my
attention and I've seen that the unsolicited events has something to do
with HP sense/automute, just playling blindly),

Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000001c: OUT HP Detect                         **
  Pin Default 0x40f100f0: [N/A] Other at Ext N/A
    Conn = 1/8, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=0c, enabled=0
  Connection: 3
     0x10 0x11 0x17*

and say that I want to send SET_UNSOLICITED_ENABLE to 0x0a, which PARM
should I choose?

I'm also attaching alsa-info output,

Thanks!
Ozan

[-- Attachment #2: alsa-info-dv6 --]
[-- Type: text/plain, Size: 22849 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.56
!!################################

!!Script ran on: Mon Aug 17 07:51:12 UTC 2009


!!Linux Distribution
!!------------------

Pardus 2009


!!DMI Information
!!---------------

Manufacturer:      Hewlett-Packard
Product Name:      HP Pavilion dv6 Notebook PC


!!Kernel Information
!!------------------

Kernel release:    2.6.30.4-125
Operating System:  GNU/Linux
Architecture:      i686
Processor:         Intel(R) Core(TM)2 Duo CPU T6600 @ 2.20GHz
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     1.0.20
Library version:    1.0.20
Utilities version:  1.0.20


!!Loaded ALSA modules
!!-------------------

snd_hda_intel
snd_hda_intel


!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - No

Jack:
      Installed - Yes (/usr/bin/jackd)
      Running - No


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xda100000 irq 22
 1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0xda010000 irq 17


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
01:00.1 Audio device: ATI Technologies Inc R700 Audio Device [Radeon HD 4000 Series]


!!Advanced information - PCI Vendor/Device/Susbsystem ID's
!!--------------------------------------------------------

00:1b.0 0403: 8086:293e (rev 03)
	Subsystem: 103c:3628
--
01:00.1 0403: 1002:aa38
	Subsystem: 103c:3628


!!Loaded sound module options
!!--------------------------

!!Module: snd_hda_intel
bdl_pos_adj : 1,32,-1,-1,-1,-1,-1,-1
enable : Y,Y,Y,Y,Y,Y,Y,Y
enable_msi : 0
id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
index : -1,-1,-1,-1,-1,-1,-1,-1
model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
patch : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
position_fix : 0,0,0,0,0,0,0,0
power_save : 0
power_save_controller : Y
probe_mask : -1,-1,-1,-1,-1,-1,-1,-1
probe_only : N,N,N,N,N,N,N,N
single_cmd : N

!!Module: snd_hda_intel
bdl_pos_adj : 1,32,-1,-1,-1,-1,-1,-1
enable : Y,Y,Y,Y,Y,Y,Y,Y
enable_msi : 0
id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
index : -1,-1,-1,-1,-1,-1,-1,-1
model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
patch : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>
position_fix : 0,0,0,0,0,0,0,0
power_save : 0
power_save_controller : Y
probe_mask : -1,-1,-1,-1,-1,-1,-1,-1
probe_only : N,N,N,N,N,N,N,N
single_cmd : N


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: IDT 92HD75B3X5
Address: 0
Function Id: 0x1
Vendor Id: 0x111d7603
Subsystem Id: 0x103c3628
Revision Id: 0x100202
No Modem Function Group found
Default PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1
GPIO: io=8, o=0, i=0, unsolicited=1, wake=1
  IO[0]: enable=1, dir=1, wake=0, sticky=0, data=1, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Power-Map: 0x00
Analog Loopback: 0x00
Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x40f100f0: [N/A] Other at Ext N/A
    Conn = 1/8, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 3
     0x10 0x11 0x17*
Node 0x0b [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x02a11020: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=01, enabled=1
Node 0x0c [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x40f000f1: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x1
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x00000014: OUT Detect
  Pin Default 0x90170010: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 3
     0x10 0x11* 0x17
Node 0x0e [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x40f100f2: [N/A] Other at Ext N/A
    Conn = 1/8, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x2
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x00000014: OUT Detect
  Pin Default 0x02014040: [Jack] Line Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 3
     0x10* 0x11 0x17
Node 0x10 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Amp-Out caps: N/A
  Amp-Out vals:  [0x66 0x66]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x11 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Amp-Out caps: N/A
  Amp-Out vals:  [0x68 0x67]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x12 [Audio Input] wcaps 0x1d0541: Stereo
  Converter: stream=0, channel=0
  SDI-Select: 0
  Power: setting=D3, actual=D3
  Delay: 13 samples
  Connection: 1
     0x1c
  Processing caps: benign=0, ncoeff=0
Node 0x13 [Audio Input] wcaps 0x1d0541: Stereo
  Converter: stream=0, channel=0
  SDI-Select: 0
  Power: setting=D0, actual=D0
  Delay: 13 samples
  Connection: 1
     0x1d
  Processing caps: benign=0, ncoeff=0
Node 0x14 [Pin Complex] wcaps 0x400100: Mono
  Pincap 0x00000030: IN OUT
  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Connection: 1
     0x16
Node 0x15 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
     0x10 0x11 0x17*
Node 0x16 [Audio Mixer] wcaps 0x200100: Mono
  Connection: 1
     0x15
Node 0x17 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97]
  Connection: 5
     0x10 0x11 0x14 0x1a 0x1b
Node 0x18 [Pin Complex] wcaps 0x40000b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x90a60350: [Fixed] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0x5, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
Node 0x19 [Pin Complex] wcaps 0x40000b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x40f000f4: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x4
  Pin-ctls: 0x00:
Node 0x1a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 3
     0x0b* 0x0c 0x0e
Node 0x1b [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 3
     0x0b* 0x0c 0x0e
Node 0x1c [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1
  Amp-Out vals:  [0x08 0x08]
  Connection: 4
     0x1a 0x17 0x18* 0x19
Node 0x1d [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1
  Amp-Out vals:  [0x80 0x80]
  Connection: 4
     0x1b* 0x17 0x18 0x19
Node 0x1e [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x024511a0: [Jack] SPDIF Out at Ext Front
    Conn = Optical, Color = Black
    DefAssociation = 0xa, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x24
Node 0x1f [Pin Complex] wcaps 0x400701: Stereo Digital
  Pincap 0x00010010: OUT EAPD
  EAPD 0x0:
  Pin Default 0x40f000f5: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x5
  Pin-ctls: 0x00:
  Power: setting=D0, actual=D0
  Connection: 2
     0x24* 0x25
Node 0x20 [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Connection: 1
     0x25
Node 0x21 [Audio Output] wcaps 0x40211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Delay: 4 samples
Node 0x22 [Audio Output] wcaps 0x40211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Delay: 4 samples
Node 0x23 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x24 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
     0x21* 0x1c 0x1d
Node 0x25 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
     0x22* 0x1c 0x1d
Node 0x26 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1
  Amp-Out vals:  [0x00]
Node 0x27 [Volume Knob Widget] wcaps 0x600000: Mono
  Volume-Knob: delta=1, steps=127, direct=0, val=127
  Connection: 2
     0x10 0x11
Codec: ATI R6xx HDMI
Address: 0
Function Id: 0x1
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x02
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw---- 1 root audio 116,  0 Aug 17  2009 /dev/snd/controlC0
crw-rw---- 1 root audio 116, 32 Aug 17  2009 /dev/snd/controlC1
crw-rw---- 1 root audio 116,  4 Aug 17  2009 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116, 36 Aug 17  2009 /dev/snd/hwC1D0
crw-rw---- 1 root audio 116, 24 Aug 17 10:42 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116, 16 Aug 17 10:43 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116, 17 Aug 17 10:42 /dev/snd/pcmC0D1p
crw-rw---- 1 root audio 116, 51 Aug 17  2009 /dev/snd/pcmC1D3p
crw-rw---- 1 root audio 116,  1 Aug 17  2009 /dev/snd/seq
crw-rw---- 1 root audio 116, 33 Aug 17  2009 /dev/snd/timer


!!Aplay/Arecord output
!!------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [Intel]

Card hw:0 'Intel'/'HDA Intel at 0xda100000 irq 22'
  Mixer name	: 'IDT 92HD75B3X5'
  Components	: 'HDA:111d7603,103c3628,00100202'
  Controls      : 20
  Simple ctrls  : 12
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Front',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 39 [61%] [-18.75dB] [on]
  Front Right: Playback 39 [61%] [-18.75dB] [on]
Simple mixer control 'Mic Jack Mode',0
  Capabilities: enum
  Items: 'Mic In' 'Line In'
  Item0: 'Mic In'
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958 Default PCM',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958 Playback Source',0
  Capabilities: enum
  Items: 'Digital Playback' 'Analog Mux 1' 'Analog Mux 2'
  Item0: 'Digital Playback'
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 15
  Front Left: Capture 8 [53%] [12.00dB] [on]
  Front Right: Capture 8 [53%] [12.00dB] [on]
Simple mixer control 'Digital Mic',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 3
  Front Left: Capture 0 [0%] [0.00dB]
  Front Right: Capture 0 [0%] [0.00dB]
Simple mixer control 'Mux',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 3
  Front Left: Capture 0 [0%] [0.00dB]
  Front Right: Capture 0 [0%] [0.00dB]
Simple mixer control 'PC Beep',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 3
  Mono: Playback 0 [0%] [-18.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 41 [64%] [-17.25dB] [on]
  Front Right: Playback 40 [62%] [-18.00dB] [on]

!!-------Mixer controls for card 1 [HDMI]

Card hw:1 'HDMI'/'HDA ATI HDMI at 0xda010000 irq 17'
  Mixer name	: 'ATI R6xx HDMI'
  Components	: 'HDA:1002aa01,00aa0100,00100100'
  Controls      : 4
  Simple ctrls  : 1
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]


!!Alsactl output
!!-------------

--startcollapse--
state.Intel {
	control.20 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 64'
		comment.dbmin -4800
		comment.dbmax 0
		iface MIXER
		name 'Front Playback Volume'
		value.0 39
		value.1 39
	}
	control.21 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Front Playback Switch'
		value.0 true
		value.1 true
	}
	control.22 {
		comment.access 'read write'
		comment.type ENUMERATED
		comment.count 1
		comment.item.0 'Mic In'
		comment.item.1 'Line In'
		iface MIXER
		name 'Mic Jack Mode'
		value 'Mic In'
	}
	control.23 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'PC Beep Playback Switch'
		value true
	}
	control.24 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 1
		comment.range '0 - 3'
		comment.dbmin -1800
		comment.dbmax 0
		iface MIXER
		name 'PC Beep Playback Volume'
		value 0
	}
	control.25 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 64'
		comment.dbmin -4800
		comment.dbmax 0
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 41
		value.1 40
	}
	control.26 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
	}
	control.27 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 15'
		comment.dbmin 0
		comment.dbmax 2250
		iface MIXER
		name 'Capture Volume'
		value.0 8
		value.1 8
	}
	control.28 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
	}
	control.29 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 3'
		comment.dbmin 0
		comment.dbmax 3000
		iface MIXER
		name 'Digital Mic Capture Volume'
		value.0 0
		value.1 0
	}
	control.30 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 3'
		comment.dbmin 0
		comment.dbmax 3000
		iface MIXER
		name 'Mux Capture Volume'
		value.0 0
		value.1 0
	}
	control.31 {
		comment.access 'read write'
		comment.type ENUMERATED
		comment.count 1
		comment.item.0 'Digital Playback'
		comment.item.1 'Analog Mux 1'
		comment.item.2 'Analog Mux 2'
		iface MIXER
		name 'IEC958 Playback Source'
		value 'Digital Playback'
	}
	control.32 {
		comment.access read
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.33 {
		comment.access read
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.34 {
		comment.access 'read write'
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.35 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Switch'
		value false
	}
	control.36 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'IEC958 Default PCM Playback Switch'
		value true
	}
	control.37 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 1
		comment.range '0 - 64'
		comment.dbmin -4800
		comment.dbmax 0
		iface MIXER
		name 'Master Playback Volume'
		value 64
	}
	control.38 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Master Playback Switch'
		value true
	}
	control.39 {
		comment.access 'read write user'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 255'
		comment.tlv '0000000100000008ffffec1400000014'
		comment.dbmin -5100
		comment.dbmax 0
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
	}
}
state.HDMI {
	control.1 {
		comment.access read
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.2 {
		comment.access read
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.3 {
		comment.access 'read write'
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.4 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Switch'
		value false
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
rfcomm
sco
bridge
stp
bnep
l2cap
ipv6
snd_hda_codec_atihdmi
snd_hda_codec_idt
snd_hda_intel
snd_hda_codec
snd_seq_dummy
snd_hwdep
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm_oss
arc4
snd_mixer_oss
ecb
snd_pcm
iwlagn
iwlcore
snd_timer
rfkill
snd
mac80211
intel_agp
btusb
r8169
soundcore
snd_page_alloc
cfg80211
bluetooth
hp_accel
video
jmb38x_ms
wmi
memstick
mii
agpgart
joydev
lis3lv02d
pcspkr
output
iTCO_wdt
iTCO_vendor_support
brd
sdhci_pci
sdhci
mmc_core
led_class
ohci1394
ieee1394
ahci
libata
firewire_ohci
firewire_core


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x0a 0x40f100f0
0x0b 0x02a11020
0x0c 0x40f000f1
0x0d 0x90170110
0x0e 0x40f100f2
0x0f 0x02014040
0x14 0x40f000f0
0x18 0x90a60350
0x19 0x40f000f4
0x1e 0x024511a0
0x1f 0x40f000f5
0x20 0x40f000f0

/sys/class/sound/hwC0D0/driver_pin_configs:
0x0d 0x90170010

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC1D0/init_pin_configs:
0x03 0x18560010

/sys/class/sound/hwC1D0/driver_pin_configs:

/sys/class/sound/hwC1D0/user_pin_configs:

/sys/class/sound/hwC1D0/init_verbs:



[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to use hda-verb to detect
  2009-08-17  9:23 How to use hda-verb to detect Ozan Çağlayan
@ 2009-08-17  9:34 ` Takashi Iwai
  2009-08-17  9:41   ` Ozan Çağlayan
  0 siblings, 1 reply; 8+ messages in thread
From: Takashi Iwai @ 2009-08-17  9:34 UTC (permalink / raw)
  To: Ozan Çağlayan; +Cc: alsa-devel

At Mon, 17 Aug 2009 12:23:42 +0300,
Ozan Çağlayan wrote:
> 
> Hi,
> 
> I'm playing with an HP DV6(which produces sound only when model=hp-dv5,
> will send a patch for it after further testing) on which HP automuting
> is not working. The laptop has apparently two HP outputs which seems to
> behave completely parallel.

A question is whether two pins are assigned for both or one pin is
shared.  I guess the former case, so according to your alsa-info.sh
output, BIOS gives utterly wrong pin setup...

> One thing that I really don't get with hda-verb, is the last parameter.
> I used hda-emu for finding out an example call:
> 
> Front Playback Volume:0
> MIN/MAX: 0/64,  VAL: [39] [39]
> dB min/max: -48.00/0.00,  [-18.-75dB] [-18.-75dB]
> > set 1 64 64
> send: NID=0x10, VERB=0x3a0(set_amp_gain_mute,O:L#0), PARM=0x7f
> receive: 0x0
> send: NID=0x10, VERB=0x390(set_amp_gain_mute,O:R#0), PARM=0x7f
> receive: 0x0
> > set 1 63 63
> send: NID=0x10, VERB=0x3a0(set_amp_gain_mute,O:L#0), PARM=0x7e
> receive: 0x0
> send: NID=0x10, VERB=0x390(set_amp_gain_mute,O:R#0), PARM=0x7e
> receive: 0x0
> 
> I can easily understand that I'm calling set_amp_gain_mute VERB for NID
> 0x10 with a level value 0x7f and 0x7e.
> 
> Now when I run hda-verb without parameter, it gives me a bunch of
> possible values for PARM:
> 
>   VENDOR_ID, SUBSYSTEM_ID, REV_ID, NODE_COUNT, FUNCTION_TYPE
>   AUDIO_FG_CAP, AUDIO_WIDGET_CAP, PCM, STREAM, PIN_CAP, AMP_IN_CAP
>   CONNLIST_LEN, POWER_STATE, PROC_CAP, GPIO_CAP, AMP_OUT_CAP
>   VOL_KNB_CA

These are for PARAMETERS verb, e.g.

	% hda-verb /dev/... 0x0a PARAMETERS PIN_CAP

> I can't easily understand which one I have to choose for example to send
> the verb SET_UNSOLICITED_ENABLE or SET_PIN_SENSE.

For normal verbs, just pass numbers.  You can pass numbers to PARAMETERS
verb, too, of course.  Also, the verb itself can be a number.

> I've found the widget below in HP DV6 (OUT HP Detect grabbed my
> attention and I've seen that the unsolicited events has something to do
> with HP sense/automute, just playling blindly),
> 
> Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
>   Pincap 0x0000001c: OUT HP Detect                         **
>   Pin Default 0x40f100f0: [N/A] Other at Ext N/A
>     Conn = 1/8, Color = Unknown
>     DefAssociation = 0xf, Sequence = 0x0
>   Pin-ctls: 0x00:
>   Unsolicited: tag=0c, enabled=0
>   Connection: 3
>      0x10 0x11 0x17*
> 
> and say that I want to send SET_UNSOLICITED_ENABLE to 0x0a, which PARM
> should I choose?

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.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to use hda-verb to detect
  2009-08-17  9:34 ` Takashi Iwai
@ 2009-08-17  9:41   ` Ozan Çağlayan
  2009-08-17  9:50     ` Takashi Iwai
  0 siblings, 1 reply; 8+ messages in thread
From: Ozan Çağlayan @ 2009-08-17  9:41 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to use hda-verb to detect
  2009-08-17  9:41   ` Ozan Çağlayan
@ 2009-08-17  9:50     ` Takashi Iwai
  2009-08-17 12:34       ` Ozan Çağlayan
  0 siblings, 1 reply; 8+ messages in thread
From: Takashi Iwai @ 2009-08-17  9:50 UTC (permalink / raw)
  To: Ozan Çağlayan; +Cc: alsa-devel

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.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to use hda-verb to detect
  2009-08-17  9:50     ` Takashi Iwai
@ 2009-08-17 12:34       ` Ozan Çağlayan
  2009-08-17 13:42         ` Takashi Iwai
  0 siblings, 1 reply; 8+ messages in thread
From: Ozan Çağlayan @ 2009-08-17 12:34 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 2175 bytes --]

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,
- Internal speaker can be controlled and muted using 'Speaker' mixer
control,
- HP jacks can be controlled and muted using 'Front' mixer control.

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.

[-- Attachment #2: codecdiff --]
[-- Type: text/plain, Size: 5181 bytes --]

--- dell-m4-1-partly-works	2009-08-17 15:12:21.166146747 +0300
+++ hp-dv5-buggy	2009-08-17 15:13:11.778014263 +0300
@@ -24,9 +24,9 @@
 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
@@ -34,49 +34,48 @@
 Node 0x0b [Pin Complex] wcaps 0x400081: Stereo
   Pincap 0x00001724: IN Detect
     Vref caps: HIZ 50 GRD 80
-  Pin Default 0x04a11221: [Jack] Mic at Ext Right
+  Pin Default 0x02a11020: [Jack] Mic at Ext Front
     Conn = 1/8, Color = Black
-    DefAssociation = 0x2, Sequence = 0x1
+    DefAssociation = 0x2, Sequence = 0x0
   Pin-ctls: 0x24: IN VREF_80
-  Unsolicited: tag=03, enabled=1
+  Unsolicited: tag=01, enabled=1
 Node 0x0c [Pin Complex] wcaps 0x400081: Stereo
   Pincap 0x00001724: IN Detect
     Vref caps: HIZ 50 GRD 80
-  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
+  Pin Default 0x40f000f1: [N/A] Other at Ext N/A
     Conn = Unknown, Color = Unknown
-    DefAssociation = 0xf, Sequence = 0x0
+    DefAssociation = 0xf, Sequence = 0x1
   Pin-ctls: 0x24: IN VREF_80
   Unsolicited: tag=00, enabled=0
 Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
   Pincap 0x00000014: OUT Detect
-  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
+  Pin Default 0x90170010: [Fixed] Speaker at Int N/A
     Conn = Analog, Color = Unknown
     DefAssociation = 0x1, Sequence = 0x0
-    Misc = NO_PRESENCE
-  Pin-ctls: 0x00:
+  Pin-ctls: 0x40: OUT
   Unsolicited: tag=0c, enabled=1
   Connection: 3
-     0x10* 0x11 0x17
+     0x10 0x11* 0x17
 Node 0x0e [Pin Complex] wcaps 0x400081: Stereo
   Pincap 0x00001724: IN Detect
     Vref caps: HIZ 50 GRD 80
-  Pin Default 0x23a1902e: [Jack] Mic at Sep Left
-    Conn = 1/8, Color = Pink
-    DefAssociation = 0x2, Sequence = 0xe
+  Pin Default 0x40f100f2: [N/A] Other at Ext N/A
+    Conn = 1/8, Color = Unknown
+    DefAssociation = 0xf, Sequence = 0x2
   Pin-ctls: 0x24: IN VREF_80
   Unsolicited: tag=04, enabled=1
 Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
   Pincap 0x00000014: OUT Detect
-  Pin Default 0x23014250: [Jack] Line Out at Sep Left
+  Pin Default 0x02014040: [Jack] Line Out at Ext Front
     Conn = 1/8, Color = Green
-    DefAssociation = 0x5, Sequence = 0x0
+    DefAssociation = 0x4, Sequence = 0x0
   Pin-ctls: 0x40: OUT
   Unsolicited: tag=02, enabled=1
   Connection: 3
      0x10* 0x11 0x17
 Node 0x10 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
   Amp-Out caps: N/A
-  Amp-Out vals:  [0x6a 0x6a]
+  Amp-Out vals:  [0xea 0xea]
   Converter: stream=5, channel=0
   Power: setting=D0, actual=D0
   Delay: 13 samples
@@ -125,17 +124,18 @@
   Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
   Amp-In vals:  [0x00 0x00]
   Pincap 0x00000020: IN
-  Pin Default 0x90a000f0: [Fixed] Mic at Int N/A
-    Conn = Unknown, Color = Unknown
-    DefAssociation = 0xf, Sequence = 0x0
+  Pin Default 0x90a60350: [Fixed] Mic at Int N/A
+    Conn = Digital, Color = Unknown
+    DefAssociation = 0x5, Sequence = 0x0
+    Misc = NO_PRESENCE
   Pin-ctls: 0x20: IN
 Node 0x19 [Pin Complex] wcaps 0x40000b: Stereo Amp-In
   Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
   Amp-In vals:  [0x00 0x00]
   Pincap 0x00000020: IN
-  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
+  Pin Default 0x40f000f4: [N/A] Other at Ext N/A
     Conn = Unknown, Color = Unknown
-    DefAssociation = 0xf, Sequence = 0x0
+    DefAssociation = 0xf, Sequence = 0x4
   Pin-ctls: 0x00:
 Node 0x1a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
   Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
@@ -159,18 +159,19 @@
      0x1b* 0x17 0x18 0x19
 Node 0x1e [Pin Complex] wcaps 0x400301: Stereo Digital
   Pincap 0x00000010: OUT
-  Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN
-    Conn = Unknown, Color = Unknown
-    DefAssociation = 0xf, Sequence = 0x0
+  Pin Default 0x024511a0: [Jack] SPDIF Out at Ext Front
+    Conn = Optical, Color = Black
+    DefAssociation = 0xa, Sequence = 0x0
+    Misc = NO_PRESENCE
   Pin-ctls: 0x40: OUT
   Connection: 1
      0x24
 Node 0x1f [Pin Complex] wcaps 0x400701: Stereo Digital
   Pincap 0x00010010: OUT EAPD
   EAPD 0x0:
-  Pin Default 0x4f0000f0: [N/A] Line Out at Ext UNKNOWN
+  Pin Default 0x40f000f5: [N/A] Other at Ext N/A
     Conn = Unknown, Color = Unknown
-    DefAssociation = 0xf, Sequence = 0x0
+    DefAssociation = 0xf, Sequence = 0x5
   Pin-ctls: 0x00:
   Power: setting=D0, actual=D0
   Connection: 2
@@ -184,7 +185,7 @@
   Connection: 1
      0x25
 Node 0x21 [Audio Output] wcaps 0x40211: Stereo Digital
-  Converter: stream=0, channel=0
+  Converter: stream=5, channel=0
   Digital:
   Digital category: 0x0
   PCM:
@@ -193,7 +194,7 @@
     formats [0x5]: PCM AC3
   Delay: 4 samples
 Node 0x22 [Audio Output] wcaps 0x40211: Stereo Digital
-  Converter: stream=0, channel=0
+  Converter: stream=5, channel=0
   Digital:
   Digital category: 0x0
   PCM:

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to use hda-verb to detect
  2009-08-17 12:34       ` Ozan Çağlayan
@ 2009-08-17 13:42         ` Takashi Iwai
  2009-08-17 14:01           ` Ozan Çağlayan
  0 siblings, 1 reply; 8+ messages in thread
From: Takashi Iwai @ 2009-08-17 13:42 UTC (permalink / raw)
  To: Ozan Çağlayan; +Cc: alsa-devel

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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to use hda-verb to detect
  2009-08-17 13:42         ` Takashi Iwai
@ 2009-08-17 14:01           ` Ozan Çağlayan
  2009-08-17 14:06             ` Takashi Iwai
  0 siblings, 1 reply; 8+ messages in thread
From: Ozan Çağlayan @ 2009-08-17 14:01 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote On 17-08-2009 16:42:
>
> It means that 0x0a corresponds to one HP.
> And, with this situation, do both HPs work (and also auto-muting)?
>   
Yes both HP and auto-muting works (they always behaved exactly the same
for every model I've tried) but 'Speaker' is gone so 'Front ' started to
control both HPs and also internal speaker which is bad.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to use hda-verb to detect
  2009-08-17 14:01           ` Ozan Çağlayan
@ 2009-08-17 14:06             ` Takashi Iwai
  0 siblings, 0 replies; 8+ messages in thread
From: Takashi Iwai @ 2009-08-17 14:06 UTC (permalink / raw)
  To: Ozan Çağlayan; +Cc: alsa-devel

At Mon, 17 Aug 2009 17:01:31 +0300,
Ozan Çağlayan wrote:
> 
> Takashi Iwai wrote On 17-08-2009 16:42:
> >
> > It means that 0x0a corresponds to one HP.
> > And, with this situation, do both HPs work (and also auto-muting)?
> >   
> Yes both HP and auto-muting works (they always behaved exactly the same
> for every model I've tried) but 'Speaker' is gone so 'Front ' started to
> control both HPs and also internal speaker which is bad.

This is likely because you have another line-out jack definition
at NID 0x0f.  Does this play any role?


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-08-17 14:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-17  9:23 How to use hda-verb to detect Ozan Çağlayan
2009-08-17  9:34 ` Takashi Iwai
2009-08-17  9:41   ` Ozan Çağlayan
2009-08-17  9:50     ` Takashi Iwai
2009-08-17 12:34       ` Ozan Çağlayan
2009-08-17 13:42         ` Takashi Iwai
2009-08-17 14:01           ` Ozan Çağlayan
2009-08-17 14:06             ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.