All of lore.kernel.org
 help / color / mirror / Atom feed
* Bug#660111: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
@ 2012-02-22  6:43 Andres Cimmarusti
  2012-02-22  7:44 ` Takashi Iwai
  2012-02-22 16:45 ` Stephen Warren
  0 siblings, 2 replies; 12+ messages in thread
From: Andres Cimmarusti @ 2012-02-22  6:43 UTC (permalink / raw)
  To: swarren; +Cc: tiwai, alsa-devel, Jonathan Nieder, 660111

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

Dear Mr. Warren,

I recently upgraded my laptop to Debian testing (from Debian stable +
the longterm stable 3.0.x kernel). The newer kernel 3.2.x came with a
regression that git bisect has traced down to one of your commits in
the early 3.1.x kernel development stage (git bisect output and git
bisect log attached).

Under kernel 3.0.x HDMI sound works out-of-the-box as tested with
pulse audio (choosing the option Digital
Stereo (HDMI) Output) and by the command:

$ aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav

Alsa's device list reveals:

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

Unfortunately with kernel 3.2.x and 3.1.x I get no sound out choosing the same
configuration in pulseaudio. Device is advertised correctly but
there's a bizarre multiplicity advertised:

$ aplay -l
**** 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
card 0: Intel [HDA Intel], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Using aplay with device 3 says device is busy. Device 7 works
correctly (but is not available in pulseaudio unless forced by
default, which then renders internal speakers disabled) and device 8
produces no sound out.

This appears to be a regression in the kernel about this device,
advertising non-physically connected HDMI sound devices that cause
pulse audio to get
confused (Pulseaudio only seems to be able to handle one HDMI output
by default device 0,3).

Output of the alsa-info script for kernel 3.0.20 and 3.2.4 is attached.

Can you please advice how to fix this problem? I see there was a patch
about the same time meant to address the multiplicity of port
advertised and restrict to the ones being used, but this doesn't seem
to be working here (see
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commit;h=0b6c49b59fb272c1a20f79202693ed1072e9548c)

For reference, this is the original Debian bug report:
http://bugs.debian.org/660111

Best Regards,

Andres Cimmarusti

[-- Attachment #2: git_bisect_1st_bad.txt --]
[-- Type: text/plain, Size: 4595 bytes --]

384a48d71520ca569a63f1e61e51a538bedb16df is the first bad commit
commit 384a48d71520ca569a63f1e61e51a538bedb16df
Author: Stephen Warren <swarren@nvidia.com>
Date:   Wed Jun 1 11:14:21 2011 -0600

    ALSA: hda: HDMI: Support codecs with fewer cvts than pins
    
    The general concept of this change is to create a PCM device for each
    pin widget instead of each converter widget. Whenever a PCM is opened,
    a converter is dynamically selected to drive that pin based on those
    available for muxing into the pin.
    
    The one thing this model doesn't support is a single PCM/converter
    sending audio to multiple pin widgets at once.
    
    Note that this means that a struct hda_pcm_stream's nid variable is
    set to 0 except between a stream's open and cleanup calls. The dynamic
    de-assignment of converters to PCMs occurs within cleanup, not close,
    in order for it to co-incide with when controller stream IDs are
    cleaned up from converters.
    
    While the PCM for a pin is not open, the pin is disabled (its widget
    control's PIN_OUT bit is cleared) so that if the currently routed
    converter is used to drive a different PCM/pin, that audio does not
    leak out over a disabled pin.
    
    We use the recently added SPDIF virtualization feature in order to
    create SPDIF controls for each pin widget instead of each converter
    widget, so that state is specific to a PCM.
    
    In order to support this, a number of more mechanical changes are made:
    
    * s/nid/pin_nid/ or s/nid/cvt_nid/ in many places in order to make it
      clear exactly what the code is dealing with.
    
    * We now have per_pin and per_cvt arrays in hdmi_spec to store relevant
      data. In particular, we store a converter's capabilities in the per_cvt
      entry, rather than relying on a combination of codec_pcm_pars and
      the struct hda_pcm_stream.
    
    * ELD-related workarounds were removed from hdmi_channel_allocation
      into hdmi_instrinsic in order to simplifiy infoframe calculations and
      remove HW dependencies.
    
    * Various functions only apply to a single pin, since there is now
      only 1 pin per PCM. For example, hdmi_setup_infoframe,
      hdmi_setup_stream.
    
    * hdmi_add_pin and hdmi_add_cvt are more oriented at pure codec parsing
      and data retrieval, rather than determining which pins/converters
      are to be used for creating PCMs.
    
    This is quite a large change; it may be appropriate to simply read the
    result of the patch rather than the diffs. Some small parts of the change
    might be separable into different patches, but I think the bulk of the
    change will probably always be one large patch. Hopefully the change
    isn't too opaque!
    
    This has been tested on:
    
    * NVIDIA GeForce 400 series discrete graphics card. This model has the
      classical 1:1:1 codec:converter:pcm widget model. Tested stereo PCM
      audio to a PC monitor that supports audio.
    
    * NVIDIA GeForce 520 discrete graphics card. This model is the new
      1 codec n converters m pins m>n model. Tested stereo PCM audio to a
      PC monitor that supports audio.
    
    * NVIDIA GeForce 400 series laptop graphics chip. This model has the
      classical 1:1:1 codec:converter:pcm widget model. Tested stereo PCM,
      multi-channel PCM, and AC3 pass-through to an AV receiver.
    
    * Intel Ibex Peak laptop. This model is the new 1 codec n converters m
      pins m>n model. Tested stereo PCM, multi-channel PCM, and AC3 pass-
      through to an AV receiver.
    
    Note that I'm not familiar at all with AC3 pass-through. Hence, I may
    not have covered all possible mechanisms that are applicable here. I do
    know that my receiver definitely received AC3, not decoded PCM. I tested
    with mplayer's "-afm hwac3" and/or "-af lavcac3enc" options, and alsa a
    WAV file that I believe has AC3 content rather than PCM.
    
    I also tested:
    * Play a stream
    * Mute while playing
    * Stop stream
    * Play some other streams to re-assign the converter to a different
      pin, PCM, set of SPDIF controls, ... hence hopefully triggering
      cleanup for the original PCM.
    * Unmute original stream while not playing
    * Play a stream on the original pin/PCM.
    
    This was to test SPDIF control virtualization.
    
    Signed-off-by: Stephen Warren <swarren@nvidia.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

:040000 040000 894370c6534b1bf03df9a8a8c7d85c2eeffc7555 98cb8a73a0ed46f034e25bd35002930bc22376ef M	sound

[-- Attachment #3: git_bisect_log.txt --]
[-- Type: text/plain, Size: 1516 bytes --]

git bisect log
git bisect start
# bad: [76531d4166fb620375ff3c1ac24753265216d579] Merge branch 'topic/hda' into for-linus
git bisect bad 76531d4166fb620375ff3c1ac24753265216d579
# good: [7d339ae99758bc21033d4a19bcd4f7b55f96e24e] Merge branch 'topic/misc' into for-linus
git bisect good 7d339ae99758bc21033d4a19bcd4f7b55f96e24e
# bad: [39fa84e94a7df64a6ba27669ef98b51994fb6894] ALSA: hda - Simplify EAPD control in patch_realtek.c
git bisect bad 39fa84e94a7df64a6ba27669ef98b51994fb6894
# bad: [096a885494f6b89a9962c6faf18e1c6092e7919c] ALSA: hda - Initialize input-path dynamically in patch_via.c
git bisect bad 096a885494f6b89a9962c6faf18e1c6092e7919c
# bad: [e06e5a297474c8027beffe10541981845ca0c98b] ALSA: hda - Defer mixer element creation to the right time in patch_via.c
git bisect bad e06e5a297474c8027beffe10541981845ca0c98b
# bad: [b4a655e81d4d1d12abc92d29dfb7550e66a08799] ALSA: hda - Judge playback stream from stream id in azx_via_get_position()
git bisect bad b4a655e81d4d1d12abc92d29dfb7550e66a08799
# good: [3aaf898025b1f75f30457e00e890c9f7c43567ab] ALSA: hda: Separate generic and non-generic implementations
git bisect good 3aaf898025b1f75f30457e00e890c9f7c43567ab
# bad: [384a48d71520ca569a63f1e61e51a538bedb16df] ALSA: hda: HDMI: Support codecs with fewer cvts than pins
git bisect bad 384a48d71520ca569a63f1e61e51a538bedb16df
# good: [2def8172c6611f2577260287ebf5dd3b63f7ef55] ALSA: hda: hdmi_eld_update_pcm_info: update a stream in place
git bisect good 2def8172c6611f2577260287ebf5dd3b63f7ef55

[-- Attachment #4: alsa-info_3.0.20.txt --]
[-- Type: text/plain, Size: 15208 bytes --]

!!################################
!!ALSA Information Script v 0.4.60
!!################################

!!Script ran on: Thu Feb 16 05:24:37 UTC 2012


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

Debian GNU/Linux wheezy/sid \n \l


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

Manufacturer:      To be filled by O.E.M.
Product Name:      To be filled by O.E.M.
Product Version:   AC5G3N-S8_F6


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

Kernel release:    3.0.20-c2d.1-amd64
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


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

Driver version:     1.0.24
Library version:    1.0.24.1
Utilities version:  1.0.24.2


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

snd_hda_intel


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

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

ESound Daemon:
      Installed - Yes (/usr/bin/esd)
      Running - No


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

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


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

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset
High Definition Audio (rev 06)


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

00:1b.0 0403: 8086:3b56 (rev 06)
	Subsystem: 1458:a950


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

snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-pcsp: index=-2
snd-usb-audio: index=-2


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

!!Module: snd_hda_intel
	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
	beep_mode : 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 : 0
	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


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

Codec: Realtek ALC269VB
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0269
Subsystem Id: 0x1458a950
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="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:  [0x50 0x50]
  Converter: stream=5, 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="Front 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:  [0x50 0x50]
  Converter: stream=5, 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:  [0x8f 0x8f]
  Converter: stream=1, 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="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97]
  Connection: 5
     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] [0x00]
  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:  [0x03 0x03]
  Pincap 0x00000020: IN
  Pin Default 0x99a30940: [Fixed] Mic at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x0
    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: 0x40: OUT
  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="Rear 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:  [0x02 0x02]
  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 0x01a11830: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0d
Node 0x19 [Pin Complex] wcaps 0x40008b: Stereo Amp-In
  Control: name="Front 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 0x02a1183f: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0xf
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Front Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=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:  [0x00 0x00]
  Pincap 0x0000003c: IN OUT HP Detect
  Pin Default 0x02211020: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  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 0x598301f0: [N/A] Line In at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  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
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x0121101f: [Jack] HP Out at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=04, 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 IbexPeak HDMI
Address: 3
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862804
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 0x6611: 8-Channels Digital
  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
  Device: name="HDMI 0", type="HDMI", device=3
  Converter: stream=8, 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
  Power states:  D0 D3
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 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
  Power states:  D0 D3
  Power: setting=D0, actual=D0
Node 0x04 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=04, enabled=1
  Power states:  D0 D3
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=05, enabled=1
  Power states:  D0 D3
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=06, enabled=1
  Power states:  D0 D3
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


[-- Attachment #5: alsa-info_3.2.4.txt --]
[-- Type: text/plain, Size: 16224 bytes --]

!!################################
!!ALSA Information Script v 0.4.60
!!################################

!!Script ran on: Thu Feb 16 05:29:09 UTC 2012


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

Debian GNU/Linux wheezy/sid \n \l


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

Manufacturer:      To be filled by O.E.M.
Product Name:      To be filled by O.E.M.
Product Version:   AC5G3N-S8_F6


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

Kernel release:    3.2.0-1-amd64
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes


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

Driver version:     1.0.24
Library version:    1.0.24.1
Utilities version:  1.0.24.2


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

snd_hda_intel


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

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

ESound Daemon:
      Installed - Yes (/usr/bin/esd)
      Running - No


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

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


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

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset
High Definition Audio (rev 06)


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

00:1b.0 0403: 8086:3b56 (rev 06)
	Subsystem: 1458:a950


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

snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-pcsp: index=-2
snd-usb-audio: index=-2


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

!!Module: snd_hda_intel
	align_buffer_size : Y
	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
	beep_mode : 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 : 0
	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: 0x1458a950
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="PCM 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:  [0x50 0x50]
  Converter: stream=8, 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="Headphone 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:  [0x50 0x50]
  Converter: stream=8, 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:  [0x8f 0x8f]
  Converter: stream=4, 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="Rear Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Rear Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Front Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Front Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x97 0x97]
  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:  [0x03 0x03]
  Pincap 0x00000020: IN
  Pin Default 0x99a30940: [Fixed] Mic at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x0
    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: 0x40: OUT
  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="Rear 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:  [0x02 0x02]
  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 0x01a11830: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0d
Node 0x19 [Pin Complex] wcaps 0x40008b: Stereo Amp-In
  Control: name="Front 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 0x02a1183f: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0xf
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="PCM Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=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:  [0x00 0x00]
  Pincap 0x0000003c: IN OUT HP Detect
  Pin Default 0x02211020: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  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 0x598301f0: [N/A] Line In at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  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
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x0121101f: [Jack] HP Out at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=04, 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 IbexPeak HDMI
Address: 3
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862804
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 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled GenLevel
  Digital category: 0x2
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 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
  Power states:  D0 D3
  Power: setting=D0, actual=D0
Node 0x04 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  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 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=04, enabled=1
  Power states:  D0 D3
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Control: name="ELD", index=0, device=7
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=05, enabled=1
  Power states:  D0 D3
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Control: name="ELD", index=0, device=8
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=06, enabled=1
  Power states:  D0 D3
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-22  6:43 Bug#660111: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB Andres Cimmarusti
@ 2012-02-22  7:44 ` Takashi Iwai
  2012-02-23  6:46   ` David Henningsson
  2012-02-22 16:45 ` Stephen Warren
  1 sibling, 1 reply; 12+ messages in thread
From: Takashi Iwai @ 2012-02-22  7:44 UTC (permalink / raw)
  To: Andres Cimmarusti; +Cc: Jonathan Nieder, alsa-devel, 660111, swarren

At Wed, 22 Feb 2012 01:43:44 -0500,
Andres Cimmarusti wrote:
> 
> [1  <text/plain; UTF-8 (7bit)>]
> Dear Mr. Warren,
> 
> I recently upgraded my laptop to Debian testing (from Debian stable +
> the longterm stable 3.0.x kernel). The newer kernel 3.2.x came with a
> regression that git bisect has traced down to one of your commits in
> the early 3.1.x kernel development stage (git bisect output and git
> bisect log attached).
> 
> Under kernel 3.0.x HDMI sound works out-of-the-box as tested with
> pulse audio (choosing the option Digital
> Stereo (HDMI) Output) and by the command:
> 
> $ aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav
> 
> Alsa's device list reveals:
> 
> $ aplay -l
> **** List of PLAYBACK Hardware Devices ****
> card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog]
>   Subdevices: 0/1
>   Subdevice #0: subdevice #0
> card 0: Intel [HDA Intel], device 3: HDMI 0 [HDMI 0]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> 
> Unfortunately with kernel 3.2.x and 3.1.x I get no sound out choosing the same
> configuration in pulseaudio. Device is advertised correctly but
> there's a bizarre multiplicity advertised:
> 
> $ aplay -l
> **** 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
> card 0: Intel [HDA Intel], device 7: HDMI 1 [HDMI 1]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> card 0: Intel [HDA Intel], device 8: HDMI 2 [HDMI 2]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> 
> Using aplay with device 3 says device is busy. Device 7 works
> correctly (but is not available in pulseaudio unless forced by
> default, which then renders internal speakers disabled) and device 8
> produces no sound out.
> 
> This appears to be a regression in the kernel about this device,
> advertising non-physically connected HDMI sound devices that cause
> pulse audio to get
> confused (Pulseaudio only seems to be able to handle one HDMI output
> by default device 0,3).

The biggest problem is that PA checks only the first HDMI device.
In that sense, this is no regression in the kernel side, although I
know it's annoying.

If the new two pins can be never used, i.e. physically unreachable,
we may disable these pins by giving the proper default pin-config
values.  Usually it's a job of BIOS.  But if BIOS doesn't do it, user
need to do it manually.

Build your kernel with CONFIG_SND_HDA_HWDEP=y,
CONFIG_SND_HDA_RECONFIG=y, CONFIG_SND_HDA_PATCH_LOADER=y.
I guess most of distro kernels are built with them.
Then create a file containing below in /lib/firmware, such as,
/lib/firmware/ibx-hdmi:

================================================================
[codec]
0x80862804 0x80860101 3
[pincfg]
0x04 0x411111f0
0x06 0x411111f0
================================================================

Now pass this file to "patch" module option for snd-hda-intel.
For example, create a file in /etc/modprobe.d/,
e.g. /etc/modprobe.d/50-hdmi.conf, containing the line

options snd-hda-intel patch="ibx-hdmi"

Then reload the driver or reboot.  This will disable pins 0x04 and
0x06 so that only the pin 0x05 will be used.


Takashi

> 
> Output of the alsa-info script for kernel 3.0.20 and 3.2.4 is attached.
> 
> Can you please advice how to fix this problem? I see there was a patch
> about the same time meant to address the multiplicity of port
> advertised and restrict to the ones being used, but this doesn't seem
> to be working here (see
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commit;h=0b6c49b59fb272c1a20f79202693ed1072e9548c)
> 
> For reference, this is the original Debian bug report:
> http://bugs.debian.org/660111
> 
> Best Regards,
> 
> Andres Cimmarusti
> [2 git_bisect_1st_bad.txt <text/plain; US-ASCII (base64)>]
> 384a48d71520ca569a63f1e61e51a538bedb16df is the first bad commit
> commit 384a48d71520ca569a63f1e61e51a538bedb16df
> Author: Stephen Warren <swarren@nvidia.com>
> Date:   Wed Jun 1 11:14:21 2011 -0600
> 
>     ALSA: hda: HDMI: Support codecs with fewer cvts than pins
>     
>     The general concept of this change is to create a PCM device for each
>     pin widget instead of each converter widget. Whenever a PCM is opened,
>     a converter is dynamically selected to drive that pin based on those
>     available for muxing into the pin.
>     
>     The one thing this model doesn't support is a single PCM/converter
>     sending audio to multiple pin widgets at once.
>     
>     Note that this means that a struct hda_pcm_stream's nid variable is
>     set to 0 except between a stream's open and cleanup calls. The dynamic
>     de-assignment of converters to PCMs occurs within cleanup, not close,
>     in order for it to co-incide with when controller stream IDs are
>     cleaned up from converters.
>     
>     While the PCM for a pin is not open, the pin is disabled (its widget
>     control's PIN_OUT bit is cleared) so that if the currently routed
>     converter is used to drive a different PCM/pin, that audio does not
>     leak out over a disabled pin.
>     
>     We use the recently added SPDIF virtualization feature in order to
>     create SPDIF controls for each pin widget instead of each converter
>     widget, so that state is specific to a PCM.
>     
>     In order to support this, a number of more mechanical changes are made:
>     
>     * s/nid/pin_nid/ or s/nid/cvt_nid/ in many places in order to make it
>       clear exactly what the code is dealing with.
>     
>     * We now have per_pin and per_cvt arrays in hdmi_spec to store relevant
>       data. In particular, we store a converter's capabilities in the per_cvt
>       entry, rather than relying on a combination of codec_pcm_pars and
>       the struct hda_pcm_stream.
>     
>     * ELD-related workarounds were removed from hdmi_channel_allocation
>       into hdmi_instrinsic in order to simplifiy infoframe calculations and
>       remove HW dependencies.
>     
>     * Various functions only apply to a single pin, since there is now
>       only 1 pin per PCM. For example, hdmi_setup_infoframe,
>       hdmi_setup_stream.
>     
>     * hdmi_add_pin and hdmi_add_cvt are more oriented at pure codec parsing
>       and data retrieval, rather than determining which pins/converters
>       are to be used for creating PCMs.
>     
>     This is quite a large change; it may be appropriate to simply read the
>     result of the patch rather than the diffs. Some small parts of the change
>     might be separable into different patches, but I think the bulk of the
>     change will probably always be one large patch. Hopefully the change
>     isn't too opaque!
>     
>     This has been tested on:
>     
>     * NVIDIA GeForce 400 series discrete graphics card. This model has the
>       classical 1:1:1 codec:converter:pcm widget model. Tested stereo PCM
>       audio to a PC monitor that supports audio.
>     
>     * NVIDIA GeForce 520 discrete graphics card. This model is the new
>       1 codec n converters m pins m>n model. Tested stereo PCM audio to a
>       PC monitor that supports audio.
>     
>     * NVIDIA GeForce 400 series laptop graphics chip. This model has the
>       classical 1:1:1 codec:converter:pcm widget model. Tested stereo PCM,
>       multi-channel PCM, and AC3 pass-through to an AV receiver.
>     
>     * Intel Ibex Peak laptop. This model is the new 1 codec n converters m
>       pins m>n model. Tested stereo PCM, multi-channel PCM, and AC3 pass-
>       through to an AV receiver.
>     
>     Note that I'm not familiar at all with AC3 pass-through. Hence, I may
>     not have covered all possible mechanisms that are applicable here. I do
>     know that my receiver definitely received AC3, not decoded PCM. I tested
>     with mplayer's "-afm hwac3" and/or "-af lavcac3enc" options, and alsa a
>     WAV file that I believe has AC3 content rather than PCM.
>     
>     I also tested:
>     * Play a stream
>     * Mute while playing
>     * Stop stream
>     * Play some other streams to re-assign the converter to a different
>       pin, PCM, set of SPDIF controls, ... hence hopefully triggering
>       cleanup for the original PCM.
>     * Unmute original stream while not playing
>     * Play a stream on the original pin/PCM.
>     
>     This was to test SPDIF control virtualization.
>     
>     Signed-off-by: Stephen Warren <swarren@nvidia.com>
>     Signed-off-by: Takashi Iwai <tiwai@suse.de>
> 
> :040000 040000 894370c6534b1bf03df9a8a8c7d85c2eeffc7555 98cb8a73a0ed46f034e25bd35002930bc22376ef M	sound
> [3 git_bisect_log.txt <text/plain; US-ASCII (base64)>]
> git bisect log
> git bisect start
> # bad: [76531d4166fb620375ff3c1ac24753265216d579] Merge branch 'topic/hda' into for-linus
> git bisect bad 76531d4166fb620375ff3c1ac24753265216d579
> # good: [7d339ae99758bc21033d4a19bcd4f7b55f96e24e] Merge branch 'topic/misc' into for-linus
> git bisect good 7d339ae99758bc21033d4a19bcd4f7b55f96e24e
> # bad: [39fa84e94a7df64a6ba27669ef98b51994fb6894] ALSA: hda - Simplify EAPD control in patch_realtek.c
> git bisect bad 39fa84e94a7df64a6ba27669ef98b51994fb6894
> # bad: [096a885494f6b89a9962c6faf18e1c6092e7919c] ALSA: hda - Initialize input-path dynamically in patch_via.c
> git bisect bad 096a885494f6b89a9962c6faf18e1c6092e7919c
> # bad: [e06e5a297474c8027beffe10541981845ca0c98b] ALSA: hda - Defer mixer element creation to the right time in patch_via.c
> git bisect bad e06e5a297474c8027beffe10541981845ca0c98b
> # bad: [b4a655e81d4d1d12abc92d29dfb7550e66a08799] ALSA: hda - Judge playback stream from stream id in azx_via_get_position()
> git bisect bad b4a655e81d4d1d12abc92d29dfb7550e66a08799
> # good: [3aaf898025b1f75f30457e00e890c9f7c43567ab] ALSA: hda: Separate generic and non-generic implementations
> git bisect good 3aaf898025b1f75f30457e00e890c9f7c43567ab
> # bad: [384a48d71520ca569a63f1e61e51a538bedb16df] ALSA: hda: HDMI: Support codecs with fewer cvts than pins
> git bisect bad 384a48d71520ca569a63f1e61e51a538bedb16df
> # good: [2def8172c6611f2577260287ebf5dd3b63f7ef55] ALSA: hda: hdmi_eld_update_pcm_info: update a stream in place
> git bisect good 2def8172c6611f2577260287ebf5dd3b63f7ef55
> [4 alsa-info_3.0.20.txt <text/plain; US-ASCII (base64)>]
> !!################################
> !!ALSA Information Script v 0.4.60
> !!################################
> 
> !!Script ran on: Thu Feb 16 05:24:37 UTC 2012
> 
> 
> !!Linux Distribution
> !!------------------
> 
> Debian GNU/Linux wheezy/sid \n \l
> 
> 
> !!DMI Information
> !!---------------
> 
> Manufacturer:      To be filled by O.E.M.
> Product Name:      To be filled by O.E.M.
> Product Version:   AC5G3N-S8_F6
> 
> 
> !!Kernel Information
> !!------------------
> 
> Kernel release:    3.0.20-c2d.1-amd64
> Operating System:  GNU/Linux
> Architecture:      x86_64
> Processor:         unknown
> SMP Enabled:       Yes
> 
> 
> !!ALSA Version
> !!------------
> 
> Driver version:     1.0.24
> Library version:    1.0.24.1
> Utilities version:  1.0.24.2
> 
> 
> !!Loaded ALSA modules
> !!-------------------
> 
> snd_hda_intel
> 
> 
> !!Sound Servers on this system
> !!----------------------------
> 
> Pulseaudio:
>       Installed - Yes (/usr/bin/pulseaudio)
>       Running - Yes
> 
> ESound Daemon:
>       Installed - Yes (/usr/bin/esd)
>       Running - No
> 
> 
> !!Soundcards recognised by ALSA
> !!-----------------------------
> 
>  0 [Intel          ]: HDA-Intel - HDA Intel
>                       HDA Intel at 0xfe500000 irq 46
> 
> 
> !!PCI Soundcards installed in the system
> !!--------------------------------------
> 
> 00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset
> High Definition Audio (rev 06)
> 
> 
> !!Advanced information - PCI Vendor/Device/Subsystem ID's
> !!--------------------------------------------------------
> 
> 00:1b.0 0403: 8086:3b56 (rev 06)
> 	Subsystem: 1458:a950
> 
> 
> !!Modprobe options (Sound related)
> !!--------------------------------
> 
> snd-atiixp-modem: index=-2
> snd-intel8x0m: index=-2
> snd-via82xx-modem: index=-2
> snd-pcsp: index=-2
> snd-usb-audio: index=-2
> 
> 
> !!Loaded sound module options
> !!--------------------------
> 
> !!Module: snd_hda_intel
> 	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
> 	beep_mode : 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 : 0
> 	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
> 
> 
> !!HDA-Intel Codec information
> !!---------------------------
> --startcollapse--
> 
> Codec: Realtek ALC269VB
> Address: 0
> AFG Function Id: 0x1 (unsol 1)
> Vendor Id: 0x10ec0269
> Subsystem Id: 0x1458a950
> 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="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:  [0x50 0x50]
>   Converter: stream=5, 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="Front 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:  [0x50 0x50]
>   Converter: stream=5, 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:  [0x8f 0x8f]
>   Converter: stream=1, 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="Beep Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=4, ofs=0
>   Control: name="Beep Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=4, ofs=0
>   Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
>   Amp-In vals:  [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97]
>   Connection: 5
>      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] [0x00]
>   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:  [0x03 0x03]
>   Pincap 0x00000020: IN
>   Pin Default 0x99a30940: [Fixed] Mic at Int ATAPI
>     Conn = ATAPI, Color = Unknown
>     DefAssociation = 0x4, Sequence = 0x0
>     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: 0x40: OUT
>   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="Rear 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:  [0x02 0x02]
>   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 0x01a11830: [Jack] Mic at Ext Rear
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x3, Sequence = 0x0
>   Pin-ctls: 0x24: IN VREF_80
>   Unsolicited: tag=00, enabled=0
>   Connection: 1
>      0x0d
> Node 0x19 [Pin Complex] wcaps 0x40008b: Stereo Amp-In
>   Control: name="Front 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 0x02a1183f: [Jack] Mic at Ext Front
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x3, Sequence = 0xf
>   Pin-ctls: 0x24: IN VREF_80
>   Unsolicited: tag=00, enabled=0
> Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
>   Control: name="Front Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=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:  [0x00 0x00]
>   Pincap 0x0000003c: IN OUT HP Detect
>   Pin Default 0x02211020: [Jack] HP Out at Ext Front
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x2, Sequence = 0x0
>   Pin-ctls: 0x40: OUT
>   Unsolicited: tag=01, enabled=1
>   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 0x598301f0: [N/A] Line In at Int ATAPI
>     Conn = ATAPI, Color = Unknown
>     DefAssociation = 0xf, Sequence = 0x0
>     Misc = NO_PRESENCE
>   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
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x0000001c: OUT HP Detect
>   Pin Default 0x0121101f: [Jack] HP Out at Ext Rear
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x1, Sequence = 0xf
>   Pin-ctls: 0xc0: OUT HP
>   Unsolicited: tag=04, 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 IbexPeak HDMI
> Address: 3
> AFG Function Id: 0x1 (unsol 0)
> Vendor Id: 0x80862804
> 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 0x6611: 8-Channels Digital
>   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
>   Device: name="HDMI 0", type="HDMI", device=3
>   Converter: stream=8, 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
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
> Node 0x03 [Audio Output] wcaps 0x6611: 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
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
> Node 0x04 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x09000094: OUT Detect HBR HDMI DP
>   Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
>     Conn = Digital, Color = Unknown
>     DefAssociation = 0x1, Sequence = 0x0
>   Pin-ctls: 0x40: OUT
>   Unsolicited: tag=04, enabled=1
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
>   Connection: 2
>      0x02* 0x03
> Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x09000094: OUT Detect HBR HDMI DP
>   Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
>     Conn = Digital, Color = Unknown
>     DefAssociation = 0x1, Sequence = 0x0
>   Pin-ctls: 0x40: OUT
>   Unsolicited: tag=05, enabled=1
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
>   Connection: 2
>      0x02* 0x03
> Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x09000094: OUT Detect HBR HDMI DP
>   Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
>     Conn = Digital, Color = Unknown
>     DefAssociation = 0x1, Sequence = 0x0
>   Pin-ctls: 0x40: OUT
>   Unsolicited: tag=06, enabled=1
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
>   Connection: 2
>      0x02* 0x03
> Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
> --endcollapse--
> 
> [5 alsa-info_3.2.4.txt <text/plain; US-ASCII (base64)>]
> !!################################
> !!ALSA Information Script v 0.4.60
> !!################################
> 
> !!Script ran on: Thu Feb 16 05:29:09 UTC 2012
> 
> 
> !!Linux Distribution
> !!------------------
> 
> Debian GNU/Linux wheezy/sid \n \l
> 
> 
> !!DMI Information
> !!---------------
> 
> Manufacturer:      To be filled by O.E.M.
> Product Name:      To be filled by O.E.M.
> Product Version:   AC5G3N-S8_F6
> 
> 
> !!Kernel Information
> !!------------------
> 
> Kernel release:    3.2.0-1-amd64
> Operating System:  GNU/Linux
> Architecture:      x86_64
> Processor:         unknown
> SMP Enabled:       Yes
> 
> 
> !!ALSA Version
> !!------------
> 
> Driver version:     1.0.24
> Library version:    1.0.24.1
> Utilities version:  1.0.24.2
> 
> 
> !!Loaded ALSA modules
> !!-------------------
> 
> snd_hda_intel
> 
> 
> !!Sound Servers on this system
> !!----------------------------
> 
> Pulseaudio:
>       Installed - Yes (/usr/bin/pulseaudio)
>       Running - Yes
> 
> ESound Daemon:
>       Installed - Yes (/usr/bin/esd)
>       Running - No
> 
> 
> !!Soundcards recognised by ALSA
> !!-----------------------------
> 
>  0 [Intel          ]: HDA-Intel - HDA Intel
>                       HDA Intel at 0xfe500000 irq 46
> 
> 
> !!PCI Soundcards installed in the system
> !!--------------------------------------
> 
> 00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset
> High Definition Audio (rev 06)
> 
> 
> !!Advanced information - PCI Vendor/Device/Subsystem ID's
> !!--------------------------------------------------------
> 
> 00:1b.0 0403: 8086:3b56 (rev 06)
> 	Subsystem: 1458:a950
> 
> 
> !!Modprobe options (Sound related)
> !!--------------------------------
> 
> snd-atiixp-modem: index=-2
> snd-intel8x0m: index=-2
> snd-via82xx-modem: index=-2
> snd-pcsp: index=-2
> snd-usb-audio: index=-2
> 
> 
> !!Loaded sound module options
> !!--------------------------
> 
> !!Module: snd_hda_intel
> 	align_buffer_size : Y
> 	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
> 	beep_mode : 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 : 0
> 	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: 0x1458a950
> 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="PCM 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:  [0x50 0x50]
>   Converter: stream=8, 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="Headphone 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:  [0x50 0x50]
>   Converter: stream=8, 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:  [0x8f 0x8f]
>   Converter: stream=4, 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="Rear Mic Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=0, ofs=0
>   Control: name="Rear Mic Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=0, ofs=0
>   Control: name="Front Mic Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=1, ofs=0
>   Control: name="Front Mic Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=1, ofs=0
>   Control: name="Beep Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=4, ofs=0
>   Control: name="Beep Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=4, ofs=0
>   Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
>   Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x97 0x97]
>   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:  [0x03 0x03]
>   Pincap 0x00000020: IN
>   Pin Default 0x99a30940: [Fixed] Mic at Int ATAPI
>     Conn = ATAPI, Color = Unknown
>     DefAssociation = 0x4, Sequence = 0x0
>     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: 0x40: OUT
>   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="Rear 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:  [0x02 0x02]
>   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 0x01a11830: [Jack] Mic at Ext Rear
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x3, Sequence = 0x0
>   Pin-ctls: 0x24: IN VREF_80
>   Unsolicited: tag=00, enabled=0
>   Connection: 1
>      0x0d
> Node 0x19 [Pin Complex] wcaps 0x40008b: Stereo Amp-In
>   Control: name="Front 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 0x02a1183f: [Jack] Mic at Ext Front
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x3, Sequence = 0xf
>   Pin-ctls: 0x24: IN VREF_80
>   Unsolicited: tag=00, enabled=0
> Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
>   Control: name="PCM Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=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:  [0x00 0x00]
>   Pincap 0x0000003c: IN OUT HP Detect
>   Pin Default 0x02211020: [Jack] HP Out at Ext Front
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x2, Sequence = 0x0
>   Pin-ctls: 0x40: OUT
>   Unsolicited: tag=01, enabled=1
>   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 0x598301f0: [N/A] Line In at Int ATAPI
>     Conn = ATAPI, Color = Unknown
>     DefAssociation = 0xf, Sequence = 0x0
>     Misc = NO_PRESENCE
>   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
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x0000001c: OUT HP Detect
>   Pin Default 0x0121101f: [Jack] HP Out at Ext Rear
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x1, Sequence = 0xf
>   Pin-ctls: 0xc0: OUT HP
>   Unsolicited: tag=04, 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 IbexPeak HDMI
> Address: 3
> AFG Function Id: 0x1 (unsol 0)
> Vendor Id: 0x80862804
> 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 0x6611: 8-Channels Digital
>   Converter: stream=0, channel=0
>   Digital: Enabled GenLevel
>   Digital category: 0x2
>   PCM:
>     rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
>     bits [0x1e]: 16 20 24 32
>     formats [0x5]: PCM AC3
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
> Node 0x03 [Audio Output] wcaps 0x6611: 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
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
> Node 0x04 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
>   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 0x09000094: OUT Detect HBR HDMI DP
>   Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
>     Conn = Digital, Color = Unknown
>     DefAssociation = 0x1, Sequence = 0x0
>   Pin-ctls: 0x00:
>   Unsolicited: tag=04, enabled=1
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
>   Connection: 2
>      0x02* 0x03
> Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
>   Control: name="IEC958 Playback Con Mask", index=1, device=0
>   Control: name="IEC958 Playback Pro Mask", index=1, device=0
>   Control: name="IEC958 Playback Default", index=1, device=0
>   Control: name="IEC958 Playback Switch", index=1, device=0
>   Control: name="ELD", index=0, device=7
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x09000094: OUT Detect HBR HDMI DP
>   Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
>     Conn = Digital, Color = Unknown
>     DefAssociation = 0x1, Sequence = 0x0
>   Pin-ctls: 0x00:
>   Unsolicited: tag=05, enabled=1
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
>   Connection: 2
>      0x02* 0x03
> Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
>   Control: name="IEC958 Playback Con Mask", index=2, device=0
>   Control: name="IEC958 Playback Pro Mask", index=2, device=0
>   Control: name="IEC958 Playback Default", index=2, device=0
>   Control: name="IEC958 Playback Switch", index=2, device=0
>   Control: name="ELD", index=0, device=8
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x09000094: OUT Detect HBR HDMI DP
>   Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
>     Conn = Digital, Color = Unknown
>     DefAssociation = 0x1, Sequence = 0x0
>   Pin-ctls: 0x00:
>   Unsolicited: tag=06, enabled=1
>   Power states:  D0 D3
>   Power: setting=D0, actual=D0
>   Connection: 2
>      0x02* 0x03
> Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
> --endcollapse--
> 

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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-22  6:43 Bug#660111: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB Andres Cimmarusti
  2012-02-22  7:44 ` Takashi Iwai
@ 2012-02-22 16:45 ` Stephen Warren
  2012-02-22 21:52   ` Jonathan Nieder
  1 sibling, 1 reply; 12+ messages in thread
From: Stephen Warren @ 2012-02-22 16:45 UTC (permalink / raw)
  To: Andres Cimmarusti, David Henningsson (david.henningsson@canonical.com)
  Cc: tiwai, Jonathan Nieder, alsa-devel, 660111

Andres Cimmarusti wrote at Tuesday, February 21, 2012 11:44 PM:
...
> Unfortunately with kernel 3.2.x and 3.1.x I get no sound out choosing the same
> configuration in pulseaudio. Device is advertised correctly but
> there's a bizarre multiplicity advertised:
> 
> $ aplay -l
> **** 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
> card 0: Intel [HDA Intel], device 7: HDMI 1 [HDMI 1]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> card 0: Intel [HDA Intel], device 8: HDMI 2 [HDMI 2]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> 
> Using aplay with device 3 says device is busy.

pulseaudio probably has that device open, hence aplay can't open it
again. To validate this, run the following:

pasuspender bash

Then, run your aplay within that bash. At least aplay should run now,
even if you still can't hear audio; it's possible you don't (or can't)
have anything hooked up to that audio output

> Device 7 works
> correctly (but is not available in pulseaudio unless forced by
> default, which then renders internal speakers disabled)

There are ways to configure pulseaudio to allow the user to select which
PCM device to use on a given sound card. David Henningsson made this work
for NVIDIA GPUs at least in Ubuntu, and I imagine the same technique
could be applied to Intel devices too.

In the meantime, the WAR that Takashi mentioned in his response sounds
like it'd work very well, albeit it's a bit manual to set up.

> and device 8 produces no sound out.

It's plausible that isn't connected, or is connected to a graphics port
you simply don't have hooked up to a monitor or audio-capable monitor.

As Takashi mentions, from a kernel perspective, this isn't really a
regression at all, but simply exposing all the features of the HW that
were previously hidden. Without that change, others can't use some HW
usefully at all. Unfortunately, pulseaudio makes some rather simplistic
assumptions about how HW works by default, and can be confused by the
additional features that are exposed.

Sorry this caused problems for you.

-- 
nvpublic

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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-22 16:45 ` Stephen Warren
@ 2012-02-22 21:52   ` Jonathan Nieder
  2012-02-23  0:01     ` Bug#660111: " Andres Cimmarusti
  0 siblings, 1 reply; 12+ messages in thread
From: Jonathan Nieder @ 2012-02-22 21:52 UTC (permalink / raw)
  To: Stephen Warren
  Cc: tiwai, Andres Cimmarusti, alsa-devel, 660111,
	David Henningsson (david.henningsson@canonical.com)

Stephen Warren wrote:

> As Takashi mentions, from a kernel perspective, this isn't really a
> regression at all, but simply exposing all the features of the HW that
> were previously hidden. Without that change, others can't use some HW
> usefully at all. Unfortunately, pulseaudio makes some rather simplistic
> assumptions about how HW works by default, and can be confused by the
> additional features that are exposed.

>From a distro perspective, it's a regression that happens to be
bundled with a feature.  Though from a distro perspective working
around this in pulseaudio and making sure even old releases get the
fix might be okay.

I thought that "no regressions" meant that the first sentence and not
the second sentence of the previous paragraph apply from a kernel
perspective.  No?  So I would be happiest if there is some way to
teach the kernel about this quirk until everyone already has had a
fixed pulseaudio for a year or two.

Jonathan

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

* Bug#660111: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-22 21:52   ` Jonathan Nieder
@ 2012-02-23  0:01     ` Andres Cimmarusti
  2012-02-23  0:39       ` Stephen Warren
  2012-02-23  8:30       ` David Henningsson
  0 siblings, 2 replies; 12+ messages in thread
From: Andres Cimmarusti @ 2012-02-23  0:01 UTC (permalink / raw)
  To: Jonathan Nieder
  Cc: Stephen Warren,
	David Henningsson (david.henningsson@canonical.com),
	tiwai, alsa-devel, 660111

First of all, thank you for your feedback. It's been quite helpful / insightful

> The biggest problem is that PA checks only the first HDMI device.
> In that sense, this is no regression in the kernel side, although I
> know it's annoying.

I agree this seems more like a shortcoming of pulseaudio. Else it's my
BIOS' fault, which doesn't surprise me, seeing at this notebook is
manufactured by some "unknown" OEM in Taiwan for other vendors and all
they care is if Windows runs ok on it. In fact, I currently have many
unsupported ACPI keys events because of it.

> If the new two pins can be never used, i.e. physically unreachable,
> we may disable these pins by giving the proper default pin-config
> values.  Usually it's a job of BIOS.  But if BIOS doesn't do it, user
> need to do it manually.
>
> Build your kernel with CONFIG_SND_HDA_HWDEP=y,
> CONFIG_SND_HDA_RECONFIG=y, CONFIG_SND_HDA_PATCH_LOADER=y.
> I guess most of distro kernels are built with them.
> Then create a file containing below in /lib/firmware, such as,
> /lib/firmware/ibx-hdmi:
>
> ================================================================
> [codec]
> 0x80862804 0x80860101 3
> [pincfg]
> 0x04 0x411111f0
> 0x06 0x411111f0
> ================================================================
>
> Now pass this file to "patch" module option for snd-hda-intel.
> For example, create a file in /etc/modprobe.d/,
> e.g. /etc/modprobe.d/50-hdmi.conf, containing the line
>
> options snd-hda-intel patch="ibx-hdmi"
>
> Then reload the driver or reboot.  This will disable pins 0x04 and
> 0x06 so that only the pin 0x05 will be used.

I've tested this workaround and it works well. I don't suppose this
could be added as a quirk to the kernel for this particular device?
(when and only if there's only one physically accessible HDMI
connector).

> There are ways to configure pulseaudio to allow the user to select which
> PCM device to use on a given sound card. David Henningsson made this work
> for NVIDIA GPUs at least in Ubuntu, and I imagine the same technique
> could be applied to Intel devices too.

Mmm.. just in Ubuntu? was this work submitted upstream? It appears
there are some related fixes shown in the Ubuntu pulseaudio changelog:

http://changelogs.ubuntu.com/changelogs/pool/main/p/pulseaudio/pulseaudio_1.1-0ubuntu9/changelog

I found a thread related to this issue here:
http://www.mail-archive.com/pulseaudio-discuss@mail.0pointer.de/msg07433.html
Started by yourself Stephen Warren! but it doesn't seem like it got anywhere...

> As Takashi mentions, from a kernel perspective, this isn't really a
> regression at all, but simply exposing all the features of the HW that
> were previously hidden. Without that change, others can't use some HW
> usefully at all. Unfortunately, pulseaudio makes some rather simplistic
> assumptions about how HW works by default, and can be confused by the
> additional features that are exposed.

Agreed. But in the case of laptops, I don't think I've ever seen one
that actually has more than one physical connector. I'm a little
puzzled as to how all these outputs (in my case 3) make sense for my
hardware...

> I thought that "no regressions" meant that the first sentence and not
> the second sentence of the previous paragraph apply from a kernel
> perspective.  No?  So I would be happiest if there is some way to
> teach the kernel about this quirk until everyone already has had a
> fixed pulseaudio for a year or two.

I agree fixing pulseaudio is ideal, but a kernel quirk can be
backported more easily from a distribution perspective.

Anyways, thank you for your support

Best Regards,

Andres

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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-23  0:01     ` Bug#660111: " Andres Cimmarusti
@ 2012-02-23  0:39       ` Stephen Warren
  2012-02-23  8:30       ` David Henningsson
  1 sibling, 0 replies; 12+ messages in thread
From: Stephen Warren @ 2012-02-23  0:39 UTC (permalink / raw)
  To: Andres Cimmarusti, Jonathan Nieder
  Cc: tiwai, alsa-devel, 660111,
	David Henningsson (david.henningsson@canonical.com)

Andres Cimmarusti wrote at Wednesday, February 22, 2012 5:02 PM:
> First of all, thank you for your feedback. It's been quite helpful / insightful
...
> > There are ways to configure pulseaudio to allow the user to select which
> > PCM device to use on a given sound card. David Henningsson made this work
> > for NVIDIA GPUs at least in Ubuntu, and I imagine the same technique
> > could be applied to Intel devices too.
> 
> Mmm.. just in Ubuntu? was this work submitted upstream? It appears
> there are some related fixes shown in the Ubuntu pulseaudio changelog:

I think the following Ubuntu bug covers the patch:

https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/716371
See the patch in comment #2.

Hopefully David will chime in on upstreaming status etc.

The following might be interesting; at least some of it will apply to
non-NVIDIA graphics cards:

ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html

-- 
nvpublic

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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-22  7:44 ` Takashi Iwai
@ 2012-02-23  6:46   ` David Henningsson
  2012-03-03 23:36     ` Bug#660111: [alsa-devel] " Andres Cimmarusti
  0 siblings, 1 reply; 12+ messages in thread
From: David Henningsson @ 2012-02-23  6:46 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Jonathan Nieder, Andres Cimmarusti, alsa-devel, 660111, swarren

On 02/22/2012 08:44 AM, Takashi Iwai wrote:
> At Wed, 22 Feb 2012 01:43:44 -0500,
> Andres Cimmarusti wrote:
>>
>> [1<text/plain; UTF-8 (7bit)>]
>> Dear Mr. Warren,
>>
>> I recently upgraded my laptop to Debian testing (from Debian stable +
>> the longterm stable 3.0.x kernel). The newer kernel 3.2.x came with a
>> regression that git bisect has traced down to one of your commits in
>> the early 3.1.x kernel development stage (git bisect output and git
>> bisect log attached).
>>
>> Under kernel 3.0.x HDMI sound works out-of-the-box as tested with
>> pulse audio (choosing the option Digital
>> Stereo (HDMI) Output) and by the command:
>>
>> $ aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav
>>
>> Alsa's device list reveals:
>>
>> $ aplay -l
>> **** List of PLAYBACK Hardware Devices ****
>> card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog]
>>    Subdevices: 0/1
>>    Subdevice #0: subdevice #0
>> card 0: Intel [HDA Intel], device 3: HDMI 0 [HDMI 0]
>>    Subdevices: 1/1
>>    Subdevice #0: subdevice #0
>>
>> Unfortunately with kernel 3.2.x and 3.1.x I get no sound out choosing the same
>> configuration in pulseaudio. Device is advertised correctly but
>> there's a bizarre multiplicity advertised:
>>
>> $ aplay -l
>> **** 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
>> card 0: Intel [HDA Intel], device 7: HDMI 1 [HDMI 1]
>>    Subdevices: 1/1
>>    Subdevice #0: subdevice #0
>> card 0: Intel [HDA Intel], device 8: HDMI 2 [HDMI 2]
>>    Subdevices: 1/1
>>    Subdevice #0: subdevice #0
>>
>> Using aplay with device 3 says device is busy. Device 7 works
>> correctly (but is not available in pulseaudio unless forced by
>> default, which then renders internal speakers disabled) and device 8
>> produces no sound out.
>>
>> This appears to be a regression in the kernel about this device,
>> advertising non-physically connected HDMI sound devices that cause
>> pulse audio to get
>> confused (Pulseaudio only seems to be able to handle one HDMI output
>> by default device 0,3).
>
> The biggest problem is that PA checks only the first HDMI device.
> In that sense, this is no regression in the kernel side, although I
> know it's annoying.

There is active work going on in this area. In fact, I just posted a 
patch to the PA mailinglist [1]. And yes, we already have it in Ubuntu 
11.10 (to probe multiple hdmi devices for Intel and NVidia), and the 
main reason it took until now to upstream that patch, was the decision 
to switch jack detection method from input devices to kcontrols.

> If the new two pins can be never used, i.e. physically unreachable,
> we may disable these pins by giving the proper default pin-config
> values.  Usually it's a job of BIOS.  But if BIOS doesn't do it, user
> need to do it manually.
>
> Build your kernel with CONFIG_SND_HDA_HWDEP=y,
> CONFIG_SND_HDA_RECONFIG=y, CONFIG_SND_HDA_PATCH_LOADER=y.
> I guess most of distro kernels are built with them.
> Then create a file containing below in /lib/firmware, such as,
> /lib/firmware/ibx-hdmi:
>
> ================================================================
> [codec]
> 0x80862804 0x80860101 3
> [pincfg]
> 0x04 0x411111f0
> 0x06 0x411111f0
> ================================================================
>
> Now pass this file to "patch" module option for snd-hda-intel.
> For example, create a file in /etc/modprobe.d/,
> e.g. /etc/modprobe.d/50-hdmi.conf, containing the line
>
> options snd-hda-intel patch="ibx-hdmi"
>
> Then reload the driver or reboot.  This will disable pins 0x04 and
> 0x06 so that only the pin 0x05 will be used.

Let me also push for the hda-jack-retask [2] application, which is an 
easy-to-use GUI for creating these types of firmware files. I advertised 
it here a while ago [3] but it seems to have gone unnoticed.

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

[1] 
http://lists.freedesktop.org/archives/pulseaudio-discuss/2012-February/012872.html

[2] 
http://voices.canonical.com/david.henningsson/2011/11/29/turn-your-mic-jack-into-a-headphone-jack/

[3] 
http://mailman.alsa-project.org/pipermail/alsa-devel/2011-December/046778.html

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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-23  0:01     ` Bug#660111: " Andres Cimmarusti
  2012-02-23  0:39       ` Stephen Warren
@ 2012-02-23  8:30       ` David Henningsson
  2012-02-23 16:17         ` Stephen Warren
  1 sibling, 1 reply; 12+ messages in thread
From: David Henningsson @ 2012-02-23  8:30 UTC (permalink / raw)
  To: Andres Cimmarusti
  Cc: Jonathan Nieder, tiwai, alsa-devel, 660111, Stephen Warren

On 02/23/2012 01:01 AM, Andres Cimmarusti wrote:
>> If the new two pins can be never used, i.e. physically unreachable,
>> we may disable these pins by giving the proper default pin-config
>> values.  Usually it's a job of BIOS.  But if BIOS doesn't do it, user
>> need to do it manually.
>>
>> Build your kernel with CONFIG_SND_HDA_HWDEP=y,
>> CONFIG_SND_HDA_RECONFIG=y, CONFIG_SND_HDA_PATCH_LOADER=y.
>> I guess most of distro kernels are built with them.
>> Then create a file containing below in /lib/firmware, such as,
>> /lib/firmware/ibx-hdmi:
>>
>> ================================================================
>> [codec]
>> 0x80862804 0x80860101 3
>> [pincfg]
>> 0x04 0x411111f0
>> 0x06 0x411111f0
>> ================================================================
>>
>> Now pass this file to "patch" module option for snd-hda-intel.
>> For example, create a file in /etc/modprobe.d/,
>> e.g. /etc/modprobe.d/50-hdmi.conf, containing the line
>>
>> options snd-hda-intel patch="ibx-hdmi"
>>
>> Then reload the driver or reboot.  This will disable pins 0x04 and
>> 0x06 so that only the pin 0x05 will be used.
>
> I've tested this workaround and it works well. I don't suppose this
> could be added as a quirk to the kernel for this particular device?
> (when and only if there's only one physically accessible HDMI
> connector).

Stephen, could you comment on this? Are we guaranteed a certain board 
configuration (i e which pins are physically connected or not) given a 
PCI SSID, or anything else that can be used as a key to a quirk table? I 
think I've asked you before and that the answer was "no", but my memory 
could be failing me.

>> There are ways to configure pulseaudio to allow the user to select which
>> PCM device to use on a given sound card. David Henningsson made this work
>> for NVIDIA GPUs at least in Ubuntu, and I imagine the same technique
>> could be applied to Intel devices too.
>
> Mmm.. just in Ubuntu? was this work submitted upstream? It appears
> there are some related fixes shown in the Ubuntu pulseaudio changelog:
>
> http://changelogs.ubuntu.com/changelogs/pool/main/p/pulseaudio/pulseaudio_1.1-0ubuntu9/changelog
>
> I found a thread related to this issue here:
> http://www.mail-archive.com/pulseaudio-discuss@mail.0pointer.de/msg07433.html
> Started by yourself Stephen Warren! but it doesn't seem like it got anywhere...
>
>> As Takashi mentions, from a kernel perspective, this isn't really a
>> regression at all, but simply exposing all the features of the HW that
>> were previously hidden. Without that change, others can't use some HW
>> usefully at all. Unfortunately, pulseaudio makes some rather simplistic
>> assumptions about how HW works by default, and can be confused by the
>> additional features that are exposed.
>
> Agreed. But in the case of laptops, I don't think I've ever seen one
> that actually has more than one physical connector. I'm a little
> puzzled as to how all these outputs (in my case 3) make sense for my
> hardware...

Even if there is only one HDMI output, it's it not that uncommon, 
actually. Many DVI outputs can output HDMI audio as well (when connected 
through an HDMI monitor through DVI->HDMI adapter), and DisplayPort also 
has audio support.

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

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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-23  8:30       ` David Henningsson
@ 2012-02-23 16:17         ` Stephen Warren
  0 siblings, 0 replies; 12+ messages in thread
From: Stephen Warren @ 2012-02-23 16:17 UTC (permalink / raw)
  To: David Henningsson, Andres Cimmarusti
  Cc: Jonathan Nieder, tiwai, alsa-devel, 660111

David Henningsson wrote at Thursday, February 23, 2012 1:31 AM:
> On 02/23/2012 01:01 AM, Andres Cimmarusti wrote:
> >> If the new two pins can be never used, i.e. physically unreachable,
> >> we may disable these pins by giving the proper default pin-config
> >> values.  Usually it's a job of BIOS.  But if BIOS doesn't do it, user
> >> need to do it manually.
> >>
> >> Build your kernel with CONFIG_SND_HDA_HWDEP=y,
> >> CONFIG_SND_HDA_RECONFIG=y, CONFIG_SND_HDA_PATCH_LOADER=y.
> >> I guess most of distro kernels are built with them.
> >> Then create a file containing below in /lib/firmware, such as,
> >> /lib/firmware/ibx-hdmi:
> >>
> >> ================================================================
> >> [codec]
> >> 0x80862804 0x80860101 3
> >> [pincfg]
> >> 0x04 0x411111f0
> >> 0x06 0x411111f0
> >> ================================================================
> >>
> >> Now pass this file to "patch" module option for snd-hda-intel.
> >> For example, create a file in /etc/modprobe.d/,
> >> e.g. /etc/modprobe.d/50-hdmi.conf, containing the line
> >>
> >> options snd-hda-intel patch="ibx-hdmi"
> >>
> >> Then reload the driver or reboot.  This will disable pins 0x04 and
> >> 0x06 so that only the pin 0x05 will be used.
> >
> > I've tested this workaround and it works well. I don't suppose this
> > could be added as a quirk to the kernel for this particular device?
> > (when and only if there's only one physically accessible HDMI
> > connector).
> 
> Stephen, could you comment on this? Are we guaranteed a certain board
> configuration (i e which pins are physically connected or not) given a
> PCI SSID, or anything else that can be used as a key to a quirk table? I
> think I've asked you before and that the answer was "no", but my memory
> could be failing me.

Any quirks would definitely have to include the PCI subsystem vendor ID
and subsystem device ID to stand any chance of working; the main dev and
vendor IDs certainly aren't enough.

For NVIDIA GPUs, my expectation is that matching on all 4 IDs would often
provide a unique key that determines which quirks to apply. However, the
subsystem IDs are assigned by OEMs, and I have no idea whether they re-
use the same IDs for different boards sometimes (I believe they shouldn't,
but that doesn't necessarily mean anything). I assume the situation is
identical for Intel graphics chips, but I can't really comment there at
all!

In summary: Our GPUs have a bunch of output port pins, and it's up to the
individual board design which of those to use for which ports. There
should be a 1:1 mapping between the 4-part PCI ID and the set of ports
used and what for, but there's no way to guarantee that's true across all
boards.

Finally, if we did start quirking this, a complete table would end up
being potentially enormous; an entry for every graphics board or mother-
board with integrated graphics ever made...

-- 
nvpublic

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

* Bug#660111: [alsa-devel] multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-02-23  6:46   ` David Henningsson
@ 2012-03-03 23:36     ` Andres Cimmarusti
  2012-03-04  2:43       ` David Henningsson
  0 siblings, 1 reply; 12+ messages in thread
From: Andres Cimmarusti @ 2012-03-03 23:36 UTC (permalink / raw)
  To: David Henningsson
  Cc: Takashi Iwai, Jonathan Nieder, alsa-devel, 660111, swarren

> There is active work going on in this area. In fact, I just posted a patch
> to the PA mailinglist [1]. And yes, we already have it in Ubuntu 11.10 (to
> probe multiple hdmi devices for Intel and NVidia), and the main reason it
> took until now to upstream that patch, was the decision to switch jack
> detection method from input devices to kcontrols.

Thank you for all the references you provided and your work in fixing
this issue for all users. I just looked at the git repository for the
source code of pulseaudio, but I see your patches have not been
included yet. Do you have any estimate of when they will be merged? if
so, do you think they'll be included in the next release (do you know
when this will be?) ?

I'm considering reassigning this bug to pulseaudio in debian and
asking them to include the appropriate patches. Which ones would
actually be needed (say, to apply them to pulseaudio 1.1)? would your
6 patches announced on the mailing list in February be enough?

>> If the new two pins can be never used, i.e. physically unreachable,
>> we may disable these pins by giving the proper default pin-config
>> values.  Usually it's a job of BIOS.  But if BIOS doesn't do it, user
>> need to do it manually.
>>
>> Build your kernel with CONFIG_SND_HDA_HWDEP=y,
>> CONFIG_SND_HDA_RECONFIG=y, CONFIG_SND_HDA_PATCH_LOADER=y.
>> I guess most of distro kernels are built with them.
>> Then create a file containing below in /lib/firmware, such as,
>> /lib/firmware/ibx-hdmi:
>>
>> ================================================================
>> [codec]
>> 0x80862804 0x80860101 3
>> [pincfg]
>> 0x04 0x411111f0
>> 0x06 0x411111f0
>> ================================================================
>>
>> Now pass this file to "patch" module option for snd-hda-intel.
>> For example, create a file in /etc/modprobe.d/,
>> e.g. /etc/modprobe.d/50-hdmi.conf, containing the line
>>
>> options snd-hda-intel patch="ibx-hdmi"
>>
>> Then reload the driver or reboot.  This will disable pins 0x04 and
>> 0x06 so that only the pin 0x05 will be used.
>
> Let me also push for the hda-jack-retask [2] application, which is an
> easy-to-use GUI for creating these types of firmware files. I advertised it
> here a while ago [3] but it seems to have gone unnoticed.

This sounds like a good tool for making this happen. I will submit a
Request For Package in Debian... but this can take time. Would you
consider packaging it there? then it would easily flow into Ubuntu.

I've encountered other hardware with the same issue recently. It's an
NVIDIA card HDA MCP89 on a Macbook Pro 7,1. Is there a method I can
follow for crafting my own "patches"? I'm afraid I don't understand
how to find the appropriate HEX values that need to go in the [codec]
and [pincfg] section.

Thanks all for your help.

Cheers,

Andres

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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-03-03 23:36     ` Bug#660111: [alsa-devel] " Andres Cimmarusti
@ 2012-03-04  2:43       ` David Henningsson
  2012-03-05 14:39         ` Takashi Iwai
  0 siblings, 1 reply; 12+ messages in thread
From: David Henningsson @ 2012-03-04  2:43 UTC (permalink / raw)
  To: Andres Cimmarusti
  Cc: Takashi Iwai, Jonathan Nieder, alsa-devel, 660111, swarren

On 03/04/2012 12:36 AM, Andres Cimmarusti wrote:
>> There is active work going on in this area. In fact, I just posted a patch
>> to the PA mailinglist [1]. And yes, we already have it in Ubuntu 11.10 (to
>> probe multiple hdmi devices for Intel and NVidia), and the main reason it
>> took until now to upstream that patch, was the decision to switch jack
>> detection method from input devices to kcontrols.
>
> Thank you for all the references you provided and your work in fixing
> this issue for all users. I just looked at the git repository for the
> source code of pulseaudio, but I see your patches have not been
> included yet. Do you have any estimate of when they will be merged? if
> so, do you think they'll be included in the next release (do you know
> when this will be?) ?

I hope they'll be in PulseAudio 2.0, as they are currently waiting for 
review. For next release, see [2], but judging from the PulseAudio 1.0 
release process - no, I don't know when this will be ;-)

> I'm considering reassigning this bug to pulseaudio in debian and
> asking them to include the appropriate patches. Which ones would
> actually be needed (say, to apply them to pulseaudio 1.1)? would your
> 6 patches announced on the mailing list in February be enough?

If you want them to apply to PulseAudio 1.1, you can have a look at [1]. 
The patches currently posted apply to git head. You'll need all of the 
06* patches (as well as Linux 3.3 for the kcontrols).

A more light-weight version could be what I did in Ubuntu 11.04, where 
there was no jack detection, but I just exposed all four devices in 
PulseAudio and let the user choose manually, like this [4]. (I later 
renamed that file from "nvidia.conf" to "extra-hdmi.conf", and added the 
same file to be used for Intel chips.)

>> Let me also push for the hda-jack-retask [2] application, which is an
>> easy-to-use GUI for creating these types of firmware files. I advertised it
>> here a while ago [3] but it seems to have gone unnoticed.
>
> This sounds like a good tool for making this happen. I will submit a
> Request For Package in Debian... but this can take time. Would you
> consider packaging it there? then it would easily flow into Ubuntu.

Certainly, if there is interest from the Debian side to have it.

I would also not mind if it became a part of upstream ALSA, I think it 
would make a nice addition to the hda-analyzer, hda-verb etc tool set.

> I've encountered other hardware with the same issue recently. It's an
> NVIDIA card HDA MCP89 on a Macbook Pro 7,1. Is there a method I can
> follow for crafting my own "patches"? I'm afraid I don't understand
> how to find the appropriate HEX values that need to go in the [codec]
> and [pincfg] section.

I think the easiest way is just to download the hda-jack-retask 
application and build it yourself. Otherwise, [3].

> Thanks all for your help.

You're welcome.

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

[1] 
http://bazaar.launchpad.net/~ubuntu-audio-dev/pulseaudio/ubuntu.precise/files/head:/debian/patches/

[2] http://pulseaudio.org/wiki/ReleasePlanning

[3] http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt

[4] 
http://bazaar.launchpad.net/~ubuntu-audio-dev/pulseaudio/ubuntu.natty/view/head:/debian/patches/0001-alsa-mixer-Add-separate-profile-for-Nvidia.patch

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

* Re: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB
  2012-03-04  2:43       ` David Henningsson
@ 2012-03-05 14:39         ` Takashi Iwai
  0 siblings, 0 replies; 12+ messages in thread
From: Takashi Iwai @ 2012-03-05 14:39 UTC (permalink / raw)
  To: David Henningsson
  Cc: Jonathan Nieder, Andres Cimmarusti, alsa-devel, 660111, swarren

At Sun, 04 Mar 2012 03:43:20 +0100,
David Henningsson wrote:
> 
> >> Let me also push for the hda-jack-retask [2] application, which is an
> >> easy-to-use GUI for creating these types of firmware files. I advertised it
> >> here a while ago [3] but it seems to have gone unnoticed.
> >
> > This sounds like a good tool for making this happen. I will submit a
> > Request For Package in Debian... but this can take time. Would you
> > consider packaging it there? then it would easily flow into Ubuntu.
> 
> Certainly, if there is interest from the Debian side to have it.
> 
> I would also not mind if it became a part of upstream ALSA, I think it 
> would make a nice addition to the hda-analyzer, hda-verb etc tool set.

It could be indeed helpful to merge it to alsa-tools package.  Feel
free to submit the patches or a git pull request.

hda-analyzer is currently in alsa.git, not in alsa-tools.git, by some
reason.  I guess it'd be no big problem to move it to alsa-tools if
Jaroslav doesn't mind.

hda-verb can be certainly to be merged to alsa-tools.  I'll add it
later.

OTOH, hda-emu doesn't fit to alsa-tools.  It's a no program to be
provided in a pre-compiled form such as a distro package.


thanks,

Takashi

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

end of thread, other threads:[~2012-03-05 14:39 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-22  6:43 Bug#660111: multiple, non-physically accesible, HDMI devices listed for Intel IbexPeak ALC269VB Andres Cimmarusti
2012-02-22  7:44 ` Takashi Iwai
2012-02-23  6:46   ` David Henningsson
2012-03-03 23:36     ` Bug#660111: [alsa-devel] " Andres Cimmarusti
2012-03-04  2:43       ` David Henningsson
2012-03-05 14:39         ` Takashi Iwai
2012-02-22 16:45 ` Stephen Warren
2012-02-22 21:52   ` Jonathan Nieder
2012-02-23  0:01     ` Bug#660111: " Andres Cimmarusti
2012-02-23  0:39       ` Stephen Warren
2012-02-23  8:30       ` David Henningsson
2012-02-23 16:17         ` Stephen Warren

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.