* 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.