All of lore.kernel.org
 help / color / mirror / Atom feed
* Sound issues with ALC269VB-based hardware
@ 2012-07-17 13:11 Anisse Astier
  2012-07-17 15:05 ` Takashi Iwai
  2013-06-03  9:53 ` [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2 Anisse Astier
  0 siblings, 2 replies; 18+ messages in thread
From: Anisse Astier @ 2012-07-17 13:11 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai

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

Hi,

So I have this hardware that has a few issues (all tested with tiwai/sound for-next)

Audio out/speakers:
 - Audio does not work by default. It needs plugging a jack in either headphone or mic.
 - disabling "Enable Automute" does make it work. But then it doesn't mute when jack is plugged (obviously).

Mic:
 - needs model=laptop-dmic so that working "Internal Mic 1" appears
 - "Internal Mic" is useless.
 - no jack sense, need to select manually "Internal Mic 1" or "Mic" (external) as Input Source

Please find alsa-info.sh with and without model=laptop-dmic in attachement.

Regards,

Anisse

[-- Attachment #2: alsa-info-alc269vb-laptop-dmic.txt --]
[-- Type: text/plain, Size: 27803 bytes --]

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

!!Script ran on: Mon Jul 16 16:23:27 UTC 2012


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

Debian GNU/Linux squeeze/sid \n \l


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

Manufacturer:      Welcome
Product Name:      PC-B1303
Product Version:   ICT-S15.01.01
Firmware Version:  ICT-S15.01.01


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

Kernel release:    3.5.0-rc6
Operating System:  GNU/Linux
Architecture:      i686
Processor:         unknown
SMP Enabled:       Yes


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

Driver version:     1.0.25
Library version:    1.0.23
Utilities version:  1.0.23


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

snd_hda_intel


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

No sound servers found.


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

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0x88100000 irq 46


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

00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)


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

00:1b.0 0403: 8086:27d8 (rev 02)
	Subsystem: 1b7d:a831


!!Modprobe options (Sound related)
!!--------------------------------

snd-usb-audio: index=3
snd-hda-intel: model=laptop-dmic


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

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	model : laptop-dmic,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	power_save : 10
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N
	snoop : Y


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

Codec: Realtek ALC269VB
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0269
Subsystem Id: 0x1b7da831
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=2, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x1d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC269VB Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x3d 0x3d]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x1d: Stereo Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x57 0x57]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Amp-In caps: ofs=0x0b, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x8b 0x8b]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC269VB Analog", type="Audio", device=0
  Amp-In caps: ofs=0x0b, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x19 0x19]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Internal Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x18 0x19 0x1a 0x1b 0x1d
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Audio Mixer] wcaps 0x20010a: Mono Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00] [0x80]
  Connection: 2
     0x02 0x0b
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40000b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x99a3092f: [Fixed] Mic at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x2, Sequence = 0xf
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010014: OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x99130110: [Fixed] Speaker at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c 0x0d*
Node 0x15 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x16 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x17 [Pin Complex] wcaps 0x40010c: Mono Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80]
  Pincap 0x00000010: OUT
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Connection: 1
     0x0f
Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00001734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x01a19c20: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
  Connection: 1
     0x0d
Node 0x19 [Pin Complex] wcaps 0x40008b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=1, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x99a3092f: [Fixed] Mic at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x2, Sequence = 0xf
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000003c: IN OUT HP Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c* 0x0d
Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00000034: IN OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c* 0x0d
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40159a05: [N/A] Speaker at Ext N/A
    Conn = Optical, Color = Pink
    DefAssociation = 0x0, Sequence = 0x5
  Pin-ctls: 0x20: IN
Node 0x1e [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=25
Node 0x21 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x0421401f: [Jack] HP Out at Ext Right
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Connection: 2
     0x0c* 0x0d
Node 0x22 [Audio Selector] wcaps 0x30010b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Connection: 7
     0x18 0x19 0x1a 0x1b 0x1d 0x0b 0x12*
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 6
     0x18 0x19 0x1a 0x1b 0x1d 0x0b
Codec: Intel CedarTrail HDMI
Address: 1
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862880
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
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 0x6211: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
Node 0x03 [Pin Complex] wcaps 0x40739d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="ELD", index=0, device=3
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x02
--endcollapse--


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

crw-rw---- 1 root audio 116,  7 Jul 16 18:21 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  6 Jul 16 18:21 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  5 Jul 16 18:21 /dev/snd/hwC0D1
crw-rw---- 1 root audio 116,  4 Jul 16 18:21 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116,  3 Jul 16 18:21 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116,  2 Jul 16 18:21 /dev/snd/pcmC0D3p
crw-rw---- 1 root audio 116, 33 Jul 16  2012 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Jul 16 18:21 .
drwxr-xr-x 3 root root 200 Jul 16 18:21 ..
lrwxrwxrwx 1 root root  12 Jul 16 18:21 pci-0000:00:1b.0 -> ../controlC0


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

APLAY

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

ARECORD

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

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

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

Card hw:0 'Intel'/'HDA Intel at 0x88100000 irq 46'
  Mixer name	: 'Intel CedarTrail HDMI'
  Components	: 'HDA:10ec0269,1b7da831,00100100 HDA:80862880,80860101,00100000'
  Controls      : 27
  Simple ctrls  : 14
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 61 [70%] [-19.50dB] [on]
  Front Right: Playback 61 [70%] [-19.50dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 204 [80%] [-10.20dB]
  Front Right: Playback 204 [80%] [-10.20dB]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 31
  Front Left: Capture 25 [81%] [21.00dB] [on]
  Front Right: Capture 25 [81%] [21.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Digital',0
  Capabilities: cvolume penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 84 [70%] [12.00dB]
  Front Right: Capture 84 [70%] [12.00dB]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Internal Mic' 'Mic' 'Internal Mic 1'
  Item0: 'Internal Mic'
Simple mixer control 'Internal Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Internal Mic Boost',1
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]


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

--startcollapse--
state.Intel {
	control.1 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 87'
		comment.dbmin -6525
		comment.dbmax 0
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 61
		value.1 61
	}
	control.2 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
	}
	control.3 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 87'
		comment.dbmin -6525
		comment.dbmax 0
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 87
		value.1 87
	}
	control.4 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
	}
	control.5 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 31'
		comment.dbmin -3450
		comment.dbmax 1200
		iface MIXER
		name 'Mic Playback Volume'
		value.0 0
		value.1 0
	}
	control.6 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
	}
	control.7 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 31'
		comment.dbmin -3450
		comment.dbmax 1200
		iface MIXER
		name 'Internal Mic Playback Volume'
		value.0 0
		value.1 0
	}
	control.8 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Internal Mic Playback Switch'
		value.0 false
		value.1 false
	}
	control.9 {
		comment.access 'read write'
		comment.type ENUMERATED
		comment.count 1
		comment.item.0 Disabled
		comment.item.1 Enabled
		iface MIXER
		name 'Auto-Mute Mode'
		value Enabled
	}
	control.10 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 3'
		comment.dbmin 0
		comment.dbmax 3600
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 0
		value.1 0
	}
	control.11 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 3'
		comment.dbmin 0
		comment.dbmax 3600
		iface MIXER
		name 'Mic Boost Volume'
		value.0 0
		value.1 0
	}
	control.12 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 3'
		comment.dbmin 0
		comment.dbmax 3600
		iface MIXER
		name 'Internal Mic Boost Volume'
		index 1
		value.0 0
		value.1 0
	}
	control.13 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
	}
	control.14 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 31'
		comment.dbmin -1650
		comment.dbmax 3000
		iface MIXER
		name 'Capture Volume'
		value.0 25
		value.1 25
	}
	control.15 {
		comment.access 'read write'
		comment.type ENUMERATED
		comment.count 1
		comment.item.0 'Internal Mic'
		comment.item.1 Mic
		comment.item.2 'Internal Mic 1'
		iface MIXER
		name 'Input Source'
		value 'Internal Mic'
	}
	control.16 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 1
		comment.range '0 - 87'
		comment.dbmin -6525
		comment.dbmax 0
		iface MIXER
		name 'Master Playback Volume'
		value 87
	}
	control.17 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Master Playback Switch'
		value true
	}
	control.18 {
		comment.access read
		comment.type BOOLEAN
		comment.count 1
		iface CARD
		name 'Headphone Jack'
		value true
	}
	control.19 {
		comment.access read
		comment.type BOOLEAN
		comment.count 1
		iface CARD
		name 'Mic Jack'
		value false
	}
	control.20 {
		comment.access read
		comment.type BOOLEAN
		comment.count 1
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
	}
	control.21 {
		comment.access read
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.22 {
		comment.access read
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.23 {
		comment.access 'read write'
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.24 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
	}
	control.25 {
		comment.access read
		comment.type BYTES
		comment.count 0
		iface PCM
		device 3
		name ELD
		value ''
	}
	control.26 {
		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 204
		value.1 204
	}
	control.27 {
		comment.access 'read write user'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 120'
		comment.tlv '0000000100000008fffff44800000032'
		comment.dbmin -3000
		comment.dbmax 3000
		iface MIXER
		name 'Digital Capture Volume'
		value.0 84
		value.1 84
	}
}
--endcollapse--


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

Module
cryptd
aes_i586
aes_generic
ipv6
fuse
dm_crypt
dm_mod
snd_hda_codec_hdmi
snd_hda_codec_realtek
arc4
snd_hda_intel
rt2800pci
rt2800lib
crc_ccitt
snd_hda_codec
rt2x00pci
rt2x00lib
snd_hwdep
snd_pcm_oss
gma500_gfx
snd_mixer_oss
snd_pcm
mac80211
drm_kms_helper
cfg80211
drm
uvcvideo
asix
videobuf2_core
usbnet
videodev
rfkill
videobuf2_vmalloc
i2c_algo_bit
videobuf2_memops
microcode
snd_timer
i2c_i801
lpc_ich
snd
i2c_core
eeprom_93cx6
mfd_core
wmi
battery
ac
snd_page_alloc
uhci_hcd
ehci_hcd
usbcore
usb_common
video
thermal
fan
button


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x12 0x411111f0
0x14 0x99130110
0x17 0x411111f0
0x18 0x04a19820
0x19 0x99a3092f
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40159a05
0x1e 0x411111f0
0x21 0x0421401f

/sys/class/sound/hwC0D0/driver_pin_configs:
0x12 0x99a3092f
0x14 0x99130110
0x18 0x01a19c20

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

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

/sys/class/sound/hwC0D1/driver_pin_configs:

/sys/class/sound/hwC0D1/user_pin_configs:

/sys/class/sound/hwC0D1/init_verbs:


!!ALSA/HDA dmesg
!!--------------

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 517328
[    0.000000] Kernel command line: BOOT_IMAGE=Ordissimo ro root=LABEL=root splash=silent quiet radeon.modeset=1 i915.modeset=1 drm.debug=0x4 snd-hda-intel.model=laptop-dmic
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
--
[    7.345467] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1]
[    7.350019] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[    7.350027] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected
--
[    7.869511] [drm] Initialized gma500 1.0.0 2011-06-06 for 0000:00:02.0 on minor 0
[    7.869775] snd_hda_intel 0000:00:1b.0: irq 46 for MSI/MSI-X
[    8.008437] input: HDA Intel HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
[    8.008744] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
[    8.009022] input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[    9.095069] Adding 1048572k swap on /dev/sda6.  Priority:-1 extents:1 across:1048572k 
--
[   29.581294] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1]
[   29.585875] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[   29.585895] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected
--
[   29.585944] [CONNECTOR:14:DVI-D-1]
[   29.590505] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[   29.590514] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected
--
[   29.644507] [CONNECTOR:14:DVI-D-1]
[   29.649068] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[   29.649084] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected
--
[   29.649148] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1]
[   29.653671] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[   29.653682] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected



[-- Attachment #3: alsa-info-alc269vb-normal.txt --]
[-- Type: text/plain, Size: 26434 bytes --]

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

!!Script ran on: Mon Jul 16 16:10:33 UTC 2012


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

Debian GNU/Linux squeeze/sid \n \l


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

Manufacturer:      Welcome
Product Name:      PC-B1303
Product Version:   ICT-S15.01.01
Firmware Version:  ICT-S15.01.01


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

Kernel release:    3.5.0-rc6
Operating System:  GNU/Linux
Architecture:      i686
Processor:         unknown
SMP Enabled:       Yes


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

Driver version:     1.0.25
Library version:    1.0.23
Utilities version:  1.0.23


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

snd_hda_intel


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

No sound servers found.


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

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0x88100000 irq 46


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

00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)


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

00:1b.0 0403: 8086:27d8 (rev 02)
	Subsystem: 1b7d:a831


!!Modprobe options (Sound related)
!!--------------------------------

snd-usb-audio: index=3


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

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	power_save : 10
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N
	snoop : Y


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

Codec: Realtek ALC269VB
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0269
Subsystem Id: 0x1b7da831
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=2, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x1d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC269VB Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x3d 0x3d]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x1d: Stereo Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x57 0x57]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC269VB Analog", type="Audio", device=0
  Amp-In caps: ofs=0x0b, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x19 0x19]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Amp-In caps: ofs=0x0b, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Internal Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Internal Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x18 0x19 0x1a 0x1b 0x1d
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Audio Mixer] wcaps 0x20010a: Mono Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00] [0x80]
  Connection: 2
     0x02 0x0b
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40000b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010014: OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x99130110: [Fixed] Speaker at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c 0x0d*
Node 0x15 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x16 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x17 [Pin Complex] wcaps 0x40010c: Mono Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80]
  Pincap 0x00000010: OUT
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Connection: 1
     0x0f
Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00001734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x04a19820: [Jack] Mic at Ext Right
    Conn = 1/8, Color = Pink
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
  Connection: 1
     0x0d
Node 0x19 [Pin Complex] wcaps 0x40008b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x99a3092f: [Fixed] Mic at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x2, Sequence = 0xf
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000003c: IN OUT HP Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c* 0x0d
Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00000034: IN OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 2
     0x0c* 0x0d
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40159a05: [N/A] Speaker at Ext N/A
    Conn = Optical, Color = Pink
    DefAssociation = 0x0, Sequence = 0x5
  Pin-ctls: 0x00:
Node 0x1e [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=25
Node 0x21 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x0421401f: [Jack] HP Out at Ext Right
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Connection: 2
     0x0c* 0x0d
Node 0x22 [Audio Selector] wcaps 0x30010b: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Connection: 7
     0x18* 0x19 0x1a 0x1b 0x1d 0x0b 0x12
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 6
     0x18 0x19 0x1a 0x1b 0x1d 0x0b
Codec: Intel CedarTrail HDMI
Address: 1
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862880
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
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 0x6211: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
Node 0x03 [Pin Complex] wcaps 0x40739d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="ELD", index=0, device=3
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x02
--endcollapse--


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

crw-rw---- 1 root audio 116,  7 Jul 16 11:02 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  6 Jul 16 11:02 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  5 Jul 16 11:02 /dev/snd/hwC0D1
crw-rw---- 1 root audio 116,  4 Jul 16 11:02 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116,  3 Jul 16 11:02 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116,  2 Jul 16 11:02 /dev/snd/pcmC0D3p
crw-rw---- 1 root audio 116, 33 Jul 16 13:02 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Jul 16 11:02 .
drwxr-xr-x 3 root root 200 Jul 16 11:02 ..
lrwxrwxrwx 1 root root  12 Jul 16 11:02 pci-0000:00:1b.0 -> ../controlC0


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

APLAY

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

ARECORD

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

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

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

Card hw:0 'Intel'/'HDA Intel at 0x88100000 irq 46'
  Mixer name	: 'Intel CedarTrail HDMI'
  Components	: 'HDA:10ec0269,1b7da831,00100100 HDA:80862880,80860101,00100000'
  Controls      : 25
  Simple ctrls  : 12
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 61 [70%] [-19.50dB] [on]
  Front Right: Playback 61 [70%] [-19.50dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 204 [80%] [-10.20dB]
  Front Right: Playback 204 [80%] [-10.20dB]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 31
  Front Left: Capture 25 [81%] [21.00dB] [on]
  Front Right: Capture 25 [81%] [21.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Digital',0
  Capabilities: cvolume penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 84 [70%] [12.00dB]
  Front Right: Capture 84 [70%] [12.00dB]
Simple mixer control 'Internal Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]


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

--startcollapse--
state.Intel {
	control.1 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 87'
		comment.dbmin -6525
		comment.dbmax 0
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 61
		value.1 61
	}
	control.2 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
	}
	control.3 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 87'
		comment.dbmin -6525
		comment.dbmax 0
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 87
		value.1 87
	}
	control.4 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
	}
	control.5 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 31'
		comment.dbmin -3450
		comment.dbmax 1200
		iface MIXER
		name 'Mic Playback Volume'
		value.0 0
		value.1 0
	}
	control.6 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
	}
	control.7 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 31'
		comment.dbmin -3450
		comment.dbmax 1200
		iface MIXER
		name 'Internal Mic Playback Volume'
		value.0 0
		value.1 0
	}
	control.8 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Internal Mic Playback Switch'
		value.0 false
		value.1 false
	}
	control.9 {
		comment.access 'read write'
		comment.type ENUMERATED
		comment.count 1
		comment.item.0 Disabled
		comment.item.1 Enabled
		iface MIXER
		name 'Auto-Mute Mode'
		value Enabled
	}
	control.10 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 3'
		comment.dbmin 0
		comment.dbmax 3600
		iface MIXER
		name 'Mic Boost Volume'
		value.0 0
		value.1 0
	}
	control.11 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 3'
		comment.dbmin 0
		comment.dbmax 3600
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 0
		value.1 0
	}
	control.12 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
	}
	control.13 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 31'
		comment.dbmin -1650
		comment.dbmax 3000
		iface MIXER
		name 'Capture Volume'
		value.0 25
		value.1 25
	}
	control.14 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 1
		comment.range '0 - 87'
		comment.dbmin -6525
		comment.dbmax 0
		iface MIXER
		name 'Master Playback Volume'
		value 87
	}
	control.15 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Master Playback Switch'
		value true
	}
	control.16 {
		comment.access read
		comment.type BOOLEAN
		comment.count 1
		iface CARD
		name 'Headphone Jack'
		value true
	}
	control.17 {
		comment.access read
		comment.type BOOLEAN
		comment.count 1
		iface CARD
		name 'Mic Jack'
		value false
	}
	control.18 {
		comment.access read
		comment.type BOOLEAN
		comment.count 1
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
	}
	control.19 {
		comment.access read
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.20 {
		comment.access read
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.21 {
		comment.access 'read write'
		comment.type IEC958
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
	}
	control.22 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
	}
	control.23 {
		comment.access read
		comment.type BYTES
		comment.count 0
		iface PCM
		device 3
		name ELD
		value ''
	}
	control.24 {
		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 204
		value.1 204
	}
	control.25 {
		comment.access 'read write user'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 120'
		comment.tlv '0000000100000008fffff44800000032'
		comment.dbmin -3000
		comment.dbmax 3000
		iface MIXER
		name 'Digital Capture Volume'
		value.0 84
		value.1 84
	}
}
--endcollapse--


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

Module
cryptd
aes_i586
aes_generic
ipv6
fuse
dm_crypt
dm_mod
snd_hda_codec_hdmi
snd_hda_codec_realtek
arc4
rt2800pci
rt2800lib
crc_ccitt
rt2x00pci
snd_hda_intel
rt2x00lib
snd_hda_codec
uvcvideo
videobuf2_core
mac80211
snd_hwdep
snd_pcm_oss
snd_mixer_oss
videodev
videobuf2_vmalloc
gma500_gfx
snd_pcm
videobuf2_memops
drm_kms_helper
cfg80211
asix
usbnet
drm
rfkill
microcode
snd_timer
eeprom_93cx6
snd
snd_page_alloc
lpc_ich
i2c_i801
i2c_algo_bit
i2c_core
mfd_core
wmi
battery
ac
uhci_hcd
ehci_hcd
usbcore
usb_common
video
thermal
fan
button


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x12 0x411111f0
0x14 0x99130110
0x17 0x411111f0
0x18 0x04a19820
0x19 0x99a3092f
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40159a05
0x1e 0x411111f0
0x21 0x0421401f

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

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

/sys/class/sound/hwC0D1/driver_pin_configs:

/sys/class/sound/hwC0D1/user_pin_configs:

/sys/class/sound/hwC0D1/init_verbs:


!!ALSA/HDA dmesg
!!--------------

[    7.262223] Registered led device: rt2800pci-phy0::quality
[    7.262230] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[    7.262240] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected
--
[    7.710081] [drm] Initialized gma500 1.0.0 2011-06-06 for 0000:00:02.0 on minor 0
[    7.710420] snd_hda_intel 0000:00:1b.0: irq 46 for MSI/MSI-X
[    7.766847] input: HDA Intel HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
[    7.767182] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
[    7.767480] input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[    9.125485] Adding 1048572k swap on /dev/sda6.  Priority:-1 extents:1 across:1048572k 
--
[   29.101945] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1]
[   29.106640] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[   29.106663] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected
--
[   29.106711] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1]
[   29.111395] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[   29.111404] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected
--
[   29.167620] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1]
[   29.172332] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[   29.172342] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected
--
[   29.172362] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1]
[   29.176890] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter intel drm HDMIB
[   29.176900] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:14:DVI-D-1] disconnected



[-- Attachment #4: Type: text/plain, Size: 0 bytes --]



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

* Re: Sound issues with ALC269VB-based hardware
  2012-07-17 13:11 Sound issues with ALC269VB-based hardware Anisse Astier
@ 2012-07-17 15:05 ` Takashi Iwai
  2012-07-17 15:20   ` hda-jack-sense-test (was: Sound issues with ALC269VB-based hardware) David Henningsson
  2012-07-17 15:25   ` Sound issues with ALC269VB-based hardware Takashi Iwai
  2013-06-03  9:53 ` [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2 Anisse Astier
  1 sibling, 2 replies; 18+ messages in thread
From: Takashi Iwai @ 2012-07-17 15:05 UTC (permalink / raw)
  To: Anisse Astier; +Cc: alsa-devel

At Tue, 17 Jul 2012 15:11:09 +0200,
Anisse Astier wrote:
> 
> Hi,
> 
> So I have this hardware that has a few issues (all tested with tiwai/sound for-next)
> 
> Audio out/speakers:
>  - Audio does not work by default. It needs plugging a jack in either headphone or mic.
>  - disabling "Enable Automute" does make it work. But then it doesn't mute when jack is plugged (obviously).
> 
> Mic:
>  - needs model=laptop-dmic so that working "Internal Mic 1" appears
>  - "Internal Mic" is useless.
>  - no jack sense, need to select manually "Internal Mic 1" or "Mic" (external) as Input Source
> 
> Please find alsa-info.sh with and without model=laptop-dmic in attachement.

All sounds like that your BIOS setup is broken.

You have two internal mics on 0x12 and 0x19.  Judging from your
comment, the pin 0x12 seems bogus.

The problem of the auto-mute is likely because either the jack
detection on pin 0x21 doesn't work, or the pin 0x21 is bogus.
You need to figure it out.

Usually the device has a jack detection mechanism, and you can check
it via hda-verb or whatever.  Plug your headphone to the headphone
jack, and check any of the pin reacts to GET_PIN_SENSE verb (call it
after setting SET_PIN_SENSE verb).  For example,

	% hda-verb /dev/snd/hwC0D0 0x21 SET_PIN_SENSE 1
	% hda-verb /dev/snd/hwC0D0 0x21 GET_PIN_SENSE 0

Check the value returned from GET_PIN_SENSE.  If bit 31 (0x80000000)
is set, this is likely the pin of the interest.

Check this for all pins, i.e. between 0x12 and 0x21.  Some nodes are
no pins, but it doesn't matter much.

Ditto for other external jacks (if any).  Figure out which pin
corresponds to what I/O.  Then you can write your own "patch" file and
load it via option.

For details, read Documentation/sound/alsa/HD-Audio.txt.


Takashi

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

* hda-jack-sense-test (was: Sound issues with ALC269VB-based hardware)
  2012-07-17 15:05 ` Takashi Iwai
@ 2012-07-17 15:20   ` David Henningsson
  2012-07-17 15:23     ` Takashi Iwai
  2012-07-17 15:25   ` Sound issues with ALC269VB-based hardware Takashi Iwai
  1 sibling, 1 reply; 18+ messages in thread
From: David Henningsson @ 2012-07-17 15:20 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

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

On 07/17/2012 05:05 PM, Takashi Iwai wrote:
> Usually the device has a jack detection mechanism, and you can check
> it via hda-verb or whatever.  Plug your headphone to the headphone
> jack, and check any of the pin reacts to GET_PIN_SENSE verb (call it
> after setting SET_PIN_SENSE verb).  For example,
>
> 	% hda-verb /dev/snd/hwC0D0 0x21 SET_PIN_SENSE 1

How many codecs really require SET_PIN_SENSE? I have never had a problem 
with omitting the SET_PIN_SENSE command.

> 	% hda-verb /dev/snd/hwC0D0 0x21 GET_PIN_SENSE 0
>
> Check the value returned from GET_PIN_SENSE.  If bit 31 (0x80000000)
> is set, this is likely the pin of the interest.
>
> Check this for all pins, i.e. between 0x12 and 0x21.  Some nodes are
> no pins, but it doesn't matter much.

Btw, I made convenience script for doing this a year ago. Here it is again.

To install, you put it right next to the hda-analyzer py files, as it 
makes use of hda_codec.py from hda-analyzer, then run "sudo 
hda-jack-sense-test.py -a" (see -h for switches to set codec and card 
indices).

Let me know if you're interested in having this small script in ALSA 
upstream, and if so, what I should do to get it in there.

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic



[-- Attachment #2: hda-jack-sense-test.py --]
[-- Type: text/x-python, Size: 1968 bytes --]

#!/usr/bin/env python
#
# Written by David Henningsson, Copyright 2011 Canonical Ltd. 
# Licensed under GPLv2+

# the hda_codec.py file comes from Jaroslav Kysela's hda_analyzer program.
from hda_codec import *


def parseoptions():
    from optparse import OptionParser
    parser = OptionParser()
    parser.add_option("-c", "--card", dest="cardindex", default=0, metavar="CARD",
        help="card index (as can be seen in /proc/asound/cards)")
    parser.add_option("-d", "--codec", dest="codecindex", default=0, metavar="CODEC",
        help="codec device index (as can be seen in /proc/asound/cardX/codecY)")
    parser.add_option("-a", "--allpins", dest="tryallpins", default=False,
        action="store_true",
        help="also check pins which (probably) are not physical jacks")
    (options, args) = parser.parse_args()
    return int(options.cardindex), int(options.codecindex), options.tryallpins
    
def should_check_presence(node, tryallpins):
    if WIDGET_TYPE_IDS[node.wtype] != 'PIN':
        return False
    if tryallpins:
        return True
    conn_type = (node.defcfg_pincaps >> 30) & 0x03
    if conn_type != 0: # Not a Jack
        return False
    if node.defcfg_pincaps & (1 << 8): # Jack has NO_PRESENCE set
        return False     
    return True

def get_simplecaps(node):
    conn_type = (node.defcfg_pincaps >> 30) & 0x03
    if conn_type == 1: # N/A
        return 'Not connected'
    if conn_type == 0: # Jack
        return "%s %s" % (node.jack_color_name, node.jack_type_name)
    return "Internal %s" % node.jack_type_name

cardindex, codecindex, tryallpins = parseoptions()
codec = HDACodec(cardindex, codecindex)
codec.analyze()
for nid in codec.nodes:
    node = codec.get_node(nid)
    if not should_check_presence(node, tryallpins):
        continue
    present = codec.rw(nid, VERBS['GET_PIN_SENSE'], 0) & 0x80000000
    print "Pin 0x%.2x (%s): present = %s" % (nid, get_simplecaps(node), "Yes" if present else "No")


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



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

* Re: hda-jack-sense-test (was: Sound issues with ALC269VB-based hardware)
  2012-07-17 15:20   ` hda-jack-sense-test (was: Sound issues with ALC269VB-based hardware) David Henningsson
@ 2012-07-17 15:23     ` Takashi Iwai
  0 siblings, 0 replies; 18+ messages in thread
From: Takashi Iwai @ 2012-07-17 15:23 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

At Tue, 17 Jul 2012 17:20:27 +0200,
David Henningsson wrote:
> 
> On 07/17/2012 05:05 PM, Takashi Iwai wrote:
> > Usually the device has a jack detection mechanism, and you can check
> > it via hda-verb or whatever.  Plug your headphone to the headphone
> > jack, and check any of the pin reacts to GET_PIN_SENSE verb (call it
> > after setting SET_PIN_SENSE verb).  For example,
> >
> > 	% hda-verb /dev/snd/hwC0D0 0x21 SET_PIN_SENSE 1
> 
> How many codecs really require SET_PIN_SENSE? I have never had a problem 
> with omitting the SET_PIN_SENSE command.

Well, in theory, if the codec has the trigger bit set, you always need
to give this trigger verb.  IIRC, IDT codecs require the trigger
explicitly.

> > 	% hda-verb /dev/snd/hwC0D0 0x21 GET_PIN_SENSE 0
> >
> > Check the value returned from GET_PIN_SENSE.  If bit 31 (0x80000000)
> > is set, this is likely the pin of the interest.
> >
> > Check this for all pins, i.e. between 0x12 and 0x21.  Some nodes are
> > no pins, but it doesn't matter much.
> 
> Btw, I made convenience script for doing this a year ago. Here it is again.
> 
> To install, you put it right next to the hda-analyzer py files, as it 
> makes use of hda_codec.py from hda-analyzer, then run "sudo 
> hda-jack-sense-test.py -a" (see -h for switches to set codec and card 
> indices).
> 
> Let me know if you're interested in having this small script in ALSA 
> upstream, and if so, what I should do to get it in there.

I guess it can be put to the same repo of hda_analyzer.
I left the decision to Jaroslav...


thanks,

Takashi

> 
> -- 
> David Henningsson, Canonical Ltd.
> https://launchpad.net/~diwic
> 
> 
> [2 hda-jack-sense-test.py <text/x-python (7bit)>]
> #!/usr/bin/env python
> #
> # Written by David Henningsson, Copyright 2011 Canonical Ltd. 
> # Licensed under GPLv2+
> 
> # the hda_codec.py file comes from Jaroslav Kysela's hda_analyzer program.
> from hda_codec import *
> 
> 
> def parseoptions():
>     from optparse import OptionParser
>     parser = OptionParser()
>     parser.add_option("-c", "--card", dest="cardindex", default=0, metavar="CARD",
>         help="card index (as can be seen in /proc/asound/cards)")
>     parser.add_option("-d", "--codec", dest="codecindex", default=0, metavar="CODEC",
>         help="codec device index (as can be seen in /proc/asound/cardX/codecY)")
>     parser.add_option("-a", "--allpins", dest="tryallpins", default=False,
>         action="store_true",
>         help="also check pins which (probably) are not physical jacks")
>     (options, args) = parser.parse_args()
>     return int(options.cardindex), int(options.codecindex), options.tryallpins
>     
> def should_check_presence(node, tryallpins):
>     if WIDGET_TYPE_IDS[node.wtype] != 'PIN':
>         return False
>     if tryallpins:
>         return True
>     conn_type = (node.defcfg_pincaps >> 30) & 0x03
>     if conn_type != 0: # Not a Jack
>         return False
>     if node.defcfg_pincaps & (1 << 8): # Jack has NO_PRESENCE set
>         return False     
>     return True
> 
> def get_simplecaps(node):
>     conn_type = (node.defcfg_pincaps >> 30) & 0x03
>     if conn_type == 1: # N/A
>         return 'Not connected'
>     if conn_type == 0: # Jack
>         return "%s %s" % (node.jack_color_name, node.jack_type_name)
>     return "Internal %s" % node.jack_type_name
> 
> cardindex, codecindex, tryallpins = parseoptions()
> codec = HDACodec(cardindex, codecindex)
> codec.analyze()
> for nid in codec.nodes:
>     node = codec.get_node(nid)
>     if not should_check_presence(node, tryallpins):
>         continue
>     present = codec.rw(nid, VERBS['GET_PIN_SENSE'], 0) & 0x80000000
>     print "Pin 0x%.2x (%s): present = %s" % (nid, get_simplecaps(node), "Yes" if present else "No")
> 

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

* Re: Sound issues with ALC269VB-based hardware
  2012-07-17 15:05 ` Takashi Iwai
  2012-07-17 15:20   ` hda-jack-sense-test (was: Sound issues with ALC269VB-based hardware) David Henningsson
@ 2012-07-17 15:25   ` Takashi Iwai
  2012-07-17 15:40     ` David Henningsson
  2012-07-17 15:50     ` Anisse Astier
  1 sibling, 2 replies; 18+ messages in thread
From: Takashi Iwai @ 2012-07-17 15:25 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel, Anisse Astier

At Tue, 17 Jul 2012 17:05:36 +0200,
Takashi Iwai wrote:
> 
> At Tue, 17 Jul 2012 15:11:09 +0200,
> Anisse Astier wrote:
> > 
> > Hi,
> > 
> > So I have this hardware that has a few issues (all tested with tiwai/sound for-next)
> > 
> > Audio out/speakers:
> >  - Audio does not work by default. It needs plugging a jack in either headphone or mic.
> >  - disabling "Enable Automute" does make it work. But then it doesn't mute when jack is plugged (obviously).
> > 
> > Mic:
> >  - needs model=laptop-dmic so that working "Internal Mic 1" appears
> >  - "Internal Mic" is useless.
> >  - no jack sense, need to select manually "Internal Mic 1" or "Mic" (external) as Input Source
> > 
> > Please find alsa-info.sh with and without model=laptop-dmic in attachement.
> 
> All sounds like that your BIOS setup is broken.
> 
> You have two internal mics on 0x12 and 0x19.  Judging from your
> comment, the pin 0x12 seems bogus.

BTW, this revealed a bug in the latest code.  Since phantom jack
renaming, the account of ctl name index seems broken.  With this
setup, the driver ended up with the duplicated internal mic phantom
jack controls.

So I applied the patch below now.


Takashi

---
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] ALSA: hda - Fix index number conflicts of phantom jacks

Since some jack controls may be renamed as phantom jacks, the existing
check for index conflicts doesn't work because it simply compares the
name with the last used name, assuming that the controls with the same
name continue.  Thus, it would result in the duplicated controls when
two or more phantom jacks with the very same type exist, and the
driver gives up with an error.

This patch fixes the problem by checking the index number conflicts
more intensively (but dumbly).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/hda/hda_jack.c |   45 ++++++++++++++++++++++++++++++---------------
 1 file changed, 30 insertions(+), 15 deletions(-)

diff --git a/sound/pci/hda/hda_jack.c b/sound/pci/hda/hda_jack.c
index 60c976f..aaccc02 100644
--- a/sound/pci/hda/hda_jack.c
+++ b/sound/pci/hda/hda_jack.c
@@ -314,9 +314,28 @@ int snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid,
 }
 EXPORT_SYMBOL_HDA(snd_hda_jack_add_kctl);
 
+/* get the unique index number for the given kctl name */
+static int get_unique_index(struct hda_codec *codec, const char *name, int idx)
+{
+	struct hda_jack_tbl *jack;
+	int i, len = strlen(name);
+ again:
+	jack = codec->jacktbl.list;
+	for (i = 0; i < codec->jacktbl.used; i++, jack++) {
+		/* jack->kctl.id contains "XXX Jack" name string with index */
+		if (jack->kctl &&
+		    !strncmp(name, jack->kctl->id.name, len) &&
+		    !strcmp(" Jack", jack->kctl->id.name + len) &&
+		    jack->kctl->id.index == idx) {
+			idx++;
+			goto again;
+		}
+	}
+	return idx;
+}
+
 static int add_jack_kctl(struct hda_codec *codec, hda_nid_t nid,
-			 const struct auto_pin_cfg *cfg,
-			 char *lastname, int *lastidx)
+			 const struct auto_pin_cfg *cfg)
 {
 	unsigned int def_conf, conn;
 	char name[44];
@@ -336,10 +355,7 @@ static int add_jack_kctl(struct hda_codec *codec, hda_nid_t nid,
 	if (phantom_jack)
 		/* Example final name: "Internal Mic Phantom Jack" */
 		strncat(name, " Phantom", sizeof(name) - strlen(name) - 1);
-	if (!strcmp(name, lastname) && idx == *lastidx)
-		idx++;
-	strncpy(lastname, name, sizeof(name));
-	*lastidx = idx;
+	idx = get_unique_index(codec, name, idx);
 	err = __snd_hda_jack_add_kctl(codec, nid, name, idx, phantom_jack);
 	if (err < 0)
 		return err;
@@ -356,42 +372,41 @@ int snd_hda_jack_add_kctls(struct hda_codec *codec,
 			   const struct auto_pin_cfg *cfg)
 {
 	const hda_nid_t *p;
-	int i, err, lastidx = 0;
-	char lastname[44] = "";
+	int i, err;
 
 	for (i = 0, p = cfg->line_out_pins; i < cfg->line_outs; i++, p++) {
-		err = add_jack_kctl(codec, *p, cfg, lastname, &lastidx);
+		err = add_jack_kctl(codec, *p, cfg);
 		if (err < 0)
 			return err;
 	}
 	for (i = 0, p = cfg->hp_pins; i < cfg->hp_outs; i++, p++) {
 		if (*p == *cfg->line_out_pins) /* might be duplicated */
 			break;
-		err = add_jack_kctl(codec, *p, cfg, lastname, &lastidx);
+		err = add_jack_kctl(codec, *p, cfg);
 		if (err < 0)
 			return err;
 	}
 	for (i = 0, p = cfg->speaker_pins; i < cfg->speaker_outs; i++, p++) {
 		if (*p == *cfg->line_out_pins) /* might be duplicated */
 			break;
-		err = add_jack_kctl(codec, *p, cfg, lastname, &lastidx);
+		err = add_jack_kctl(codec, *p, cfg);
 		if (err < 0)
 			return err;
 	}
 	for (i = 0; i < cfg->num_inputs; i++) {
-		err = add_jack_kctl(codec, cfg->inputs[i].pin, cfg, lastname, &lastidx);
+		err = add_jack_kctl(codec, cfg->inputs[i].pin, cfg);
 		if (err < 0)
 			return err;
 	}
 	for (i = 0, p = cfg->dig_out_pins; i < cfg->dig_outs; i++, p++) {
-		err = add_jack_kctl(codec, *p, cfg, lastname, &lastidx);
+		err = add_jack_kctl(codec, *p, cfg);
 		if (err < 0)
 			return err;
 	}
-	err = add_jack_kctl(codec, cfg->dig_in_pin, cfg, lastname, &lastidx);
+	err = add_jack_kctl(codec, cfg->dig_in_pin, cfg);
 	if (err < 0)
 		return err;
-	err = add_jack_kctl(codec, cfg->mono_out_pin, cfg, lastname, &lastidx);
+	err = add_jack_kctl(codec, cfg->mono_out_pin, cfg);
 	if (err < 0)
 		return err;
 	return 0;
-- 
1.7.10.4

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

* Re: Sound issues with ALC269VB-based hardware
  2012-07-17 15:25   ` Sound issues with ALC269VB-based hardware Takashi Iwai
@ 2012-07-17 15:40     ` David Henningsson
  2012-07-17 15:53       ` Takashi Iwai
  2012-07-17 15:50     ` Anisse Astier
  1 sibling, 1 reply; 18+ messages in thread
From: David Henningsson @ 2012-07-17 15:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

On 07/17/2012 05:25 PM, Takashi Iwai wrote:
> At Tue, 17 Jul 2012 17:05:36 +0200,
> Takashi Iwai wrote:
>>
>> At Tue, 17 Jul 2012 15:11:09 +0200,
>> Anisse Astier wrote:
>>>
>>> Hi,
>>>
>>> So I have this hardware that has a few issues (all tested with tiwai/sound for-next)
>>>
>>> Audio out/speakers:
>>>   - Audio does not work by default. It needs plugging a jack in either headphone or mic.
>>>   - disabling "Enable Automute" does make it work. But then it doesn't mute when jack is plugged (obviously).
>>>
>>> Mic:
>>>   - needs model=laptop-dmic so that working "Internal Mic 1" appears
>>>   - "Internal Mic" is useless.
>>>   - no jack sense, need to select manually "Internal Mic 1" or "Mic" (external) as Input Source
>>>
>>> Please find alsa-info.sh with and without model=laptop-dmic in attachement.
>>
>> All sounds like that your BIOS setup is broken.
>>
>> You have two internal mics on 0x12 and 0x19.  Judging from your
>> comment, the pin 0x12 seems bogus.
>
> BTW, this revealed a bug in the latest code.  Since phantom jack
> renaming, the account of ctl name index seems broken.  With this
> setup, the driver ended up with the duplicated internal mic phantom
> jack controls.
>
> So I applied the patch below now.

While the new checking is more robust, I fail to see how it happens, and 
what the phantom jacks have anything to do with it?
Both inputs and outputs should be sent to add_jack_kctl in type order, 
phantom or not.


-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

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

* Re: Sound issues with ALC269VB-based hardware
  2012-07-17 15:25   ` Sound issues with ALC269VB-based hardware Takashi Iwai
  2012-07-17 15:40     ` David Henningsson
@ 2012-07-17 15:50     ` Anisse Astier
  2012-07-17 15:53       ` Takashi Iwai
  2012-08-30 16:57       ` Anisse Astier
  1 sibling, 2 replies; 18+ messages in thread
From: Anisse Astier @ 2012-07-17 15:50 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, David Henningsson

On Tue, 17 Jul 2012 17:25:48 +0200, Takashi Iwai <tiwai@suse.de> wrote :

> At Tue, 17 Jul 2012 17:05:36 +0200,
> Takashi Iwai wrote:
> > 
> > All sounds like that your BIOS setup is broken.
> > 
> > You have two internal mics on 0x12 and 0x19.  Judging from your
> > comment, the pin 0x12 seems bogus.

Thanks, I will explore this and maybe come back to you.

> 
> BTW, this revealed a bug in the latest code.  Since phantom jack
> renaming, the account of ctl name index seems broken.  With this
> setup, the driver ended up with the duplicated internal mic phantom
> jack controls.

Glad I could help.

> 
> So I applied the patch below now.

I'm testing this right now to see if anything changes. (Although it
shouldn't if I understand well)

Anisse

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

* Re: Sound issues with ALC269VB-based hardware
  2012-07-17 15:40     ` David Henningsson
@ 2012-07-17 15:53       ` Takashi Iwai
  0 siblings, 0 replies; 18+ messages in thread
From: Takashi Iwai @ 2012-07-17 15:53 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel

At Tue, 17 Jul 2012 17:40:14 +0200,
David Henningsson wrote:
> 
> On 07/17/2012 05:25 PM, Takashi Iwai wrote:
> > At Tue, 17 Jul 2012 17:05:36 +0200,
> > Takashi Iwai wrote:
> >>
> >> At Tue, 17 Jul 2012 15:11:09 +0200,
> >> Anisse Astier wrote:
> >>>
> >>> Hi,
> >>>
> >>> So I have this hardware that has a few issues (all tested with tiwai/sound for-next)
> >>>
> >>> Audio out/speakers:
> >>>   - Audio does not work by default. It needs plugging a jack in either headphone or mic.
> >>>   - disabling "Enable Automute" does make it work. But then it doesn't mute when jack is plugged (obviously).
> >>>
> >>> Mic:
> >>>   - needs model=laptop-dmic so that working "Internal Mic 1" appears
> >>>   - "Internal Mic" is useless.
> >>>   - no jack sense, need to select manually "Internal Mic 1" or "Mic" (external) as Input Source
> >>>
> >>> Please find alsa-info.sh with and without model=laptop-dmic in attachement.
> >>
> >> All sounds like that your BIOS setup is broken.
> >>
> >> You have two internal mics on 0x12 and 0x19.  Judging from your
> >> comment, the pin 0x12 seems bogus.
> >
> > BTW, this revealed a bug in the latest code.  Since phantom jack
> > renaming, the account of ctl name index seems broken.  With this
> > setup, the driver ended up with the duplicated internal mic phantom
> > jack controls.
> >
> > So I applied the patch below now.
> 
> While the new checking is more robust, I fail to see how it happens, and 
> what the phantom jacks have anything to do with it?

So far, the code assumed that the pins to be checked are already
sorted with the same type, i.e. the lastname string is retained more
or less.  After the implementation of phantom jacks, the name string
may be morphing to a different name in the middle, thus the check with
lastname string failed.


Takashi

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

* Re: Sound issues with ALC269VB-based hardware
  2012-07-17 15:50     ` Anisse Astier
@ 2012-07-17 15:53       ` Takashi Iwai
  2012-08-30 16:57       ` Anisse Astier
  1 sibling, 0 replies; 18+ messages in thread
From: Takashi Iwai @ 2012-07-17 15:53 UTC (permalink / raw)
  To: Anisse Astier; +Cc: alsa-devel, David Henningsson

At Tue, 17 Jul 2012 17:50:40 +0200,
Anisse Astier wrote:
> 
> On Tue, 17 Jul 2012 17:25:48 +0200, Takashi Iwai <tiwai@suse.de> wrote :
> 
> > At Tue, 17 Jul 2012 17:05:36 +0200,
> > Takashi Iwai wrote:
> > > 
> > > All sounds like that your BIOS setup is broken.
> > > 
> > > You have two internal mics on 0x12 and 0x19.  Judging from your
> > > comment, the pin 0x12 seems bogus.
> 
> Thanks, I will explore this and maybe come back to you.
> 
> > 
> > BTW, this revealed a bug in the latest code.  Since phantom jack
> > renaming, the account of ctl name index seems broken.  With this
> > setup, the driver ended up with the duplicated internal mic phantom
> > jack controls.
> 
> Glad I could help.
> 
> > 
> > So I applied the patch below now.
> 
> I'm testing this right now to see if anything changes. (Although it
> shouldn't if I understand well)

Note that this won't help much for the bogus jacks.  It will help for
avoiding the module loading error (if any).


Takashi

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

* Re: Sound issues with ALC269VB-based hardware
  2012-07-17 15:50     ` Anisse Astier
  2012-07-17 15:53       ` Takashi Iwai
@ 2012-08-30 16:57       ` Anisse Astier
  1 sibling, 0 replies; 18+ messages in thread
From: Anisse Astier @ 2012-08-30 16:57 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, David Henningsson

Hi again,

On Tue, 17 Jul 2012 17:50:40 +0200, Anisse Astier <anisse@astier.eu> wrote :

> On Tue, 17 Jul 2012 17:25:48 +0200, Takashi Iwai <tiwai@suse.de> wrote :
> 
> > At Tue, 17 Jul 2012 17:05:36 +0200,
> > Takashi Iwai wrote:
> > > 
> > > All sounds like that your BIOS setup is broken.
> > > 
> > > You have two internal mics on 0x12 and 0x19.  Judging from your
> > > comment, the pin 0x12 seems bogus.
> 
> Thanks, I will explore this and maybe come back to you.
> 

I used David's tool and came up with this fixup:

[codec]
0x10ec0269 0x1b7da831 0

[pincfg]
0x18 0x411111f0
0x12 0x99a3092f


The problem is I can't seem to get a sense on the mic port (0x19).

I tried it on Windows, and the Realtek HD Audio tool can detect the jack
on the headphone and mic port independently. I didn't use any
vendor-provided (oem specific) driver on Windows.

Regards,

Anisse

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

* [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2
  2012-07-17 13:11 Sound issues with ALC269VB-based hardware Anisse Astier
  2012-07-17 15:05 ` Takashi Iwai
@ 2013-06-03  9:53 ` Anisse Astier
  2013-06-05 10:26   ` Takashi Iwai
  1 sibling, 1 reply; 18+ messages in thread
From: Anisse Astier @ 2013-06-03  9:53 UTC (permalink / raw)
  To: alsa-devel; +Cc: Takashi Iwai, Kailang Yang, Anisse Astier, David Henningsson

This fixes the internal and external mic on Ordissimo EVE2,  also known
as Malata PC-B1303.

We still don't know how to detect mic jack like Realtek's windows
driver.

Signed-off-by: Anisse Astier <anisse@astier.eu>
---
Hi,

I'm on a dead end on this computer, I can't seem to find how the mic jack
presence works. It's always on(presence detected whatever the status) on NID
0x18, the one used for the external mic. I have tried every NID, manually
enabling pin_sense on each, but only the headphone jack detection works. The
mic sense is nowhere to be seen.

This is on top sound/for-next.

Also, I'd love to have access to an ALC269VB datasheet, or at least know the
differences with an ALC269. Do no hesitate to contact me in private.

Regards,

Anisse
---
 sound/pci/hda/patch_realtek.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 59d2e91..6b0d8fe 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3225,6 +3225,7 @@ enum {
 	ALC271_FIXUP_HP_GATE_MIC_JACK,
 	ALC269_FIXUP_ACER_AC700,
 	ALC269_FIXUP_LIMIT_INT_MIC_BOOST,
+	ALC269VB_FIXUP_ORDISSIMO_EVE2,
 };
 
 static const struct hda_fixup alc269_fixups[] = {
@@ -3467,6 +3468,15 @@ static const struct hda_fixup alc269_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc269_fixup_limit_int_mic_boost,
 	},
+	[ALC269VB_FIXUP_ORDISSIMO_EVE2] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x12, 0x99a3092f }, /* int-mic */
+			{ 0x18, 0x03a11d20 }, /* mic */
+			{ 0x19, 0x411111f0 }, /* Unused bogus pin */
+			{ }
+		},
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -3533,6 +3543,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK),
 	SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
 	SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD),
+	SND_PCI_QUIRK(0x1b7d, 0xa831, "Ordissimo EVE2 ", ALC269VB_FIXUP_ORDISSIMO_EVE2), /* Also known as Malata PC-B1303 */
 
 #if 0
 	/* Below is a quirk table taken from the old code.
-- 
1.8.1.4

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

* Re: [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2
  2013-06-03  9:53 ` [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2 Anisse Astier
@ 2013-06-05 10:26   ` Takashi Iwai
  2013-06-05 10:32     ` Anisse Astier
  2013-06-05 15:36     ` Anisse Astier
  0 siblings, 2 replies; 18+ messages in thread
From: Takashi Iwai @ 2013-06-05 10:26 UTC (permalink / raw)
  To: Anisse Astier; +Cc: alsa-devel, Kailang Yang, David Henningsson

At Mon,  3 Jun 2013 11:53:10 +0200,
Anisse Astier wrote:
> 
> This fixes the internal and external mic on Ordissimo EVE2,  also known
> as Malata PC-B1303.
> 
> We still don't know how to detect mic jack like Realtek's windows
> driver.
> 
> Signed-off-by: Anisse Astier <anisse@astier.eu>

Thanks, applied.

> ---
> Hi,
> 
> I'm on a dead end on this computer, I can't seem to find how the mic jack
> presence works. It's always on(presence detected whatever the status) on NID
> 0x18, the one used for the external mic. I have tried every NID, manually
> enabling pin_sense on each, but only the headphone jack detection works. The
> mic sense is nowhere to be seen.

I also don't know any other method for Realtek.  For IDT codecs, there
are some devices with GPIO unsol events, but Realtek codecs seem to
use only the normal pin detection unsol events.

So, on your device, GET_PIN_SENSE doesn't return the detection bit
set?  You tried setting SET_PIN_SENSE before GET_PIN_SENSE, right?


Takashi

> 
> This is on top sound/for-next.
> 
> Also, I'd love to have access to an ALC269VB datasheet, or at least know the
> differences with an ALC269. Do no hesitate to contact me in private.
> 
> Regards,
> 
> Anisse
> ---
>  sound/pci/hda/patch_realtek.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 59d2e91..6b0d8fe 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -3225,6 +3225,7 @@ enum {
>  	ALC271_FIXUP_HP_GATE_MIC_JACK,
>  	ALC269_FIXUP_ACER_AC700,
>  	ALC269_FIXUP_LIMIT_INT_MIC_BOOST,
> +	ALC269VB_FIXUP_ORDISSIMO_EVE2,
>  };
>  
>  static const struct hda_fixup alc269_fixups[] = {
> @@ -3467,6 +3468,15 @@ static const struct hda_fixup alc269_fixups[] = {
>  		.type = HDA_FIXUP_FUNC,
>  		.v.func = alc269_fixup_limit_int_mic_boost,
>  	},
> +	[ALC269VB_FIXUP_ORDISSIMO_EVE2] = {
> +		.type = HDA_FIXUP_PINS,
> +		.v.pins = (const struct hda_pintbl[]) {
> +			{ 0x12, 0x99a3092f }, /* int-mic */
> +			{ 0x18, 0x03a11d20 }, /* mic */
> +			{ 0x19, 0x411111f0 }, /* Unused bogus pin */
> +			{ }
> +		},
> +	},
>  };
>  
>  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> @@ -3533,6 +3543,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>  	SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK),
>  	SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
>  	SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD),
> +	SND_PCI_QUIRK(0x1b7d, 0xa831, "Ordissimo EVE2 ", ALC269VB_FIXUP_ORDISSIMO_EVE2), /* Also known as Malata PC-B1303 */
>  
>  #if 0
>  	/* Below is a quirk table taken from the old code.
> -- 
> 1.8.1.4
> 

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

* Re: [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2
  2013-06-05 10:26   ` Takashi Iwai
@ 2013-06-05 10:32     ` Anisse Astier
  2013-06-05 15:36     ` Anisse Astier
  1 sibling, 0 replies; 18+ messages in thread
From: Anisse Astier @ 2013-06-05 10:32 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Kailang Yang, David Henningsson

Hi,

On Wed, 05 Jun 2013 12:26:59 +0200, Takashi Iwai <tiwai@suse.de> wrote :

> At Mon,  3 Jun 2013 11:53:10 +0200,
> Anisse Astier wrote:
> > 
> > This fixes the internal and external mic on Ordissimo EVE2,  also known
> > as Malata PC-B1303.
> > 
> > We still don't know how to detect mic jack like Realtek's windows
> > driver.
> > 
> > Signed-off-by: Anisse Astier <anisse@astier.eu>
> 
> Thanks, applied.
> 
> > ---
> > Hi,
> > 
> > I'm on a dead end on this computer, I can't seem to find how the mic jack
> > presence works. It's always on(presence detected whatever the status) on NID
> > 0x18, the one used for the external mic. I have tried every NID, manually
> > enabling pin_sense on each, but only the headphone jack detection works. The
> > mic sense is nowhere to be seen.
> 
> I also don't know any other method for Realtek.  For IDT codecs, there
> are some devices with GPIO unsol events, but Realtek codecs seem to
> use only the normal pin detection unsol events.
> 
> So, on your device, GET_PIN_SENSE doesn't return the detection bit
> set?  You tried setting SET_PIN_SENSE before GET_PIN_SENSE, right?
> 
> 

Yes, I tried it although the ALC269 datasheet states that it's a NO-OP.

Anisse

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

* Re: [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2
  2013-06-05 10:26   ` Takashi Iwai
  2013-06-05 10:32     ` Anisse Astier
@ 2013-06-05 15:36     ` Anisse Astier
  2013-06-06  9:49       ` Takashi Iwai
  1 sibling, 1 reply; 18+ messages in thread
From: Anisse Astier @ 2013-06-05 15:36 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Kailang Yang, David Henningsson

On Wed, 05 Jun 2013 12:26:59 +0200, Takashi Iwai <tiwai@suse.de> wrote :

> > I'm on a dead end on this computer, I can't seem to find how the mic jack
> > presence works. It's always on(presence detected whatever the status) on NID
> > 0x18, the one used for the external mic. I have tried every NID, manually
> > enabling pin_sense on each, but only the headphone jack detection works. The
> > mic sense is nowhere to be seen.  
> 
> I also don't know any other method for Realtek.  For IDT codecs, there
> are some devices with GPIO unsol events, but Realtek codecs seem to
> use only the normal pin detection unsol events.
> 
> So, on your device, GET_PIN_SENSE doesn't return the detection bit
> set?  You tried setting SET_PIN_SENSE before GET_PIN_SENSE, right?
> 

I did more tests, this time using hda-verb directly instead of
hda-analyzer tools. And GET_PIN_SENSE does return the correct value…
sometimes. (without the need for SET_PIN_SENSE)
It seems the value is correct only if queried once every 10 to 15
seconds. Changing the jackpoll_ms argument does not seem to help, so I'll
keep digging into it.

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

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

* Re: [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2
  2013-06-05 15:36     ` Anisse Astier
@ 2013-06-06  9:49       ` Takashi Iwai
  2013-06-06 16:14         ` Anisse Astier
  0 siblings, 1 reply; 18+ messages in thread
From: Takashi Iwai @ 2013-06-06  9:49 UTC (permalink / raw)
  To: Anisse Astier; +Cc: alsa-devel, Kailang Yang, David Henningsson

At Wed, 5 Jun 2013 17:36:43 +0200,
Anisse Astier wrote:
> 
> On Wed, 05 Jun 2013 12:26:59 +0200, Takashi Iwai <tiwai@suse.de> wrote :
> 
> > > I'm on a dead end on this computer, I can't seem to find how the mic jack
> > > presence works. It's always on(presence detected whatever the status) on NID
> > > 0x18, the one used for the external mic. I have tried every NID, manually
> > > enabling pin_sense on each, but only the headphone jack detection works. The
> > > mic sense is nowhere to be seen.  
> > 
> > I also don't know any other method for Realtek.  For IDT codecs, there
> > are some devices with GPIO unsol events, but Realtek codecs seem to
> > use only the normal pin detection unsol events.
> > 
> > So, on your device, GET_PIN_SENSE doesn't return the detection bit
> > set?  You tried setting SET_PIN_SENSE before GET_PIN_SENSE, right?
> > 
> 
> I did more tests, this time using hda-verb directly instead of
> hda-analyzer tools. And GET_PIN_SENSE does return the correct value…
> sometimes. (without the need for SET_PIN_SENSE)
> It seems the value is correct only if queried once every 10 to 15
> seconds.

Does this mean that it gives a wrong result (i.e. no detect bit
although plugged, or vice versa)?  Also, is the unsol event issued per
jack plug/unplug?  If so, is the detection correct just after the
unsol event?

Currently we don't need to issue the real GET_PIN_SENSE at every
inquiry but only when demanded (e.g. after unsol event, init and
resume).  If the detection works reliably at these moments, it should
be enough in theory.


Takashi


> Changing the jackpoll_ms argument does not seem to help, so I'll
> keep digging into it.
> 
> Anisse
> 
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* Re: [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2
  2013-06-06  9:49       ` Takashi Iwai
@ 2013-06-06 16:14         ` Anisse Astier
  2013-06-06 16:19           ` Anisse Astier
  2013-06-06 16:23           ` Takashi Iwai
  0 siblings, 2 replies; 18+ messages in thread
From: Anisse Astier @ 2013-06-06 16:14 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Kailang Yang, David Henningsson

On Thu, 06 Jun 2013 11:49:00 +0200, Takashi Iwai <tiwai@suse.de> wrote :

> At Wed, 5 Jun 2013 17:36:43 +0200,
> Anisse Astier wrote:
> > 
> > On Wed, 05 Jun 2013 12:26:59 +0200, Takashi Iwai <tiwai@suse.de> wrote :
> > 
> > > > I'm on a dead end on this computer, I can't seem to find how the mic jack
> > > > presence works. It's always on(presence detected whatever the status) on NID
> > > > 0x18, the one used for the external mic. I have tried every NID, manually
> > > > enabling pin_sense on each, but only the headphone jack detection works. The
> > > > mic sense is nowhere to be seen.  
> > > 
> > > I also don't know any other method for Realtek.  For IDT codecs, there
> > > are some devices with GPIO unsol events, but Realtek codecs seem to
> > > use only the normal pin detection unsol events.
> > > 
> > > So, on your device, GET_PIN_SENSE doesn't return the detection bit
> > > set?  You tried setting SET_PIN_SENSE before GET_PIN_SENSE, right?
> > > 
> > 
> > I did more tests, this time using hda-verb directly instead of
> > hda-analyzer tools. And GET_PIN_SENSE does return the correct value…
> > sometimes. (without the need for SET_PIN_SENSE)
> > It seems the value is correct only if queried once every 10 to 15
> > seconds.
> 
> Does this mean that it gives a wrong result (i.e. no detect bit
> although plugged, or vice versa)?  Also, is the unsol event issued per

It means it gives detect bit (most of the time) although unplugged.

> jack plug/unplug?  If so, is the detection correct just after the
> unsol event?

I don't know yet. From what I observed for now:
 - there are multiple events in a row. 
 - the event is issued for unplugs, everytime. For plugs, it's only
   issued sometimes, if we wait long enough.
 - when unpluged, we get unsol events every 10 seconds or so, even when
   doing nothing.

To gather more information I added some printfs:

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 55108b5..f6b0592 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -271,6 +271,9 @@ unsigned int snd_hda_codec_read(struct hda_codec *codec, hda_nid_t nid,
 	unsigned int res;
 	if (codec_exec_verb(codec, cmd, &res))
 		return -1;
+	if (verb == AC_VERB_GET_PIN_SENSE) {
+		snd_printd("hda_codec: Getting PIN Sense on nid 0x%x: %08x\n", nid, res);
+	}
 	return res;
 }
 EXPORT_SYMBOL_HDA(snd_hda_codec_read);
@@ -292,6 +295,9 @@ int snd_hda_codec_write(struct hda_codec *codec, hda_nid_t nid, int direct,
 {
 	unsigned int cmd = make_codec_cmd(codec, nid, direct, verb, parm);
 	unsigned int res;
+	if (verb == AC_VERB_SET_UNSOLICITED_ENABLE) {
+		snd_printd("hda_codec: Enabling unsolicited on nid 0x%x: %08x\n", nid, parm);
+	}
 	return codec_exec_verb(codec, cmd,
 			       codec->bus->sync_write ? &res : NULL);
 }
@@ -723,7 +729,10 @@ static void process_unsol_events(struct work_struct *work)
 			continue;
 		codec = bus->caddr_tbl[caddr & 0x0f];
 		if (codec && codec->patch_ops.unsol_event)
+		{
+			snd_printd("hda_codec: Unsol event with res 0x%x", res);
 			codec->patch_ops.unsol_event(codec, res);
+		}
 	}
 }
 

Here's an annotated log I collected with this patch:

Mic is NID 0x18, and headphones 0x21. Headphones are unplugged the entire
time.

Mic jack is plugged. I unplug it.

[  444.059100] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000000
[  445.063294] ALSA sound/pci/hda/hda_intel.c:948 0000:00:1b.0: azx_get_response timeout, polling the codec once: last cmd=0x020c0000
[  445.063656] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x21: 00000000
[  445.063739] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  445.064050] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x21: 00000081
[  445.064072] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x18: 00000082
[  445.065180] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  445.083919] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000010
[  445.084043] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 80000000



10 seconds later, an unsol events while I did nothing
[  456.097023] ALSA sound/pci/hda/hda_intel.c:948 0000:00:1b.0: azx_get_response timeout, polling the codec once: last cmd=0x020c0000
[  456.111282] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000000
[  456.112267] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x21: 00000000
[  456.112367] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  456.112677] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x21: 00000081
[  456.112700] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x18: 00000082
[  456.113792] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  456.132647] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000010
[  456.132722] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 80000000

again
[  466.156558] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000000
[  466.157490] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x21: 00000000
[  466.157584] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  466.157873] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x21: 00000081
[  466.157959] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x18: 00000082
[  466.159033] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  466.177922] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000010
[  466.178088] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 80000000

and again
[  476.212512] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000000
[  477.214751] ALSA sound/pci/hda/hda_intel.c:948 0000:00:1b.0: azx_get_response timeout, polling the codec once: last cmd=0x020c0000
[  477.215049] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x21: 00000000
[  477.215158] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  477.215519] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x21: 00000081
[  477.215553] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x18: 00000082
[  477.216926] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  477.237333] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000010
[  477.237404] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 80000000

here I plug the mic
[  480.215725] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000000
[  480.215824] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  480.279747] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000010
[  480.279809] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 80000000



and unplug it
[  506.284318] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000000
[  506.285313] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x21: 00000000
[  506.285413] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  506.285853] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x21: 00000081
[  506.285888] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x18: 00000082
[  506.286878] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  506.305697] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000010
[  506.305779] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 80000000


10 seconds later, an automatic unsolicited event
[  516.308248] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000000
[  516.309285] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x21: 00000000
[  516.309384] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  516.309779] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x21: 00000081
[  516.309813] ALSA sound/pci/hda/hda_codec.c:299 hda_codec: Enabling unsolicited on nid 0x18: 00000082
[  516.310837] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  516.329607] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000010
[  516.329682] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 80000000


I plug it again
[  520.674375] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000008
[  520.674512] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 00000000
[  520.674665] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x4000008
[  520.674741] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x21: 80000000
[  520.695707] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x8000010
[  520.695791] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x18: 80000000
[  520.695863] ALSA sound/pci/hda/hda_codec.c:733 hda_codec: Unsol event with res 0x4000010
[  520.695923] ALSA sound/pci/hda/hda_codec.c:275 hda_codec: Getting PIN Sense on nid 0x21: 00000000





> 
> Currently we don't need to issue the real GET_PIN_SENSE at every
> inquiry but only when demanded (e.g. after unsol event, init and
> resume).  If the detection works reliably at these moments, it should
> be enough in theory.

I'm not sure that would be enough according to what I'm observing.

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

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

* Re: [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2
  2013-06-06 16:14         ` Anisse Astier
@ 2013-06-06 16:19           ` Anisse Astier
  2013-06-06 16:23           ` Takashi Iwai
  1 sibling, 0 replies; 18+ messages in thread
From: Anisse Astier @ 2013-06-06 16:19 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Kailang Yang, Anisse Astier, David Henningsson

On Thu, 6 Jun 2013 18:14:58 +0200, Anisse Astier <anisse@astier.eu> wrote :

> On Thu, 06 Jun 2013 11:49:00 +0200, Takashi Iwai <tiwai@suse.de> wrote :
> 
> > At Wed, 5 Jun 2013 17:36:43 +0200,
> > Anisse Astier wrote:
> > > 
> > > On Wed, 05 Jun 2013 12:26:59 +0200, Takashi Iwai <tiwai@suse.de> wrote :
> > > 
> > > > > I'm on a dead end on this computer, I can't seem to find how the mic jack
> > > > > presence works. It's always on(presence detected whatever the status) on NID
> > > > > 0x18, the one used for the external mic. I have tried every NID, manually
> > > > > enabling pin_sense on each, but only the headphone jack detection works. The
> > > > > mic sense is nowhere to be seen.  
> > > > 
> > > > I also don't know any other method for Realtek.  For IDT codecs, there
> > > > are some devices with GPIO unsol events, but Realtek codecs seem to
> > > > use only the normal pin detection unsol events.
> > > > 
> > > > So, on your device, GET_PIN_SENSE doesn't return the detection bit
> > > > set?  You tried setting SET_PIN_SENSE before GET_PIN_SENSE, right?
> > > > 
> > > 
> > > I did more tests, this time using hda-verb directly instead of
> > > hda-analyzer tools. And GET_PIN_SENSE does return the correct value…
> > > sometimes. (without the need for SET_PIN_SENSE)
> > > It seems the value is correct only if queried once every 10 to 15
> > > seconds.
> > 
> > Does this mean that it gives a wrong result (i.e. no detect bit
> > although plugged, or vice versa)?  Also, is the unsol event issued per
> 
> It means it gives detect bit (most of the time) although unplugged.
> 
> > jack plug/unplug?  If so, is the detection correct just after the
> > unsol event?
> 
> I don't know yet. From what I observed for now:
>  - there are multiple events in a row. 
>  - the event is issued for unplugs, everytime. For plugs, it's only
>    issued sometimes, if we wait long enough.
>  - when unpluged, we get unsol events every 10 seconds or so, even when
>    doing nothing.


Also: the second GET_PIN_SENSE seems to be always correct according to
the data collected. I don't know what to make of it.

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

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

* Re: [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2
  2013-06-06 16:14         ` Anisse Astier
  2013-06-06 16:19           ` Anisse Astier
@ 2013-06-06 16:23           ` Takashi Iwai
  1 sibling, 0 replies; 18+ messages in thread
From: Takashi Iwai @ 2013-06-06 16:23 UTC (permalink / raw)
  To: Anisse Astier; +Cc: alsa-devel, Kailang Yang, David Henningsson

At Thu, 6 Jun 2013 18:14:58 +0200,
Anisse Astier wrote:
> 
> On Thu, 06 Jun 2013 11:49:00 +0200, Takashi Iwai <tiwai@suse.de> wrote :
> 
> > At Wed, 5 Jun 2013 17:36:43 +0200,
> > Anisse Astier wrote:
> > > 
> > > On Wed, 05 Jun 2013 12:26:59 +0200, Takashi Iwai <tiwai@suse.de> wrote :
> > > 
> > > > > I'm on a dead end on this computer, I can't seem to find how the mic jack
> > > > > presence works. It's always on(presence detected whatever the status) on NID
> > > > > 0x18, the one used for the external mic. I have tried every NID, manually
> > > > > enabling pin_sense on each, but only the headphone jack detection works. The
> > > > > mic sense is nowhere to be seen.  
> > > > 
> > > > I also don't know any other method for Realtek.  For IDT codecs, there
> > > > are some devices with GPIO unsol events, but Realtek codecs seem to
> > > > use only the normal pin detection unsol events.
> > > > 
> > > > So, on your device, GET_PIN_SENSE doesn't return the detection bit
> > > > set?  You tried setting SET_PIN_SENSE before GET_PIN_SENSE, right?
> > > > 
> > > 
> > > I did more tests, this time using hda-verb directly instead of
> > > hda-analyzer tools. And GET_PIN_SENSE does return the correct value…
> > > sometimes. (without the need for SET_PIN_SENSE)
> > > It seems the value is correct only if queried once every 10 to 15
> > > seconds.
> > 
> > Does this mean that it gives a wrong result (i.e. no detect bit
> > although plugged, or vice versa)?  Also, is the unsol event issued per
> 
> It means it gives detect bit (most of the time) although unplugged.
> 
> > jack plug/unplug?  If so, is the detection correct just after the
> > unsol event?
> 
> I don't know yet. From what I observed for now:
>  - there are multiple events in a row. 
>  - the event is issued for unplugs, everytime. For plugs, it's only
>    issued sometimes, if we wait long enough.
>  - when unpluged, we get unsol events every 10 seconds or so, even when
>    doing nothing.
> 
> To gather more information I added some printfs:

FYI, you can track the tracepoints instead of printks.
See HD-Audio.txt "Tracepoints" section.


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

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

end of thread, other threads:[~2013-06-06 16:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-17 13:11 Sound issues with ALC269VB-based hardware Anisse Astier
2012-07-17 15:05 ` Takashi Iwai
2012-07-17 15:20   ` hda-jack-sense-test (was: Sound issues with ALC269VB-based hardware) David Henningsson
2012-07-17 15:23     ` Takashi Iwai
2012-07-17 15:25   ` Sound issues with ALC269VB-based hardware Takashi Iwai
2012-07-17 15:40     ` David Henningsson
2012-07-17 15:53       ` Takashi Iwai
2012-07-17 15:50     ` Anisse Astier
2012-07-17 15:53       ` Takashi Iwai
2012-08-30 16:57       ` Anisse Astier
2013-06-03  9:53 ` [PATCH] ALSA: hda - add mic fixup for ALC269VB on Ordissimo EVE2 Anisse Astier
2013-06-05 10:26   ` Takashi Iwai
2013-06-05 10:32     ` Anisse Astier
2013-06-05 15:36     ` Anisse Astier
2013-06-06  9:49       ` Takashi Iwai
2013-06-06 16:14         ` Anisse Astier
2013-06-06 16:19           ` Anisse Astier
2013-06-06 16:23           ` 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.