All of lore.kernel.org
 help / color / mirror / Atom feed
* HDA regression on Fujitsu S7020 laptop (ALC260 codec)
@ 2012-12-28 13:52 Jonathan Woithe
  2013-01-03 10:39 ` Takashi Iwai
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2012-12-28 13:52 UTC (permalink / raw)
  To: alsa-devel; +Cc: jwoithe

Having been running kernel 3.3.5 for a while, I decided to upgrade to 3.7.1
tonight.  Unfortunately there have been a number of HDA-related regressions
between these two kernels when running on a Fujitsu S7020 laptop which are
clearly related to the HDA rewrite which has been going on recently.  This
laptop utilises the Realtek ALC260 codec.

Testing was initially done with alsa-lib 1.0.24 and alsa-utils 1.0.24.  I
upgraded to version 1.0.26 of both but the behaviour remained the same under
3.3.5 and 3.7.1.

Under 3.3.5, sound works perfectly.

Under 3.7.1 there are a number of regressions:

 - there is no alsamixer control for the internal speaker.  I have a "PCM"
   volume control which appears to do nothing.  Previously there was a
   speaker control, the PCM control affected every output (from memory), as
   did the master volume.

 - no audio comes out of the internal speaker regardless of the "auto mute"
   setting.

 - there are no pin mode (re-tasking) controls for the mic or headphone jack
   in alsamixer.  On this laptop the mic jack should have various bias
   options as well as line-in.  The headphone jack should include headphone
   (aka output amplifier on), line-out (output amplifier off), line-in and
   mic options.

The second ADC does show up in alsamixer as a second capture device, but
probably due to the lack of retasking support it is not possible to select
the headphone jack as an input option.

Audio does come out of the headphone jack.  However, as noted above it is
not possible to switch this from headphone to line-out.  The volume of the
headphone output is affected by the "master" and "headphone" volume
controls.

The inability to set the pin modes is a showstopper for me - I need to be
able to do this and thus will be stuck on older kernels until this is fixed.

At the end of this post I have included the /proc/asound/card0/codec#0
output under 3.3.5 (which works well) and 3.7.1 (which is broken as
described above).

What needs to be done to restore the functionality for the S7020 that has
been working for years?  It seems that some form of model quirk needs to be
ported into the new HDA framework from earlier kernels, but since this sort
of thing appears to have been removed with the rewrite (at least for realtek
codecs) it's difficult to see where to begin.

Regards
  jonathan

Output from /proc/asound/card0/codec#0 under kernel 3.3.5:

Codec: Realtek ALC260
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0260
Subsystem Id: 0x10cf0000
Revision Id: 0x100400
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=4, 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
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12* 0x13 0x14 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=1, device=0
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Device: name="ALC260 Analog", type="Audio", device=2
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12* 0x13 0x14 0x15 0x16 0x07 0x0f 0x10
Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x19
Node 0x07 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Mic/Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic/Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x03 0x03] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 8
     0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 2
     0x02 0x07
Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80] [0x80]
  Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
  Amp-Out vals:  [0x00]
  Connection: 2
     0x02 0x07
Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x08
Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0xe4011110: [Both] Line Out at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
Node 0x11 [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
     0x0a
Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Mic/Line Jack Mode", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x03a11820: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0b
Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x24811121: [Jack] Line In at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Jack Mode", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x00000020: IN
  Pin Default 0x88331122: [Fixed] CD at Ext Drive Bar
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x2
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x17 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0xb7931123: [Fixed] Aux at Oth Mobile-In
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x3
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x03
Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
Node 0x1a [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=13
Node 0x1b [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=0, steps=64, direct=0, val=0
  Unsolicited: tag=00, enabled=0
  Connection: 0


Output from /proc/asound/card0/codec#0 under kernel 3.7.1:

Codec: Realtek ALC260
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0260
Subsystem Id: 0x10cf0000
Revision Id: 0x100400
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=4, 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
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12* 0x13 0x14 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=1, device=0
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Device: name="ALC260 Analog", type="Audio", device=2
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12* 0x13 0x14 0x15 0x16 0x07 0x0f 0x10
Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x19
Node 0x07 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x03 0x03] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 8
     0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="PCM Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x33 0x33]
  Connection: 2
     0x02 0x07
Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00] [0x80]
  Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
  Amp-Out vals:  [0x23]
  Connection: 2
     0x02 0x07
Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  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: 1
     0x08
Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="PCM Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0xe4011110: [Both] Line Out at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
Node 0x11 [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: 0x40: OUT
  Connection: 1
     0x0a
Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Mic Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x03a11820: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x21: IN VREF_50
  Unsolicited: tag=03, enabled=1
  Connection: 1
     0x0b
Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Line Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x24811121: [Jack] Line In at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP VREF_HIZ
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  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 VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
  Control: name="CD Phantom Jack", index=0, device=0
  Pincap 0x00000020: IN
  Pin Default 0x88331122: [Fixed] CD at Ext Drive Bar
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x2
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x17 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0xb7931123: [Fixed] Aux at Oth Mobile-In
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x3
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x03
Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
Node 0x1a [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=13
Node 0x1b [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=0, steps=64, direct=0, val=0
  Unsolicited: tag=00, enabled=0
  Connection: 0

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2012-12-28 13:52 HDA regression on Fujitsu S7020 laptop (ALC260 codec) Jonathan Woithe
@ 2013-01-03 10:39 ` Takashi Iwai
  2013-01-03 12:27   ` Jonathan Woithe
                     ` (3 more replies)
  0 siblings, 4 replies; 48+ messages in thread
From: Takashi Iwai @ 2013-01-03 10:39 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: alsa-devel

At Sat, 29 Dec 2012 00:22:07 +1030,
Jonathan Woithe wrote:
> 
> Having been running kernel 3.3.5 for a while, I decided to upgrade to 3.7.1
> tonight.  Unfortunately there have been a number of HDA-related regressions
> between these two kernels when running on a Fujitsu S7020 laptop which are
> clearly related to the HDA rewrite which has been going on recently.  This
> laptop utilises the Realtek ALC260 codec.
> 
> Testing was initially done with alsa-lib 1.0.24 and alsa-utils 1.0.24.  I
> upgraded to version 1.0.26 of both but the behaviour remained the same under
> 3.3.5 and 3.7.1.
> 
> Under 3.3.5, sound works perfectly.
> 
> Under 3.7.1 there are a number of regressions:
> 
>  - there is no alsamixer control for the internal speaker.  I have a "PCM"
>    volume control which appears to do nothing.  Previously there was a
>    speaker control, the PCM control affected every output (from memory), as
>    did the master volume.
> 
>  - no audio comes out of the internal speaker regardless of the "auto mute"
>    setting.
> 
>  - there are no pin mode (re-tasking) controls for the mic or headphone jack
>    in alsamixer.  On this laptop the mic jack should have various bias
>    options as well as line-in.  The headphone jack should include headphone
>    (aka output amplifier on), line-out (output amplifier off), line-in and
>    mic options.
> 
> The second ADC does show up in alsamixer as a second capture device, but
> probably due to the lack of retasking support it is not possible to select
> the headphone jack as an input option.

The jack retasking of the headphone input is still an open issue.
I can provide a patch to add the support via "Headphone Jack Mode"
enum, but David didn't like that approach.

> Audio does come out of the headphone jack.  However, as noted above it is
> not possible to switch this from headphone to line-out.  The volume of the
> headphone output is affected by the "master" and "headphone" volume
> controls.

OK, this should be added similarly via "Headphone Jack Mode" enum.

> The inability to set the pin modes is a showstopper for me - I need to be
> able to do this and thus will be stuck on older kernels until this is fixed.
> 
> At the end of this post I have included the /proc/asound/card0/codec#0
> output under 3.3.5 (which works well) and 3.7.1 (which is broken as
> described above).
> 
> What needs to be done to restore the functionality for the S7020 that has
> been working for years?  It seems that some form of model quirk needs to be
> ported into the new HDA framework from earlier kernels, but since this sort
> of thing appears to have been removed with the rewrite (at least for realtek
> codecs) it's difficult to see where to begin.

At best, please give alsa-info.sh outputs on both old and new kernels.

We won't add any longer too much machine-specific code.  In the long
run, (most of) all codec drivers will be merged to a single driver.
So, let's fix the easier one, the auto-mute breakage at first, and
proceed to add the missing mixer enums for introducing the finer jack
retasking.


thanks,

Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-03 10:39 ` Takashi Iwai
@ 2013-01-03 12:27   ` Jonathan Woithe
  2013-01-03 12:31   ` Jonathan Woithe
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-03 12:27 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, jwoithe

On Thu, Jan 03, 2013 at 11:39:33AM +0100, Takashi Iwai wrote:
> At Sat, 29 Dec 2012 00:22:07 +1030,
> Jonathan Woithe wrote:
> > 
> > Having been running kernel 3.3.5 for a while, I decided to upgrade to 3.7.1
> > tonight.  Unfortunately there have been a number of HDA-related regressions
> > between these two kernels when running on a Fujitsu S7020 laptop which are
> > clearly related to the HDA rewrite which has been going on recently.  This
> > laptop utilises the Realtek ALC260 codec.
> > 
> > Testing was initially done with alsa-lib 1.0.24 and alsa-utils 1.0.24.  I
> > upgraded to version 1.0.26 of both but the behaviour remained the same under
> > 3.3.5 and 3.7.1.
> > 
> > Under 3.3.5, sound works perfectly.
> > 
> > Under 3.7.1 there are a number of regressions:
> > 
> >  - there is no alsamixer control for the internal speaker.  I have a "PCM"
> >    volume control which appears to do nothing.  Previously there was a
> >    speaker control, the PCM control affected every output (from memory), as
> >    did the master volume.
> > 
> >  - no audio comes out of the internal speaker regardless of the "auto mute"
> >    setting.
> > 
> >  - there are no pin mode (re-tasking) controls for the mic or headphone jack
> >    in alsamixer.  On this laptop the mic jack should have various bias
> >    options as well as line-in.  The headphone jack should include headphone
> >    (aka output amplifier on), line-out (output amplifier off), line-in and
> >    mic options.
> > 
> > The second ADC does show up in alsamixer as a second capture device, but
> > probably due to the lack of retasking support it is not possible to select
> > the headphone jack as an input option.
> 
> The jack retasking of the headphone input is still an open issue.
> I can provide a patch to add the support via "Headphone Jack Mode"
> enum, but David didn't like that approach.

What alternative has been proposed?  On this laptop the headphone jack can
be retasked as an input and there doesn't appear too many other options
other than to expose this to the user via a mode control of some kind. 
Similarly, the mode of the "line in" jack can also be changed between
various "mic" modes with different biases and - most importantly for me - a
line in mode.  JFTR I also recall that on other laptops the "line in" jack
could be set to function as an output (this doesn't work on the S7020 due to
the circuit used for that jack).

> > Audio does come out of the headphone jack.  However, as noted above it is
> > not possible to switch this from headphone to line-out.  The volume of the
> > headphone output is affected by the "master" and "headphone" volume
> > controls.
> 
> OK, this should be added similarly via "Headphone Jack Mode" enum.

Agreed.  But if a "Headphone Jack Mode" enum is not the preferred option,
how else can we make this happen?

> > The inability to set the pin modes is a showstopper for me - I need to be
> > able to do this and thus will be stuck on older kernels until this is fixed.
> > 
> > At the end of this post I have included the /proc/asound/card0/codec#0
> > output under 3.3.5 (which works well) and 3.7.1 (which is broken as
> > described above).
> > 
> > What needs to be done to restore the functionality for the S7020 that has
> > been working for years?  It seems that some form of model quirk needs to be
> > ported into the new HDA framework from earlier kernels, but since this sort
> > of thing appears to have been removed with the rewrite (at least for realtek
> > codecs) it's difficult to see where to begin.
> 
> At best, please give alsa-info.sh outputs on both old and new kernels.

I will post these in a follow-up within a few minutes.

> We won't add any longer too much machine-specific code.  In the long
> run, (most of) all codec drivers will be merged to a single driver.
> So, let's fix the easier one, the auto-mute breakage at first, and
> proceed to add the missing mixer enums for introducing the finer jack
> retasking.

Ok.  Personally I don't care for auto-mute at all: I need to be sure that
the speakers will never output audio even if the headphone jack is pulled. 
That is, my normal mode of operation will be to have auto-mute disabled
which should - I assume (once the bug is fixed) - produce separate headphone
and speaker mixer controls as it always has.

As a general comment, sometimes it is essential to maintain full manual
control over the mixer hardware so it doesn't get automagically reconfigured
for some odd reason in the middle of an event, resulting in unintended audio
routing.  I certainly don't mind the provision of a more automated system
which works for the common case, so long as it doesn't result in the removal
of manual control for those of us who need it.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-03 10:39 ` Takashi Iwai
  2013-01-03 12:27   ` Jonathan Woithe
@ 2013-01-03 12:31   ` Jonathan Woithe
  2013-01-04  2:34   ` Raymond Yau
  2013-01-04  9:02   ` David Henningsson
  3 siblings, 0 replies; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-03 12:31 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, jwoithe

On Thu, Jan 03, 2013 at 11:39:33AM +0100, Takashi Iwai wrote:
> > The inability to set the pin modes is a showstopper for me - I need to be
> > able to do this and thus will be stuck on older kernels until this is fixed.
> > 
> > At the end of this post I have included the /proc/asound/card0/codec#0
> > output under 3.3.5 (which works well) and 3.7.1 (which is broken as
> > described above).
> > 
> > What needs to be done to restore the functionality for the S7020 that has
> > been working for years?  It seems that some form of model quirk needs to be
> > ported into the new HDA framework from earlier kernels, but since this sort
> > of thing appears to have been removed with the rewrite (at least for realtek
> > codecs) it's difficult to see where to begin.
> 
> At best, please give alsa-info.sh outputs on both old and new kernels.

Here they are.  First for the 3.3.5 kernel which, as I mentioned, provides
all the functionality.  Below that will follow the info from 3.7.1 which
does not.

Regards
  jonathan

=== 3.3.5 alsa-info.sh ===

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

!!Script ran on: Thu Jan  3 12:28:45 UTC 2013


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

Slackware 13.37.0


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

Manufacturer:      FUJITSU
Product Name:      LifeBook S7020
Product Version:    
Firmware Version:  Version 1.05 


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

Kernel release:    3.3.5
Operating System:  GNU/Linux
Architecture:      i686
Processor:         Intel(R) Pentium(R) M processor 2.00GHz
SMP Enabled:       Yes


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

Driver version:     1.0.24
Library version:    1.0.26
Utilities version:  1.0.26


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

snd_hda_intel


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

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


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

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xb0000000 irq 42


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

00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)


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

00:1b.0 0403: 8086:2668 (rev 04)
	Subsystem: 10cf:1326


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

snd-hda-intel: enable_msi=1
snd-pcm-oss: adsp_map=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
	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 ALC260
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0260
Subsystem Id: 0x10cf0000
Revision Id: 0x100400
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=4, 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
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12* 0x13 0x14 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=1, device=0
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Device: name="ALC260 Analog", type="Audio", device=2
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12* 0x13 0x14 0x15 0x16 0x07 0x0f 0x10
Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x19
Node 0x07 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Mic/Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic/Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x03 0x03] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 8
     0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 2
     0x02 0x07
Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80] [0x80]
  Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
  Amp-Out vals:  [0x00]
  Connection: 2
     0x02 0x07
Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x08
Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0xe4011110: [Both] Line Out at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
Node 0x11 [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
     0x0a
Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Mic/Line Jack Mode", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x03a11820: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0b
Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x24811121: [Jack] Line In at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Jack Mode", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x00000020: IN
  Pin Default 0x88331122: [Fixed] CD at Ext Drive Bar
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x2
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x17 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0xb7931123: [Fixed] Aux at Oth Mobile-In
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x3
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x03
Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
Node 0x1a [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=13
Node 0x1b [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=0, steps=64, direct=0, val=0
  Unsolicited: tag=00, enabled=0
  Connection: 0
Codec: LSI ID 3026
Address: 1
MFG Function Id: 0x2 (unsol 1)
Vendor Id: 0x11c13026
Subsystem Id: 0x11c13026
Revision Id: 0x100600
Modem Function Group: 0x1
--endcollapse--


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

crw-rw---- 1 root audio 116,  7 Jan  4  2013 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  6 Jan  4  2013 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  5 Jan  4  2013 /dev/snd/hwC0D1
crw-rw---- 1 root audio 116,  4 Jan  4  2013 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116,  3 Jan  4  2013 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116,  2 Jan  4  2013 /dev/snd/pcmC0D2c
crw-rw---- 1 root audio 116,  1 Jan  3 22:54 /dev/snd/seq
crw-rw---- 1 root audio 116, 33 Jan  3 22:54 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Jan  4  2013 .
drwxr-xr-x 3 root root 220 Jan  4  2013 ..
lrwxrwxrwx 1 root root  12 Jan  4  2013 pci-0000:00:1b.0 -> ../controlC0


!!ALSA configuration files
!!------------------------

!!User specific config file (~/.asoundrc)

# Entry for 4-channel input on an HDA card
pcm.hda4chi {
  type multi
  # Bind hardware devices
  slaves.a.pcm "hw:0,0"
  slaves.a.channels 2
  slaves.b.pcm "hw:0,2"
  slaves.b.channels 2
  # Bind channels to a virtual device
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

ctl.hda4chi {
  type hw
  card 0
}


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

APLAY

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

ARECORD

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

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

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

Card hw:0 'Intel'/'HDA Intel at 0xb0000000 irq 42'
  Mixer name	: 'Realtek ALC260'
  Components	: 'HDA:10ec0260,10cf0000,00100400 HDA:11c13026,11c13026,00100600'
  Controls      : 19
  Simple ctrls  : 12
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 51 [80%] [-13.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 52 [81%] [-12.00dB] [on]
  Front Right: Playback 52 [81%] [-12.00dB] [on]
Simple mixer control 'Headphone Jack Mode',0
  Capabilities: enum
  Items: 'Mic 50pc bias' 'Mic 80pc bias' 'Line in' 'Line out' 'Headphone out'
  Item0: 'Line out'
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 0 [0%] [-64.00dB] [off]
  Front Right: Playback 0 [0%] [-64.00dB] [off]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'CD',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 3 [5%] [-32.00dB] [on]
  Front Right: Playback 3 [5%] [-32.00dB] [on]
Simple mixer control 'Mic/Line',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 0 [0%] [-35.00dB] [off]
  Front Right: Playback 0 [0%] [-35.00dB] [off]
Simple mixer control 'Mic/Line Jack Mode',0
  Capabilities: enum
  Items: 'Mic 50pc bias' 'Mic 80pc bias' 'Line in'
  Item0: 'Line in'
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 12 [34%] [12.00dB] [on]
  Front Right: Capture 12 [34%] [12.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 0 [0%] [0.00dB] [off]
  Front Right: Capture 0 [0%] [0.00dB] [off]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Mic/Line' 'CD' 'Headphone'
  Item0: 'Mic/Line'
Simple mixer control 'Input Source',1
  Capabilities: cenum
  Items: 'Mic/Line' 'CD' 'Headphone' 'Mixer'
  Item0: 'Mic/Line'


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

--startcollapse--
state.Intel {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 52
		value.1 52
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1200
			dbvalue.1 -1200
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Jack Mode'
		value 'Line out'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Mic 50pc bias'
			item.1 'Mic 80pc bias'
			item.2 'Line in'
			item.3 'Line out'
			item.4 'Headphone out'
		}
	}
	control.4 {
		iface MIXER
		name 'CD Playback Volume'
		value.0 3
		value.1 3
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3200
			dbvalue.1 -3200
		}
	}
	control.5 {
		iface MIXER
		name 'CD Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.6 {
		iface MIXER
		name 'Mic/Line Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3500
			dbvalue.1 -3500
		}
	}
	control.7 {
		iface MIXER
		name 'Mic/Line Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Mic/Line Jack Mode'
		value 'Line in'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Mic 50pc bias'
			item.1 'Mic 80pc bias'
			item.2 'Line in'
		}
	}
	control.9 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -6400
			dbvalue.1 -6400
		}
	}
	control.10 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Switch'
		index 1
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Volume'
		value.0 12
		value.1 12
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 35'
			dbmin 0
			dbmax 3500
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.14 {
		iface MIXER
		name 'Capture Volume'
		index 1
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 35'
			dbmin 0
			dbmax 3500
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.15 {
		iface MIXER
		name 'Input Source'
		value Mic/Line
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic/Line
			item.1 CD
			item.2 Headphone
		}
	}
	control.16 {
		iface MIXER
		name 'Input Source'
		index 1
		value Mic/Line
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic/Line
			item.1 CD
			item.2 Headphone
			item.3 Mixer
		}
	}
	control.17 {
		iface MIXER
		name 'Master Playback Volume'
		value 51
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1300
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


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

Module
snd_seq_dummy
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm_oss
snd_mixer_oss
ipv6
snd_hda_codec_realtek
pcmcia
i915
drm_kms_helper
snd_hda_intel
drm
snd_hda_codec
i2c_algo_bit
apanel
snd_hwdep
input_polldev
snd_pcm
ipw2200
video
processor
ac
battery
libipw
thermal_sys
yenta_socket
pcmcia_rsrc
firewire_ohci
pcmcia_core
firewire_core
tg3
libphy
fujitsu_laptop
i2c_i801
intel_agp
intel_gtt
i2c_core
psmouse
snd_timer
agpgart
button
hwmon
sg
cfg80211
snd
rfkill
soundcore
lib80211
evdev
snd_page_alloc


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x0f 0x411111f0
0x10 0xe4011110
0x11 0x411111f0
0x12 0x03a11820
0x13 0x24811121
0x14 0x0321101f
0x15 0x411111f0
0x16 0x88331122
0x17 0xb7931123
0x18 0x411111f0
0x19 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D1/init_pin_configs:

/sys/class/sound/hwC0D1/driver_pin_configs:

/sys/class/sound/hwC0D1/user_pin_configs:

/sys/class/sound/hwC0D1/init_verbs:


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

ipw2200: Detected Intel PRO/Wireless 2915ABG Network Connection
snd_hda_intel 0000:00:1b.0: irq 42 for MSI/MSI-X
pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcff: excluding 0xcf8-0xcff


=== 3.7.1 alsa-info.sh ===

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

!!Script ran on: Thu Jan  3 12:31:04 UTC 2013


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

Slackware 13.37.0


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

Manufacturer:      FUJITSU
Product Name:      LifeBook S7020
Product Version:    
Firmware Version:  Version 1.05 


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

Kernel release:    3.7.1
Operating System:  GNU/Linux
Architecture:      i686
Processor:         Intel(R) Pentium(R) M processor 2.00GHz
SMP Enabled:       Yes


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

Driver version:     k3.7.1
Library version:    1.0.26
Utilities version:  1.0.26


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

snd_hda_intel


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

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


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

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xb0000000 irq 42


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

00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)


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

00:1b.0 0403: 8086:2668 (rev 04)
	Subsystem: 10cf:1326


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

snd-hda-intel: enable_msi=1
snd-pcm-oss: adsp_map=2


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

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : 1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : -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
	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 ALC260
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0260
Subsystem Id: 0x10cf0000
Revision Id: 0x100400
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=4, 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
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12* 0x13 0x14 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=1, device=0
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Device: name="ALC260 Analog", type="Audio", device=2
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12* 0x13 0x14 0x15 0x16 0x07 0x0f 0x10
Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x19
Node 0x07 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x03 0x03] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 8
     0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="PCM Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x33 0x33]
  Connection: 2
     0x02 0x07
Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00] [0x80]
  Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
  Amp-Out vals:  [0x23]
  Connection: 2
     0x02 0x07
Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  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: 1
     0x08
Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="PCM Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0xe4011110: [Both] Line Out at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
Node 0x11 [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: 0x40: OUT
  Connection: 1
     0x0a
Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Mic Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x03a11820: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x21: IN VREF_50
  Unsolicited: tag=03, enabled=1
  Connection: 1
     0x0b
Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Line Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x24811121: [Jack] Line In at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP VREF_HIZ
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  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 VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
  Control: name="CD Phantom Jack", index=0, device=0
  Pincap 0x00000020: IN
  Pin Default 0x88331122: [Fixed] CD at Ext Drive Bar
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x2
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x17 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0xb7931123: [Fixed] Aux at Oth Mobile-In
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x3
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x03
Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
Node 0x1a [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=13
Node 0x1b [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=0, steps=64, direct=0, val=0
  Unsolicited: tag=00, enabled=0
  Connection: 0
Codec: LSI ID 3026
Address: 1
MFG Function Id: 0x2 (unsol 1)
Vendor Id: 0x11c13026
Subsystem Id: 0x11c13026
Revision Id: 0x100600
Modem Function Group: 0x1
--endcollapse--


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

crw-rw---- 1 root audio 116,  7 Jan  4  2013 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  6 Jan  4  2013 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  5 Jan  4  2013 /dev/snd/hwC0D1
crw-rw---- 1 root audio 116,  4 Jan  4  2013 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116,  3 Jan  4  2013 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116,  2 Jan  4  2013 /dev/snd/pcmC0D2c
crw-rw---- 1 root audio 116,  1 Jan  3 23:00 /dev/snd/seq
crw-rw---- 1 root audio 116, 33 Jan  3 23:00 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Jan  4  2013 .
drwxr-xr-x 3 root root 220 Jan  4  2013 ..
lrwxrwxrwx 1 root root  12 Jan  4  2013 pci-0000:00:1b.0 -> ../controlC0


!!ALSA configuration files
!!------------------------

!!User specific config file (~/.asoundrc)

# Entry for 4-channel input on an HDA card
pcm.hda4chi {
  type multi
  # Bind hardware devices
  slaves.a.pcm "hw:0,0"
  slaves.a.channels 2
  slaves.b.pcm "hw:0,2"
  slaves.b.channels 2
  # Bind channels to a virtual device
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

ctl.hda4chi {
  type hw
  card 0
}


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

APLAY

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

ARECORD

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

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

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

Card hw:0 'Intel'/'HDA Intel at 0xb0000000 irq 42'
  Mixer name	: 'Realtek ALC260'
  Components	: 'HDA:10ec0260,10cf0000,00100400 HDA:11c13026,11c13026,00100600'
  Controls      : 27
  Simple ctrls  : 11
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 51 [80%] [-13.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 52 [81%] [-12.00dB] [on]
  Front Right: Playback 52 [81%] [-12.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 0 [0%] [-35.00dB] [off]
  Front Right: Playback 0 [0%] [-35.00dB] [off]
Simple mixer control 'CD',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 3 [5%] [-32.00dB] [on]
  Front Right: Playback 3 [5%] [-32.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 0 [0%] [-35.00dB] [off]
  Front Right: Playback 0 [0%] [-35.00dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 12 [34%] [12.00dB] [on]
  Front Right: Capture 12 [34%] [12.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 0 [0%] [0.00dB] [off]
  Front Right: Capture 0 [0%] [0.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Mic' 'Line' 'CD'
  Item0: 'Mic'
Simple mixer control 'Input Source',1
  Capabilities: cenum
  Items: 'Mic' 'Line' 'CD'
  Item0: 'Mic'


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

--startcollapse--
state.Intel {
	control.1 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 64
		value.1 64
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'PCM Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 52
		value.1 52
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1200
			dbvalue.1 -1200
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3500
			dbvalue.1 -3500
		}
	}
	control.6 {
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.7 {
		iface MIXER
		name 'Line Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3500
			dbvalue.1 -3500
		}
	}
	control.8 {
		iface MIXER
		name 'Line Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.9 {
		iface MIXER
		name 'CD Playback Volume'
		value.0 3
		value.1 3
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3200
			dbvalue.1 -3200
		}
	}
	control.10 {
		iface MIXER
		name 'CD Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Enabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Switch'
		index 1
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.14 {
		iface MIXER
		name 'Capture Volume'
		value.0 12
		value.1 12
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 35'
			dbmin 0
			dbmax 3500
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.15 {
		iface MIXER
		name 'Capture Volume'
		index 1
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 35'
			dbmin 0
			dbmax 3500
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.16 {
		iface MIXER
		name 'Input Source'
		value Mic
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic
			item.1 Line
			item.2 CD
		}
	}
	control.17 {
		iface MIXER
		name 'Input Source'
		index 1
		value Mic
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic
			item.1 Line
			item.2 CD
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Volume'
		value 51
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1300
		}
	}
	control.19 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface CARD
		name 'Line Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface CARD
		name 'CD Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 27'
		}
	}
	control.26 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 27'
		}
	}
	control.27 {
		iface PCM
		device 2
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 27'
		}
	}
}
--endcollapse--


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

Module
snd_seq_dummy
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm_oss
snd_mixer_oss
ipv6
i915
drm_kms_helper
drm
pcmcia
acpi_cpufreq
freq_table
snd_hda_codec_realtek
firewire_ohci
tg3
mperf
i2c_algo_bit
libphy
video
processor
thermal_sys
ipw2200
sg
apanel
libipw
firewire_core
input_polldev
evdev
yenta_socket
pcmcia_rsrc
pcmcia_core
intel_agp
psmouse
intel_gtt
i2c_i801
agpgart
fujitsu_laptop
hwmon
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm
snd_timer
snd
soundcore
snd_page_alloc
battery
button
ac
i2c_core
cfg80211
rfkill
lib80211
microcode


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x0f 0x411111f0
0x10 0xe4011110
0x11 0x411111f0
0x12 0x03a11820
0x13 0x24811121
0x14 0x0321101f
0x15 0x411111f0
0x16 0x88331122
0x17 0xb7931123
0x18 0x411111f0
0x19 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D1/init_pin_configs:

/sys/class/sound/hwC0D1/driver_pin_configs:

/sys/class/sound/hwC0D1/user_pin_configs:

/sys/class/sound/hwC0D1/init_verbs:


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

intel_rng: FWH not detected
snd_hda_intel 0000:00:1b.0: irq 42 for MSI/MSI-X
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
--
tg3 0000:02:00.0 eth0: dma_rwctrl[76180000] dma_mask[64-bit]
input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
input: Fujitsu Application Panel buttons as /devices/pci0000:00/0000:00:1f.3/i2c-0/0-0019/input/input9

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-03 10:39 ` Takashi Iwai
  2013-01-03 12:27   ` Jonathan Woithe
  2013-01-03 12:31   ` Jonathan Woithe
@ 2013-01-04  2:34   ` Raymond Yau
  2013-01-04  3:24     ` Jonathan Woithe
  2013-01-04  9:02   ` David Henningsson
  3 siblings, 1 reply; 48+ messages in thread
From: Raymond Yau @ 2013-01-04  2:34 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Jonathan Woithe

> >
> > Having been running kernel 3.3.5 for a while, I decided to upgrade to
3.7.1
> > tonight.  Unfortunately there have been a number of HDA-related
regressions
> > between these two kernels when running on a Fujitsu S7020 laptop which
are
> > clearly related to the HDA rewrite which has been going on recently.
 This
> > laptop utilises the Realtek ALC260 codec.
> >
> > Testing was initially done with alsa-lib 1.0.24 and alsa-utils 1.0.24.
 I
> > upgraded to version 1.0.26 of both but the behaviour remained the same
under
> > 3.3.5 and 3.7.1.
> >
> > Under 3.3.5, sound works perfectly.
> >
> > Under 3.7.1 there are a number of regressions:

If is because the commit remove the Fujitsu model

http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff;h=c29b3f6dd7798964d77199af4925be72a3a48349;hp=b1f58085a9c01e8ffab954fd77a45f1143edf34d

The driver need pin fixup  for the internal speaker and change the pin
default of following node to [N/A]

Node 0x13 [Jack] Line In at Sep Right
Node 0x17 [Fixed] Aux at Oth Mobile-In

-/* Initialisation sequence for ALC260 as configured in Fujitsu S702x
- * laptops.  ALC260 pin usage: Mic/Line jack = 0x12, HP jack = 0x14, CD
- * audio = 0x16, internal speaker = 0x10.
- */
-static const struct hda_verb alc260_fujitsu_ini

Do the notebook really use node 0x16 CD ?

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-04  2:34   ` Raymond Yau
@ 2013-01-04  3:24     ` Jonathan Woithe
  2013-01-04  4:15       ` Raymond Yau
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-04  3:24 UTC (permalink / raw)
  To: Raymond Yau; +Cc: Takashi Iwai, alsa-devel, Jonathan Woithe

On Fri, Jan 04, 2013 at 10:34:23AM +0800, Raymond Yau wrote:
> > > Having been running kernel 3.3.5 for a while, I decided to upgrade to 3.7.1
> > > tonight.  Unfortunately there have been a number of HDA-related regressions
> > > between these two kernels when running on a Fujitsu S7020 laptop which are
> > > clearly related to the HDA rewrite which has been going on recently. This
> > > laptop utilises the Realtek ALC260 codec.
> > > :
> > > Under 3.3.5, sound works perfectly.
> > >
> > > Under 3.7.1 there are a number of regressions:
> 
> If is because the commit remove the Fujitsu model
> 
> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff;h=c29b3f6dd7798964d77199af4925be72a3a48349;hp=b1f58085a9c01e8ffab954fd77a45f1143edf34d
> 
> The driver need pin fixup  for the internal speaker and change the pin
> default of following node to [N/A]
> 
> Node 0x13 [Jack] Line In at Sep Right
> Node 0x17 [Fixed] Aux at Oth Mobile-In
> 
> -/* Initialisation sequence for ALC260 as configured in Fujitsu S702x
> - * laptops.  ALC260 pin usage: Mic/Line jack = 0x12, HP jack = 0x14, CD
> - * audio = 0x16, internal speaker = 0x10.
> - */
> -static const struct hda_verb alc260_fujitsu_ini
> 
> Do the notebook really use node 0x16 CD ?

Yes.  That's where the CD audio comes in.

jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-04  3:24     ` Jonathan Woithe
@ 2013-01-04  4:15       ` Raymond Yau
  2013-01-04  4:24         ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Raymond Yau @ 2013-01-04  4:15 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Takashi Iwai, alsa-devel

> > > > Having been running kernel 3.3.5 for a while, I decided to upgrade
to 3.7.1
> > > > tonight.  Unfortunately there have been a number of HDA-related
regressions
> > > > between these two kernels when running on a Fujitsu S7020 laptop
which are
> > > > clearly related to the HDA rewrite which has been going on
recently. This
> > > > laptop utilises the Realtek ALC260 codec.
> > > > :
> > > > Under 3.3.5, sound works perfectly.
> > > >
> > > > Under 3.7.1 there are a number of regressions:
> >
> > If is because the commit remove the Fujitsu model
> >
> >
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff;h=c29b3f6dd7798964d77199af4925be72a3a48349;hp=b1f58085a9c01e8ffab954fd77a45f1143edf34d
> >
> > The driver need pin fixup  for the internal speaker and change the pin
> > default of following node to [N/A]
> >
> > Node 0x13 [Jack] Line In at Sep Right
> > Node 0x17 [Fixed] Aux at Oth Mobile-In
> >
> > -/* Initialisation sequence for ALC260 as configured in Fujitsu S702x
> > - * laptops.  ALC260 pin usage: Mic/Line jack = 0x12, HP jack = 0x14, CD
> > - * audio = 0x16, internal speaker = 0x10.
> > - */
> > -static const struct hda_verb alc260_fujitsu_ini
> >
> > Do the notebook really use node 0x16 CD ?
>
> Yes.  That's where the CD audio comes in.
>

How about those HP and Mic of the port replicator ?

If also affect LIFEBOOK E8020

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-04  4:15       ` Raymond Yau
@ 2013-01-04  4:24         ` Jonathan Woithe
  2013-01-05  1:31           ` Raymond Yau
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-04  4:24 UTC (permalink / raw)
  To: Raymond Yau; +Cc: Takashi Iwai, alsa-devel, jwoithe

On Fri, Jan 04, 2013 at 12:15:42PM +0800, Raymond Yau wrote:
> > > The driver need pin fixup  for the internal speaker and change the pin
> > > default of following node to [N/A]
> > >
> > > Node 0x13 [Jack] Line In at Sep Right
> > > Node 0x17 [Fixed] Aux at Oth Mobile-In
> > >
> > > -/* Initialisation sequence for ALC260 as configured in Fujitsu S702x
> > > - * laptops.  ALC260 pin usage: Mic/Line jack = 0x12, HP jack = 0x14, CD
> > > - * audio = 0x16, internal speaker = 0x10.
> > > - */
> > > -static const struct hda_verb alc260_fujitsu_ini
> > >
> > > Do the notebook really use node 0x16 CD ?
> >
> > Yes.  That's where the CD audio comes in.
> >
> 
> How about those HP and Mic of the port replicator ?

I have no idea: I never purchased the replicator.  In the absence of any
other information I would assume the replicator's ports are in parallel with
those of the laptop itself.  Unless someone with an S7020 and a replicator
turns up it will be impossible to know for sure.

> If also affect LIFEBOOK E8020
> https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868

At the very least it's a related issue.  I don't know what codec that laptop
uses though, so how that relates to the root cause of the trouble I'm having
on an S7020 is not clear to me.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-03 10:39 ` Takashi Iwai
                     ` (2 preceding siblings ...)
  2013-01-04  2:34   ` Raymond Yau
@ 2013-01-04  9:02   ` David Henningsson
  2013-01-04  9:35     ` Takashi Iwai
  2013-01-05  2:49     ` Jonathan Woithe
  3 siblings, 2 replies; 48+ messages in thread
From: David Henningsson @ 2013-01-04  9:02 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Jonathan Woithe

On 01/03/2013 11:39 AM, Takashi Iwai wrote:
> The jack retasking of the headphone input is still an open issue.
> I can provide a patch to add the support via "Headphone Jack Mode"
> enum, but David didn't like that approach.

Hmm, I think the final word of that discussion was that you successfully 
convinced me that you were able to implement it in a generic way, and so 
you were going to implement "Headphone Jack Mode" and friends sometime soon?

Meanwhile, there is hda-jack-retask utility (in the alsa-tools package) 
that might be helpful for Jonathan?


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

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-04  9:02   ` David Henningsson
@ 2013-01-04  9:35     ` Takashi Iwai
  2013-01-05  2:49     ` Jonathan Woithe
  1 sibling, 0 replies; 48+ messages in thread
From: Takashi Iwai @ 2013-01-04  9:35 UTC (permalink / raw)
  To: David Henningsson; +Cc: alsa-devel, Jonathan Woithe

At Fri, 04 Jan 2013 10:02:53 +0100,
David Henningsson wrote:
> 
> On 01/03/2013 11:39 AM, Takashi Iwai wrote:
> > The jack retasking of the headphone input is still an open issue.
> > I can provide a patch to add the support via "Headphone Jack Mode"
> > enum, but David didn't like that approach.
> 
> Hmm, I think the final word of that discussion was that you successfully 
> convinced me that you were able to implement it in a generic way, and so 
> you were going to implement "Headphone Jack Mode" and friends sometime soon?

OK, if so, we can go forward in that way :)


Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-04  4:24         ` Jonathan Woithe
@ 2013-01-05  1:31           ` Raymond Yau
  2013-01-05  3:12             ` Jonathan Woithe
  2013-01-08 14:13             ` Takashi Iwai
  0 siblings, 2 replies; 48+ messages in thread
From: Raymond Yau @ 2013-01-05  1:31 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Takashi Iwai, alsa-devel

> > > > The driver need pin fixup  for the internal speaker and change the
pin
> > > > default of following node to [N/A]
> > > >
> > > > Node 0x13 [Jack] Line In at Sep Right
> > > > Node 0x17 [Fixed] Aux at Oth Mobile-In
> > > >
> > > > -/* Initialisation sequence for ALC260 as configured in Fujitsu
S702x
> > > > - * laptops.  ALC260 pin usage: Mic/Line jack = 0x12, HP jack =
0x14, CD
> > > > - * audio = 0x16, internal speaker = 0x10.
> > > > - */
> > > > -static const struct hda_verb alc260_fujitsu_ini
> > > >
> > > > Do the notebook really use node 0x16 CD ?
> > >
> > > Yes.  That's where the CD audio comes in.
> > >
> >
> > How about those HP and Mic of the port replicator ?
>
> I have no idea: I never purchased the replicator.  In the absence of any
> other information I would assume the replicator's ports are in parallel
with
> those of the laptop itself.  Unless someone with an S7020 and a replicator
> turns up it will be impossible to know for sure.
>
> > If also affect LIFEBOOK E8020
> > https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868
>

Does this mean that the internal speaker and line out at Sep right (dock
line out) at same node 0x10 ?

Table 109. Port Connectivity

11b  Both a jack and an internal device are attached.  The Information
provided in all other fields refers to the integrated device.  The PD pin
will reflect the status of the jack; the user will need to be queried to
figure out what it is

As Line in at ext right (Dock line in) at node 0x13

Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
EAPD 0x2: EAPD
Pin Default 0xe4011110: [Both] Line Out at Sep Right Conn = 1/8, Color =
Black DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE
Pin-ctls: 0xc0: OUT HP
Unsolicited: tag=00, enabled=0
Connection: 1 0x09

Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 80
Pin Default 0x24811121: [Jack] Line In at Sep Right
Conn = 1/8, Color = Black DefAssociation = 0x2, Sequence = 0x1 Misc =
NO_PRESENCE
Pin-ctls: 0x00: VREF_HIZ
Unsolicited: tag=00, enabled=0
Connection: 1 0x0c

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-04  9:02   ` David Henningsson
  2013-01-04  9:35     ` Takashi Iwai
@ 2013-01-05  2:49     ` Jonathan Woithe
  2013-01-05  4:45       ` David Henningsson
  1 sibling, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-05  2:49 UTC (permalink / raw)
  To: David Henningsson; +Cc: Takashi Iwai, alsa-devel, Jonathan Woithe

On Fri, Jan 04, 2013 at 10:02:53AM +0100, David Henningsson wrote:
> On 01/03/2013 11:39 AM, Takashi Iwai wrote:
> >The jack retasking of the headphone input is still an open issue.
> >I can provide a patch to add the support via "Headphone Jack Mode"
> >enum, but David didn't like that approach.
> 
> Meanwhile, there is hda-jack-retask utility (in the alsa-tools
> package) that might be helpful for Jonathan?

I discovered that utility during my initial investigations.  Unfortunately
it requires GTK3 and I have not yet had an opportunity to upgrade the laptop
to a distro version which includes it.  Given my schedule I suspect it's
going to be several months before I get the chance.

On Fri, 04 Jan 2013 10:35:48 +0100, Takashi Iwai wrote:
> OK, if so, we can go forward in that way :)

Sounds good.  I'm more than happy to test patches as they become available.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  1:31           ` Raymond Yau
@ 2013-01-05  3:12             ` Jonathan Woithe
  2013-01-05  6:32               ` Raymond Yau
  2013-01-08 14:13             ` Takashi Iwai
  1 sibling, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-05  3:12 UTC (permalink / raw)
  To: Raymond Yau; +Cc: Takashi Iwai, alsa-devel, jwoithe

On Sat, Jan 05, 2013 at 09:31:23AM +0800, Raymond Yau wrote:
> > > > > The driver need pin fixup  for the internal speaker and change the pin
> > > > > default of following node to [N/A]
> > > > >
> > > > > Node 0x13 [Jack] Line In at Sep Right
> > > > > Node 0x17 [Fixed] Aux at Oth Mobile-In
> > > > >
> > > > > -/* Initialisation sequence for ALC260 as configured in Fujitsu S702x
> > > > > - * laptops.  ALC260 pin usage: Mic/Line jack = 0x12, HP jack = 0x14, CD
> > > > > - * audio = 0x16, internal speaker = 0x10.
> > > > > - */
> > > > > -static const struct hda_verb alc260_fujitsu_ini
> > > > >
> > > > > Do the notebook really use node 0x16 CD ?
> > > >
> > > > Yes.  That's where the CD audio comes in.
> > > >
> > >
> > > How about those HP and Mic of the port replicator ?
> >
> > I have no idea: I never purchased the replicator.  In the absence of any
> > other information I would assume the replicator's ports are in parallel with
> > those of the laptop itself.  Unless someone with an S7020 and a replicator
> > turns up it will be impossible to know for sure.
> >
> > > If also affect LIFEBOOK E8020
> > > https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868
> 
> Does this mean that the internal speaker and line out at Sep right (dock
> line out) at same node 0x10 ?

Here is what I know:

  Node 0x10 = Internal speaker
  Node 0x12 = Mic/Line jack on laptop
  Node 0x14 = Headphone jack on laptop
  Node 0x16 = CD audio

In terms of nodes that is all I can be sure of because that's all I can
test.  I have no idea of what the dock does or how its jacks are mapped to
codec nodes because I don't have a dock to test with.

Having said that, I find it operationally odd that the internal speaker
would share a node with a line out jack on the dock.  Then again, it
wouldn't be the first time a laptop manufacturer has done something odd.

I've never fully understood the information provided in the codec proc
file.  In my (very limited) experience the output doesn't always match up
with the reality of the hardware.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  2:49     ` Jonathan Woithe
@ 2013-01-05  4:45       ` David Henningsson
  2013-01-05  7:27         ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: David Henningsson @ 2013-01-05  4:45 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Takashi Iwai, alsa-devel

On 01/05/2013 03:49 AM, Jonathan Woithe wrote:
> On Fri, Jan 04, 2013 at 10:02:53AM +0100, David Henningsson wrote:
>> On 01/03/2013 11:39 AM, Takashi Iwai wrote:
>>> The jack retasking of the headphone input is still an open issue.
>>> I can provide a patch to add the support via "Headphone Jack Mode"
>>> enum, but David didn't like that approach.
>>
>> Meanwhile, there is hda-jack-retask utility (in the alsa-tools
>> package) that might be helpful for Jonathan?
>
> I discovered that utility during my initial investigations.  Unfortunately
> it requires GTK3 and I have not yet had an opportunity to upgrade the laptop
> to a distro version which includes it.  Given my schedule I suspect it's
> going to be several months before I get the chance.

Maybe I should add an ncurses interface ;-)

Anyway, if it's easier for you to read the HDA spec than upgrading your 
laptop, you can use the kernel interfaces directly using a "firmware 
patch" file or reconfigure sysfs. This is what hda-jack-retask uses.

The documentation for these interfaces are at 
http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt - see 
the "HD-Audio Reconfiguration" and "Early Patching" sections.

Or a compromise; boot up a live-CD of a newer distro, create the 
firmware file with hda-jack-retask, then copy the result back to your 
current distro setup.


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

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  3:12             ` Jonathan Woithe
@ 2013-01-05  6:32               ` Raymond Yau
  2013-01-05  7:16                 ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Raymond Yau @ 2013-01-05  6:32 UTC (permalink / raw)
  To: Jonathan Woithe, peter.golden; +Cc: Takashi Iwai, alsa-devel

> > > > > > The driver need pin fixup  for the internal speaker and change
the pin
> > > > > > default of following node to [N/A]
> > > > > >
> > > > > > Node 0x13 [Jack] Line In at Sep Right
> > > > > > Node 0x17 [Fixed] Aux at Oth Mobile-In
> > > > > >
> > > > > > -/* Initialisation sequence for ALC260 as configured in Fujitsu
S702x
> > > > > > - * laptops.  ALC260 pin usage: Mic/Line jack = 0x12, HP jack =
0x14, CD
> > > > > > - * audio = 0x16, internal speaker = 0x10.
> > > > > > - */
> > > > > > -static const struct hda_verb alc260_fujitsu_ini
> > > > > >
> > > > > > Do the notebook really use node 0x16 CD ?
> > > > >
> > > > > Yes.  That's where the CD audio comes in.
> > > > >
> > > >
> > > > How about those HP and Mic of the port replicator ?
> > >
> > > I have no idea: I never purchased the replicator.  In the absence of
any
> > > other information I would assume the replicator's ports are in
parallel with
> > > those of the laptop itself.  Unless someone with an S7020 and a
replicator
> > > turns up it will be impossible to know for sure.
> > >
> > > > If also affect LIFEBOOK E8020
> > > > https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868
> >
> > Does this mean that the internal speaker and line out at Sep right (dock
> > line out) at same node 0x10 ?
>
> Here is what I know:
>
>   Node 0x10 = Internal speaker

-static const struct hda_verb alc260_fujitsu_init_verbs[] = {
-       /* Disable all GPIOs */
-       {0x01, AC_VERB_SET_GPIO_MASK, 0},
-       /* Internal speaker is connected to headphone pin */
-       {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},

The auto model won't set pin ctls to HP when pin default is line out or
speaker

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868/comments/9

>   Node 0x12 = Mic/Line jack on laptop

-       /* Mic/Line-in jack is connected to mic1 pin, so make it an input */
-       {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},

>   Node 0x14 = Headphone jack on laptop

-       /* Headphone/Line-out jack connects to Line1 pin; make it an output
*/
-       {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},

Refer to your 3.3.5 info

Does auto mute work in kernel 3.3.5 since unsolicited event is not enabled ?

Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
Control: name="Headphone Jack Mode", index=0, device=0 Amp-Out caps:
ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense Vref caps: HIZ 50 80
Pin Default 0x0321101f: [Jack] HP Out at Ext Left Conn = 1/8, Color = Black
DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0x40: OUT VREF_HIZ
Unsolicited: tag=00, enabled=0
Connection: 1 0x0d

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  6:32               ` Raymond Yau
@ 2013-01-05  7:16                 ` Jonathan Woithe
  2013-01-07  2:43                   ` Raymond Yau
                                     ` (2 more replies)
  0 siblings, 3 replies; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-05  7:16 UTC (permalink / raw)
  To: Raymond Yau; +Cc: Takashi Iwai, alsa-devel, jwoithe, peter.golden

On Sat, Jan 05, 2013 at 02:32:38PM +0800, Raymond Yau wrote:
> > > Does this mean that the internal speaker and line out at Sep right (dock
> > > line out) at same node 0x10 ?
> >
> > Here is what I know:
> >
> >   Node 0x10 = Internal speaker
> 
> -static const struct hda_verb alc260_fujitsu_init_verbs[] = {
> -       /* Disable all GPIOs */
> -       {0x01, AC_VERB_SET_GPIO_MASK, 0},
> -       /* Internal speaker is connected to headphone pin */
> -       {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
> 
> The auto model won't set pin ctls to HP when pin default is line out or
> speaker
> 
> https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868/comments/9

Do you require feedback from me about this?  As far as I can tell it's just
an observation which might partly explain why the speaker doesn't work on
the S7020.

In case it helps clarify things, perhaps I should explain some of the
comments which were previously contained within alc260_quirks.c (since I
wrote them).

  /* Internal speaker is connected to headphone pin */

Node 0x10 is notionally labelled "headphone pin" in the ALC260 datasheet. 
However, on the S7020 it is instead electrically connected to the internal
speaker.

  /* Headphone/Line-out jack connects to Line1 pin; make it an output */

Node 0x14 is described as "Line1 pin" in the ALC260 datasheet.  On the S7020
the designers have chosen to connect it to the headphone/line-out jack on
the laptop.

  /* Mic/Line-in jack is connected to mic1 pin, so make it an input */

This is perhaps the only consistent pin on the laptop.  The "mic1" pin of
the ALC260 is conected to the "Mic/Line-in" hack on the laptop.

In other words, on this particular laptop (and probably many others) the
designers have been fairly free when connecting pins to physical entities.

> Refer to your 3.3.5 info

What for, exactly?  Sorry, I'm confused as to what you're asking for here.

> Does auto mute work in kernel 3.3.5 since unsolicited event is not enabled ?

No idea - I have no interest in using auto-mute and have never had the
inclination to test it or look into it.

I've just looked now.  3.3.5 was booted, alsamixer does not show any
"automute" control to enable or disable this.  In any case, automute is
certainly not happening, so I'm guessing the answer to your question is no.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  4:45       ` David Henningsson
@ 2013-01-05  7:27         ` Jonathan Woithe
  0 siblings, 0 replies; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-05  7:27 UTC (permalink / raw)
  To: David Henningsson; +Cc: Takashi Iwai, alsa-devel, Jonathan Woithe

On Sat, Jan 05, 2013 at 05:45:10AM +0100, David Henningsson wrote:
> >>Meanwhile, there is hda-jack-retask utility (in the alsa-tools
> >>package) that might be helpful for Jonathan?
> >
> >I discovered that utility during my initial investigations.  Unfortunately
> >it requires GTK3 and I have not yet had an opportunity to upgrade the laptop
> >to a distro version which includes it.  Given my schedule I suspect it's
> >going to be several months before I get the chance.
> 
> Maybe I should add an ncurses interface ;-)

:-) I for one would find it useful (even after I have gtk3 on the machine).

> Anyway, if it's easier for you to read the HDA spec than upgrading
> your laptop, you can use the kernel interfaces directly using a
> "firmware patch" file or reconfigure sysfs. This is what
> hda-jack-retask uses.

That's interesting.  I'll definitely take a look at the documentation you
mentioned.  Then again, if the full fix isn't too far away I may just stick
with 3.3.5 until that becomes available.  That probably comes down to how
much time Takashi has.

> Or a compromise; boot up a live-CD of a newer distro, create the
> firmware file with hda-jack-retask, then copy the result back to
> your current distro setup.

I'll look into this too.  I would need multiple such firmwares to cope with
different configurations (they are sometimes switched on the fly) but like
you said, it would be another interim solution.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  7:16                 ` Jonathan Woithe
@ 2013-01-07  2:43                   ` Raymond Yau
  2013-01-08 14:48                   ` Takashi Iwai
  2013-01-10 14:41                   ` Raymond Yau
  2 siblings, 0 replies; 48+ messages in thread
From: Raymond Yau @ 2013-01-07  2:43 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Takashi Iwai, alsa-devel, peter.golden

> - there is no alsamixer control for the internal speaker. I have a "PCM"
volume control which appears to do nothing. Previously there was a speaker
control, the PCM control affected every output (from memory), as did the
master volume.

Take a look at function alc_get_line_out_pfx

Most likely lack of speaker pin complex

> no audio comes out of the internal speaker regardless of the "auto mute"
setting.

>- there are no pin mode (re-tasking) controls for the mic or headphone
jack in alsamixer. On this laptop the mic jack should have various bias
options as well as line-in. The headphone jack should include headphone
(aka output amplifier on), line-out (output amplifier off), line-in and mic
options.

All retaskable jacks support impedance measurement

Try hda-verb SET_PIN_SENSE and GET_PIN_SENSE to find out the impedance and
PD bit of different jacks

> > > > Does this mean that the internal speaker and line out at Sep right
(dock
> > > > line out) at same node 0x10 ?
> > >
> > > Here is what I know:
> > >
> > >   Node 0x10 = Internal speaker
> >
> > -static const struct hda_verb alc260_fujitsu_init_verbs[] = {
> > -       /* Disable all GPIOs */
> > -       {0x01, AC_VERB_SET_GPIO_MASK, 0},
> > -       /* Internal speaker is connected to headphone pin */
> > -       {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
> >
> > The auto model won't set pin ctls to HP when pin default is line out or
> > speaker
> >
> >
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868/comments/9
>
> Do you require feedback from me about this?  As far as I can tell it's
just
> an observation which might partly explain why the speaker doesn't work on
> the S7020.

E8020 has same PCI SSID and codec SSID as your S7020

It has a spdif/headphone jack

>
> In case it helps clarify things, perhaps I should explain some of the
> comments which were previously contained within alc260_quirks.c (since I
> wrote them).

Do the driver need to disable GPIO since your previous  Fujitsu model have
this init verb ?

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  1:31           ` Raymond Yau
  2013-01-05  3:12             ` Jonathan Woithe
@ 2013-01-08 14:13             ` Takashi Iwai
  1 sibling, 0 replies; 48+ messages in thread
From: Takashi Iwai @ 2013-01-08 14:13 UTC (permalink / raw)
  To: Raymond Yau; +Cc: alsa-devel, Jonathan Woithe

At Sat, 5 Jan 2013 09:31:23 +0800,
Raymond Yau wrote:
> 
> > > > > The driver need pin fixup  for the internal speaker and change the
> pin
> > > > > default of following node to [N/A]
> > > > >
> > > > > Node 0x13 [Jack] Line In at Sep Right
> > > > > Node 0x17 [Fixed] Aux at Oth Mobile-In
> > > > >
> > > > > -/* Initialisation sequence for ALC260 as configured in Fujitsu
> S702x
> > > > > - * laptops.  ALC260 pin usage: Mic/Line jack = 0x12, HP jack =
> 0x14, CD
> > > > > - * audio = 0x16, internal speaker = 0x10.
> > > > > - */
> > > > > -static const struct hda_verb alc260_fujitsu_ini
> > > > >
> > > > > Do the notebook really use node 0x16 CD ?
> > > >
> > > > Yes.  That's where the CD audio comes in.
> > > >
> > >
> > > How about those HP and Mic of the port replicator ?
> >
> > I have no idea: I never purchased the replicator.  In the absence of any
> > other information I would assume the replicator's ports are in parallel
> with
> > those of the laptop itself.  Unless someone with an S7020 and a replicator
> > turns up it will be impossible to know for sure.
> >
> > > If also affect LIFEBOOK E8020
> > > https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868
> >
> 
> Does this mean that the internal speaker and line out at Sep right (dock
> line out) at same node 0x10 ?

Possibly.  But it seems more convenient when we handle it as a speaker
pin.  I fixed it in my test/hda-gen-parser branch of sound-unstable
git tree.


Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  7:16                 ` Jonathan Woithe
  2013-01-07  2:43                   ` Raymond Yau
@ 2013-01-08 14:48                   ` Takashi Iwai
  2013-01-13  4:39                     ` Jonathan Woithe
  2013-01-10 14:41                   ` Raymond Yau
  2 siblings, 1 reply; 48+ messages in thread
From: Takashi Iwai @ 2013-01-08 14:48 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Sat, 5 Jan 2013 17:46:05 +1030,
Jonathan Woithe wrote:
> 
> On Sat, Jan 05, 2013 at 02:32:38PM +0800, Raymond Yau wrote:
> > > > Does this mean that the internal speaker and line out at Sep right (dock
> > > > line out) at same node 0x10 ?
> > >
> > > Here is what I know:
> > >
> > >   Node 0x10 = Internal speaker
> > 
> > -static const struct hda_verb alc260_fujitsu_init_verbs[] = {
> > -       /* Disable all GPIOs */
> > -       {0x01, AC_VERB_SET_GPIO_MASK, 0},
> > -       /* Internal speaker is connected to headphone pin */
> > -       {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
> > 
> > The auto model won't set pin ctls to HP when pin default is line out or
> > speaker
> > 
> > https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1091868/comments/9
> 
> Do you require feedback from me about this?  As far as I can tell it's just
> an observation which might partly explain why the speaker doesn't work on
> the S7020.
> 
> In case it helps clarify things, perhaps I should explain some of the
> comments which were previously contained within alc260_quirks.c (since I
> wrote them).
> 
>   /* Internal speaker is connected to headphone pin */
> 
> Node 0x10 is notionally labelled "headphone pin" in the ALC260 datasheet. 

You can forget the pin notion in the datasheet.  It's just pin
assignment Realtek thought as a standard arrangement.

> However, on the S7020 it is instead electrically connected to the internal
> speaker.
> 
>   /* Headphone/Line-out jack connects to Line1 pin; make it an output */
> 
> Node 0x14 is described as "Line1 pin" in the ALC260 datasheet.  On the S7020
> the designers have chosen to connect it to the headphone/line-out jack on
> the laptop.
> 
>   /* Mic/Line-in jack is connected to mic1 pin, so make it an input */
> 
> This is perhaps the only consistent pin on the laptop.  The "mic1" pin of
> the ALC260 is conected to the "Mic/Line-in" hack on the laptop.
> 
> In other words, on this particular laptop (and probably many others) the
> designers have been fairly free when connecting pins to physical entities.
> 
> > Refer to your 3.3.5 info
> 
> What for, exactly?  Sorry, I'm confused as to what you're asking for here.
> 
> > Does auto mute work in kernel 3.3.5 since unsolicited event is not enabled ?
> 
> No idea - I have no interest in using auto-mute and have never had the
> inclination to test it or look into it.
> 
> I've just looked now.  3.3.5 was booted, alsamixer does not show any
> "automute" control to enable or disable this.  In any case, automute is
> certainly not happening, so I'm guessing the answer to your question is no.

There is no automute behavior switching control in the 3.3.x kernel
driver, so no wonder :)

I took a look at your alsa-info.sh outputs now, but unfortunately I
see no obvious problem there.  At least, the path to the speaker looks
sane:

================================================================
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM

Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="PCM Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x33 0x33]
  Connection: 2
     0x02 0x07

Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="PCM Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0xe4011110: [Both] Line Out at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
================================================================

And all GPIOs are cleared too.

The differences are that the old driver cleared unused pins such as
0x0f, 0x11, 0x13 and 0x15.  Could you try to set the pin ctl to 0 for
these widgets via hda-verb on the fly?

Other than that, the headphone jack is set up with the HP amp and the
mic is with VREF 50.  They can be changed on the fly, too.


thanks,

Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-05  7:16                 ` Jonathan Woithe
  2013-01-07  2:43                   ` Raymond Yau
  2013-01-08 14:48                   ` Takashi Iwai
@ 2013-01-10 14:41                   ` Raymond Yau
  2013-01-10 14:50                     ` Takashi Iwai
  2 siblings, 1 reply; 48+ messages in thread
From: Raymond Yau @ 2013-01-10 14:41 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Takashi Iwai, alsa-devel, peter.golden

> Do you require feedback from me about this?  As far as I can tell it's
just
> an observation which might partly explain why the speaker doesn't work on
> the S7020.

Peter mentioned that he still get sound from headphone and no sound from
speaker for auto model, Mic is not working , red light for the optical spdif

If is strange that amp-in values of all connections are the same

Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x22 0x22] [0x22 0x22] [0x22 0x22] [0x22 0x22] [0x22 0x22]
[0x22 0x22] [0x22 0x22]
  Converter: stream=4, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12 0x13* 0x14 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=1, device=0
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Device: name="ALC260 Analog", type="Audio", device=2
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0xa3 0xa3] [0xa3 0xa3] [0xa3 0xa3] [0xa3 0xa3] [0xa3 0xa3]
[0xa3 0xa3] [0xa3 0xa3] [0xa3 0xa3]
  Converter: stream=3, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12 0x13 0x14 0x15 0x16* 0x07 0x0f 0x10

However using generic model he can get sound from speaker but no sound from
headphone

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-10 14:41                   ` Raymond Yau
@ 2013-01-10 14:50                     ` Takashi Iwai
  0 siblings, 0 replies; 48+ messages in thread
From: Takashi Iwai @ 2013-01-10 14:50 UTC (permalink / raw)
  To: Raymond Yau; +Cc: alsa-devel, Jonathan Woithe, peter.golden

At Thu, 10 Jan 2013 22:41:25 +0800,
Raymond Yau wrote:
> 
> > Do you require feedback from me about this?  As far as I can tell it's
> just
> > an observation which might partly explain why the speaker doesn't work on
> > the S7020.
> 
> Peter mentioned that he still get sound from headphone and no sound from
> speaker for auto model, Mic is not working , red light for the optical spdif
> 
> If is strange that amp-in values of all connections are the same
> 
> Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
>   Control: name="Input Source", index=0, device=0
>   Control: name="Capture Switch", index=0, device=0
>   Control: name="Capture Volume", index=0, device=0
>   Device: name="ALC260 Analog", type="Audio", device=0
>   Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
>   Amp-In vals:  [0x22 0x22] [0x22 0x22] [0x22 0x22] [0x22 0x22] [0x22 0x22]
> [0x22 0x22] [0x22 0x22]

This is a bug in the proc output.  Realtek codecs have a single amp
for ADCs.  It's already fixed in the latest code.


Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-08 14:48                   ` Takashi Iwai
@ 2013-01-13  4:39                     ` Jonathan Woithe
  2013-01-13  9:00                       ` Takashi Iwai
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-01-13  4:39 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel, jwoithe, peter.golden

On Tue, Jan 08, 2013 at 03:48:57PM +0100, Takashi Iwai wrote:
> > Node 0x10 is notionally labelled "headphone pin" in the ALC260 datasheet. 
> 
> You can forget the pin notion in the datasheet.  It's just pin
> assignment Realtek thought as a standard arrangement.

Absolutely - that was abundantly clear when I first added the S7020 details
years ago.  The comment was only made in an attempt to make the comments in
the original driver clearer to those reading them now.

> > I've just looked now.  3.3.5 was booted, alsamixer does not show any
> > "automute" control to enable or disable this.  In any case, automute is
> > certainly not happening, so I'm guessing the answer to your question is no.
> 
> There is no automute behavior switching control in the 3.3.x kernel
> driver, so no wonder :)

I wasn't surprised since I thought this too.  However, I was asked to test
it so I did.

> I took a look at your alsa-info.sh outputs now, but unfortunately I
> see no obvious problem there.  At least, the path to the speaker looks
> sane:
> :
> And all GPIOs are cleared too.

Agreed.  Given that the headphone jack works and the respective pin
definition is very similar, I also can't see any obvious reason why things
are getting messed up.  Something subtle perhaps?

> The differences are that the old driver cleared unused pins such as
> 0x0f, 0x11, 0x13 and 0x15.  Could you try to set the pin ctl to 0 for
> these widgets via hda-verb on the fly?

I will try this, hopefully in the next few days.  Like you I suspect, I
can't see that this should make any difference to the speaker's ability to
put out audio or to ALSA's ability to populate alsa-mixer correctly, but
it's easy enough to eliminate it through testing.

> Other than that, the headphone jack is set up with the HP amp and the
> mic is with VREF 50.  They can be changed on the fly, too.

I'll run through some of these variations and let you know the result.

I noticed your big refactoring patch go past last week.  Is there anything  
in there which I should test in relation to the ALC260 / Fujitsu issue
we've been discussing, or should I await further info?

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-13  4:39                     ` Jonathan Woithe
@ 2013-01-13  9:00                       ` Takashi Iwai
  2013-02-10 11:47                         ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Takashi Iwai @ 2013-01-13  9:00 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Sun, 13 Jan 2013 15:09:36 +1030,
Jonathan Woithe wrote:
> 
> On Tue, Jan 08, 2013 at 03:48:57PM +0100, Takashi Iwai wrote:
> > > Node 0x10 is notionally labelled "headphone pin" in the ALC260 datasheet. 
> > 
> > You can forget the pin notion in the datasheet.  It's just pin
> > assignment Realtek thought as a standard arrangement.
> 
> Absolutely - that was abundantly clear when I first added the S7020 details
> years ago.  The comment was only made in an attempt to make the comments in
> the original driver clearer to those reading them now.
> 
> > > I've just looked now.  3.3.5 was booted, alsamixer does not show any
> > > "automute" control to enable or disable this.  In any case, automute is
> > > certainly not happening, so I'm guessing the answer to your question is no.
> > 
> > There is no automute behavior switching control in the 3.3.x kernel
> > driver, so no wonder :)
> 
> I wasn't surprised since I thought this too.  However, I was asked to test
> it so I did.
> 
> > I took a look at your alsa-info.sh outputs now, but unfortunately I
> > see no obvious problem there.  At least, the path to the speaker looks
> > sane:
> > :
> > And all GPIOs are cleared too.
> 
> Agreed.  Given that the headphone jack works and the respective pin
> definition is very similar, I also can't see any obvious reason why things
> are getting messed up.  Something subtle perhaps?

A possible cause I noticed later is the lack of the headphone amp on
the speaker pin.  This might be abused for controlling the speaker
amp.

> > The differences are that the old driver cleared unused pins such as
> > 0x0f, 0x11, 0x13 and 0x15.  Could you try to set the pin ctl to 0 for
> > these widgets via hda-verb on the fly?
> 
> I will try this, hopefully in the next few days.  Like you I suspect, I
> can't see that this should make any difference to the speaker's ability to
> put out audio or to ALSA's ability to populate alsa-mixer correctly, but
> it's easy enough to eliminate it through testing.
> 
> > Other than that, the headphone jack is set up with the HP amp and the
> > mic is with VREF 50.  They can be changed on the fly, too.
> 
> I'll run through some of these variations and let you know the result.
> 
> I noticed your big refactoring patch go past last week.  Is there anything  
> in there which I should test in relation to the ALC260 / Fujitsu issue
> we've been discussing, or should I await further info?

It's worth to test my latest code, yes.  There are lots of fixes
there, too, together with code refactoring.

You can test either master, test/hda-gen-parser or test/hda-migrate
branch of sound-unstable tree:
  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-unstable.git

Or if you want to avoid the kernel rebuild, you can try alsa-driver
externally from a snapshot tarball:
  ftp://ftp.suse.com/pub/people/tiwai/snapshot/alsa-driver-unstable-snapshot.tar.gz


thanks,

Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-01-13  9:00                       ` Takashi Iwai
@ 2013-02-10 11:47                         ` Jonathan Woithe
  2013-02-11  9:02                           ` Takashi Iwai
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-10 11:47 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel, jwoithe, peter.golden

Hi Takashi

On Sun, Jan 13, 2013 at 10:00:16AM +0100, Takashi Iwai wrote:
> > I noticed your big refactoring patch go past last week.  Is there anything  
> > in there which I should test in relation to the ALC260 / Fujitsu issue
> > we've been discussing, or should I await further info?
> 
> It's worth to test my latest code, yes.  There are lots of fixes
> there, too, together with code refactoring.
> 
> You can test either master, test/hda-gen-parser or test/hda-migrate
> branch of sound-unstable tree:
>   git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-unstable.git
> 
> Or if you want to avoid the kernel rebuild, you can try alsa-driver
> externally from a snapshot tarball:
>   ftp://ftp.suse.com/pub/people/tiwai/snapshot/alsa-driver-unstable-snapshot.tar.gz

I'm now back from linux.conf.au and would like to pick up this issue.  Given
that several weeks have elapsed since we last touched base, what would now
be the best tree to test to determine where we are at and what the next
steps should be to restoring the previous functionality for the Fujitsu
S7020 laptop?

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-10 11:47                         ` Jonathan Woithe
@ 2013-02-11  9:02                           ` Takashi Iwai
  2013-02-16 11:25                             ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Takashi Iwai @ 2013-02-11  9:02 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Sun, 10 Feb 2013 22:17:07 +1030,
Jonathan Woithe wrote:
> 
> Hi Takashi
> 
> On Sun, Jan 13, 2013 at 10:00:16AM +0100, Takashi Iwai wrote:
> > > I noticed your big refactoring patch go past last week.  Is there anything  
> > > in there which I should test in relation to the ALC260 / Fujitsu issue
> > > we've been discussing, or should I await further info?
> > 
> > It's worth to test my latest code, yes.  There are lots of fixes
> > there, too, together with code refactoring.
> > 
> > You can test either master, test/hda-gen-parser or test/hda-migrate
> > branch of sound-unstable tree:
> >   git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-unstable.git
> > 
> > Or if you want to avoid the kernel rebuild, you can try alsa-driver
> > externally from a snapshot tarball:
> >   ftp://ftp.suse.com/pub/people/tiwai/snapshot/alsa-driver-unstable-snapshot.tar.gz
> 
> I'm now back from linux.conf.au and would like to pick up this issue.  Given
> that several weeks have elapsed since we last touched base, what would now
> be the best tree to test to determine where we are at and what the next
> steps should be to restoring the previous functionality for the Fujitsu
> S7020 laptop?

Try sound.git tree for-next branch.  It already contains all stuff for
3.9 kernel.


Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-11  9:02                           ` Takashi Iwai
@ 2013-02-16 11:25                             ` Jonathan Woithe
  2013-02-17  8:32                               ` Takashi Iwai
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-16 11:25 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel, jwoithe, peter.golden

On Mon, Feb 11, 2013 at 10:02:49AM +0100, Takashi Iwai wrote:
> > I'm now back from linux.conf.au and would like to pick up this issue.  Given
> > that several weeks have elapsed since we last touched base, what would now
> > be the best tree to test to determine where we are at and what the next
> > steps should be to restoring the previous functionality for the Fujitsu
> > S7020 laptop?
> 
> Try sound.git tree for-next branch.  It already contains all stuff for
> 3.9 kernel.

I've been able to test this (snapshot as of two days ago, reports version
number 3.8.0-rc5+ via uname).  As expected there have been some
improvements.

Things which work:

 * "Headphone Jack Mode" allows switching between "Headphone" and "Line
   out".  Both of these mode settings appear to work.

 * There are separate "Headphone" and "Speaker" volume controls.

 * The "Headphone" volume control influences the headphone jack volume.

 * An "Auto-Mute Mode" control appears in alsamixer (it was missing on
   earlier versions).

 * Alsamixer recognises the presence of two ADCs, giving "Capture" and
   "Capture 1" controls, with corresponding "Input Source" controls.

Things which don't work or are missing:

 * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
   modes (all of which are possible on this system)

 * The "Input source" controls don't offer the "headphone jack" as a
   possible source.

 * The built-in speaker is completely silent under all situations I have
   come up with.  The setting of "Auto-Mute Mode" has no effect, neither
   does a manual unmute of the "Speaker" volume control.  While I don't
   personally care much about this I suspect others might.

 * As eluded to above, the "Auto-Mute Mode" control appears to do nothing.

 * There's no "Mic Jack Mode" control to control the mode of the "mic" jack.
   This jack supports line-in mode as well as the various "mic" modes which
   give varying bias voltages.

Is there further information I could provide or other tests I could do to
help address the "don't work or are missing" items?

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-16 11:25                             ` Jonathan Woithe
@ 2013-02-17  8:32                               ` Takashi Iwai
  2013-02-17 12:53                                 ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Takashi Iwai @ 2013-02-17  8:32 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Sat, 16 Feb 2013 21:55:05 +1030,
Jonathan Woithe wrote:
> 
> On Mon, Feb 11, 2013 at 10:02:49AM +0100, Takashi Iwai wrote:
> > > I'm now back from linux.conf.au and would like to pick up this issue.  Given
> > > that several weeks have elapsed since we last touched base, what would now
> > > be the best tree to test to determine where we are at and what the next
> > > steps should be to restoring the previous functionality for the Fujitsu
> > > S7020 laptop?
> > 
> > Try sound.git tree for-next branch.  It already contains all stuff for
> > 3.9 kernel.
> 
> I've been able to test this (snapshot as of two days ago, reports version
> number 3.8.0-rc5+ via uname).  As expected there have been some
> improvements.

Thanks for testing.

> Things which work:
> 
>  * "Headphone Jack Mode" allows switching between "Headphone" and "Line
>    out".  Both of these mode settings appear to work.
> 
>  * There are separate "Headphone" and "Speaker" volume controls.
> 
>  * The "Headphone" volume control influences the headphone jack volume.
> 
>  * An "Auto-Mute Mode" control appears in alsamixer (it was missing on
>    earlier versions).
> 
>  * Alsamixer recognises the presence of two ADCs, giving "Capture" and
>    "Capture 1" controls, with corresponding "Input Source" controls.
> 
> Things which don't work or are missing:
> 
>  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
>    modes (all of which are possible on this system)

Yes, it is still unimplemented.  So, it's expected not to be there
yet.  If you can hack it by yourself, let me know.

>  * The "Input source" controls don't offer the "headphone jack" as a
>    possible source.

Ditto.

>  * The built-in speaker is completely silent under all situations I have
>    come up with.  The setting of "Auto-Mute Mode" has no effect, neither
>    does a manual unmute of the "Speaker" volume control.  While I don't
>    personally care much about this I suspect others might.

Hm, this is really mysterious.  I have no idea which init code causes
the problem, and it's hard to debug without a hardware.  Could you try
to figure out which setup is missing?


>  * As eluded to above, the "Auto-Mute Mode" control appears to do nothing.
> 
>  * There's no "Mic Jack Mode" control to control the mode of the "mic" jack.
>    This jack supports line-in mode as well as the various "mic" modes which
>    give varying bias voltages.

Strange, the jack mode should appear all input jacks except for the
fixed pin.  Could you give alsa-info.sh output with the latest code?


Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-17  8:32                               ` Takashi Iwai
@ 2013-02-17 12:53                                 ` Jonathan Woithe
  2013-02-17 16:59                                   ` Takashi Iwai
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-17 12:53 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel, jwoithe, peter.golden

On Sun, Feb 17, 2013 at 09:32:38AM +0100, Takashi Iwai wrote:
> > I've been able to test this (snapshot as of two days ago, reports version
> > number 3.8.0-rc5+ via uname).  As expected there have been some
> > improvements.
> 
> Thanks for testing.
> 
> > Things which work:
> > 
> >  * "Headphone Jack Mode" allows switching between "Headphone" and "Line
> >    out".  Both of these mode settings appear to work.
> > 
> >  * There are separate "Headphone" and "Speaker" volume controls.
> > 
> >  * The "Headphone" volume control influences the headphone jack volume.
> > 
> >  * An "Auto-Mute Mode" control appears in alsamixer (it was missing on
> >    earlier versions).
> > 
> >  * Alsamixer recognises the presence of two ADCs, giving "Capture" and
> >    "Capture 1" controls, with corresponding "Input Source" controls.
> > 
> > Things which don't work or are missing:
> > 
> >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> >    modes (all of which are possible on this system)
> 
> Yes, it is still unimplemented.  So, it's expected not to be there
> yet.  If you can hack it by yourself, let me know.

I may be able to give this a go, but from what I recall there was some
debate as to how this should be implemented.  Has that been resolved yet?
Is there any code I could use as a template or example?

> >  * The "Input source" controls don't offer the "headphone jack" as a
> >    possible source.
> 
> Ditto.

Ok.

> >  * The built-in speaker is completely silent under all situations I have
> >    come up with.  The setting of "Auto-Mute Mode" has no effect, neither
> >    does a manual unmute of the "Speaker" volume control.  While I don't
> >    personally care much about this I suspect others might.
> 
> Hm, this is really mysterious.  I have no idea which init code causes
> the problem, and it's hard to debug without a hardware.  Could you try
> to figure out which setup is missing?

I spent a quite some time on this using hda-verb tonight with no success.
I tried many combinations of mute settings and in the end unmuted every node
I can see which lies between the DAC (nid 0x2) and the speaker in this
laptop (nid 0x10).  That is:

 * Unmute the inputs on node 0x9
 * Maximise the volume on node 0x9
 * Unmute the input to node 0x10

Even with this the speakers remained mute.  I then tried using the relevant
parts of the S702X initialisation sequence from 3.3.5 but even this didn't
permit the speaker to make any sound.  Whatever's going on it's subtle.

I confirmed that the alsamixer "Speaker Volume" control manipulated the
output volume control of node 0x9 as it should.

A quick comparison of /proc/asound/card0/codec#0 from 3.3.5 (where the
speaker works) and 3.8.0-rc5+ (where it doesn't) failed to show anything
obvious.  A more detailed comparison may be required.

> >  * As eluded to above, the "Auto-Mute Mode" control appears to do nothing.
> > 
> >  * There's no "Mic Jack Mode" control to control the mode of the "mic" jack.
> >    This jack supports line-in mode as well as the various "mic" modes which
> >    give varying bias voltages.
> 
> Strange, the jack mode should appear all input jacks except for the
> fixed pin.  Could you give alsa-info.sh output with the latest code?

The alsa-info is included at the end of this message.  To assist in the
debugging of the speaker problem I've also included the output generated
from 3.3.5.  Both of these had the speaker unmuted and set to the same
volume in alsamixer, and the 3.8.0-rc5+ one also had auto-mute mode disabled
so they should be directly comparable.

To confirm the behaviour: the "Headphone Jack Mode" control appears in
3.8.0-rc5+ but a corresponding control for the mic/line-in jack does not.

jonathan


**** alsa-info from 3.8.0-rc5+:

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

!!Script ran on: Sun Feb 17 12:46:12 UTC 2013


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

Slackware 13.37.0


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

Manufacturer:      FUJITSU
Product Name:      LifeBook S7020
Product Version:    
Firmware Version:  Version 1.05 


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

Kernel release:    3.8.0-rc5+
Operating System:  GNU/Linux
Architecture:      i686
Processor:         Intel(R) Pentium(R) M processor 2.00GHz
SMP Enabled:       Yes


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

Driver version:     k3.8.0-rc5+
Library version:    1.0.26
Utilities version:  1.0.26


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

snd_hda_intel


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

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


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

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xb0000000 irq 42


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

00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)


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

00:1b.0 0403: 8086:2668 (rev 04)
	Subsystem: 10cf:1326


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

snd-hda-intel: enable_msi=1
snd-pcm-oss: adsp_map=2


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

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : 1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 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
	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 : -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
	power_save : 0
	power_save_controller : -1
	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 ALC260
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0260
Subsystem Id: 0x10cf0000
Revision Id: 0x100400
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
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0
GPIO: io=4, 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
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  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 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x0c 0x0c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12* 0x13 0x14 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Volume", index=1, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=1, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="ALC260 Alt Analog", type="Audio", device=2
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12* 0x13 0x14 0x15 0x16 0x07 0x0f 0x10
Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x19
Node 0x07 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x03 0x03] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 8
     0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00] [0x80]
  Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
  Amp-Out vals:  [0x23]
  Connection: 2
     0x02 0x07
Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  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: 1
     0x08
Node 0x10 [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
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0xe4011110: [Both] Line Out at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
Node 0x11 [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: 0x40: OUT
  Connection: 1
     0x0a
Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Mic Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x03a11820: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x21: IN VREF_50
  Unsolicited: tag=03, enabled=1
  Connection: 1
     0x0b
Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Line Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x24811121: [Jack] Line In at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  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 VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
  Control: name="CD Phantom Jack", index=0, device=0
  Pincap 0x00000020: IN
  Pin Default 0x88331122: [Fixed] CD at Ext Drive Bar
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x2
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x17 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0xb7931123: [Fixed] Aux at Oth Mobile-In
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x3
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x03
Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
Node 0x1a [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=13
Node 0x1b [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=0, steps=64, direct=0, val=0
  Unsolicited: tag=00, enabled=0
  Connection: 0
Codec: LSI ID 3026
Address: 1
MFG Function Id: 0x2 (unsol 1)
Vendor Id: 0x11c13026
Subsystem Id: 0x11c13026
Revision Id: 0x100600
Modem Function Group: 0x1
--endcollapse--


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

crw-rw---- 1 root audio 116,  7 Feb 18  2013 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  6 Feb 18  2013 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  5 Feb 18  2013 /dev/snd/hwC0D1
crw-rw---- 1 root audio 116,  4 Feb 18  2013 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116,  3 Feb 18  2013 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116,  2 Feb 18  2013 /dev/snd/pcmC0D2c
crw-rw---- 1 root audio 116,  1 Feb 17 23:06 /dev/snd/seq
crw-rw---- 1 root audio 116, 33 Feb 17 23:05 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Feb 18  2013 .
drwxr-xr-x 3 root root 220 Feb 18  2013 ..
lrwxrwxrwx 1 root root  12 Feb 18  2013 pci-0000:00:1b.0 -> ../controlC0


!!ALSA configuration files
!!------------------------

!!User specific config file (~/.asoundrc)

# Entry for 4-channel input on an HDA card
pcm.hda4chi {
  type multi
  # Bind hardware devices
  slaves.a.pcm "hw:0,0"
  slaves.a.channels 2
  slaves.b.pcm "hw:0,2"
  slaves.b.channels 2
  # Bind channels to a virtual device
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

ctl.hda4chi {
  type hw
  card 0
}


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

APLAY

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

ARECORD

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

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

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

Card hw:0 'Intel'/'HDA Intel at 0xb0000000 irq 42'
  Mixer name	: 'Realtek ALC260'
  Components	: 'HDA:10ec0260,10cf0000,00100400 HDA:11c13026,11c13026,00100600'
  Controls      : 29
  Simple ctrls  : 13
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 51 [80%] [-13.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 52 [81%] [-12.00dB] [on]
  Front Right: Playback 52 [81%] [-12.00dB] [on]
Simple mixer control 'Headphone Jack Mode',0
  Capabilities: enum
  Items: 'Line Out' 'Headphone Out'
  Item0: 'Line Out'
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 52 [81%] [-12.00dB] [on]
  Front Right: Playback 52 [81%] [-12.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 0 [0%] [-35.00dB] [off]
  Front Right: Playback 0 [0%] [-35.00dB] [off]
Simple mixer control 'CD',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 3 [5%] [-32.00dB] [on]
  Front Right: Playback 3 [5%] [-32.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 0 [0%] [-35.00dB] [off]
  Front Right: Playback 0 [0%] [-35.00dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 12 [34%] [12.00dB] [on]
  Front Right: Capture 12 [34%] [12.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 0 [0%] [0.00dB] [off]
  Front Right: Capture 0 [0%] [0.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Mic' 'Line' 'CD'
  Item0: 'Mic'
Simple mixer control 'Input Source',1
  Capabilities: cenum
  Items: 'Mic' 'Line' 'CD'
  Item0: 'Mic'


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

--startcollapse--
state.Intel {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 52
		value.1 52
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1200
			dbvalue.1 -1200
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 52
		value.1 52
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1200
			dbvalue.1 -1200
		}
	}
	control.4 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3500
			dbvalue.1 -3500
		}
	}
	control.6 {
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.7 {
		iface MIXER
		name 'Line Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3500
			dbvalue.1 -3500
		}
	}
	control.8 {
		iface MIXER
		name 'Line Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.9 {
		iface MIXER
		name 'CD Playback Volume'
		value.0 3
		value.1 3
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3200
			dbvalue.1 -3200
		}
	}
	control.10 {
		iface MIXER
		name 'CD Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.12 {
		iface MIXER
		name 'Input Source'
		value Mic
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic
			item.1 Line
			item.2 CD
		}
	}
	control.13 {
		iface MIXER
		name 'Input Source'
		index 1
		value Mic
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic
			item.1 Line
			item.2 CD
		}
	}
	control.14 {
		iface MIXER
		name 'Capture Volume'
		value.0 12
		value.1 12
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 35'
			dbmin 0
			dbmax 3500
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.15 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.16 {
		iface MIXER
		name 'Capture Volume'
		index 1
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 35'
			dbmin 0
			dbmax 3500
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.17 {
		iface MIXER
		name 'Capture Switch'
		index 1
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.18 {
		iface MIXER
		name 'Headphone Jack Mode'
		value 'Line Out'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Line Out'
			item.1 'Headphone Out'
		}
	}
	control.19 {
		iface MIXER
		name 'Master Playback Volume'
		value 51
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1300
		}
	}
	control.20 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface CARD
		name 'Line Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface CARD
		name 'CD Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.26 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.27 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.28 {
		iface PCM
		device 2
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.29 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


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

Module
snd_seq_dummy
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm_oss
snd_mixer_oss
ipv6
i915
drm_kms_helper
drm
pcmcia
i2c_algo_bit
ipw2200
libipw
acpi_cpufreq
freq_table
mperf
apanel
cfg80211
tg3
libphy
i2c_i801
yenta_socket
firewire_ohci
processor
video
ac
battery
thermal_sys
button
fujitsu_laptop
ptp
rfkill
pcmcia_rsrc
input_polldev
pcmcia_core
firewire_core
i2c_core
pps_core
lib80211
evdev
snd_hda_codec_realtek
psmouse
snd_hda_intel
snd_hda_codec
intel_agp
snd_hwdep
snd_pcm
intel_gtt
agpgart
snd_timer
sg
snd
hwmon
soundcore
snd_page_alloc
microcode


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x0f 0x411111f0
0x10 0xe4011110
0x11 0x411111f0
0x12 0x03a11820
0x13 0x24811121
0x14 0x0321101f
0x15 0x411111f0
0x16 0x88331122
0x17 0xb7931123
0x18 0x411111f0
0x19 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D1/init_pin_configs:

/sys/class/sound/hwC0D1/driver_pin_configs:

/sys/class/sound/hwC0D1/user_pin_configs:

/sys/class/sound/hwC0D1/init_verbs:


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

agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xc0000000
snd_hda_intel 0000:00:1b.0: irq 42 for MSI/MSI-X
intel_rng: FWH not detected
input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input1
input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input2
lib80211: common routines for IEEE802.11 drivers



**** alsa-info from 3.3.5:

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

!!Script ran on: Sun Feb 17 12:34:20 UTC 2013


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

Slackware 13.37.0


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

Manufacturer:      FUJITSU
Product Name:      LifeBook S7020
Product Version:    
Firmware Version:  Version 1.05 


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

Kernel release:    3.3.5
Operating System:  GNU/Linux
Architecture:      i686
Processor:         Intel(R) Pentium(R) M processor 2.00GHz
SMP Enabled:       Yes


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

Driver version:     1.0.24
Library version:    1.0.26
Utilities version:  1.0.26


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

snd_hda_intel


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

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


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

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xb0000000 irq 42


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

00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)


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

00:1b.0 0403: 8086:2668 (rev 04)
	Subsystem: 10cf:1326


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

snd-hda-intel: enable_msi=1
snd-pcm-oss: adsp_map=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
	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 ALC260
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0260
Subsystem Id: 0x10cf0000
Revision Id: 0x100400
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=4, 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
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  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 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c] [0x0c 0x0c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12* 0x13 0x14 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=1, device=0
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Device: name="ALC260 Analog", type="Audio", device=2
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12* 0x13 0x14 0x15 0x16 0x07 0x0f 0x10
Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x19
Node 0x07 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Mic/Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic/Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x03 0x03] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 8
     0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80] [0x80]
  Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
  Amp-Out vals:  [0x00]
  Connection: 2
     0x02 0x07
Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x08
Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0xe4011110: [Both] Line Out at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
Node 0x11 [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
     0x0a
Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Mic/Line Jack Mode", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x03a11820: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0b
Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x24811121: [Jack] Line In at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Jack Mode", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x00000020: IN
  Pin Default 0x88331122: [Fixed] CD at Ext Drive Bar
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x2
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x17 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0xb7931123: [Fixed] Aux at Oth Mobile-In
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x3
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x03
Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
Node 0x1a [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=13
Node 0x1b [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=0, steps=64, direct=0, val=0
  Unsolicited: tag=00, enabled=0
  Connection: 0
Codec: LSI ID 3026
Address: 1
MFG Function Id: 0x2 (unsol 1)
Vendor Id: 0x11c13026
Subsystem Id: 0x11c13026
Revision Id: 0x100600
Modem Function Group: 0x1
--endcollapse--


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

crw-rw---- 1 root audio 116,  7 Feb 18  2013 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  6 Feb 18  2013 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  5 Feb 18  2013 /dev/snd/hwC0D1
crw-rw---- 1 root audio 116,  4 Feb 18  2013 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116,  3 Feb 18  2013 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116,  2 Feb 18  2013 /dev/snd/pcmC0D2c
crw-rw---- 1 root audio 116,  1 Feb 17 23:02 /dev/snd/seq
crw-rw---- 1 root audio 116, 33 Feb 17 23:02 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Feb 18  2013 .
drwxr-xr-x 3 root root 220 Feb 18  2013 ..
lrwxrwxrwx 1 root root  12 Feb 18  2013 pci-0000:00:1b.0 -> ../controlC0


!!ALSA configuration files
!!------------------------

!!User specific config file (~/.asoundrc)

# Entry for 4-channel input on an HDA card
pcm.hda4chi {
  type multi
  # Bind hardware devices
  slaves.a.pcm "hw:0,0"
  slaves.a.channels 2
  slaves.b.pcm "hw:0,2"
  slaves.b.channels 2
  # Bind channels to a virtual device
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

ctl.hda4chi {
  type hw
  card 0
}


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

APLAY

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

ARECORD

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

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

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

Card hw:0 'Intel'/'HDA Intel at 0xb0000000 irq 42'
  Mixer name	: 'Realtek ALC260'
  Components	: 'HDA:10ec0260,10cf0000,00100400 HDA:11c13026,11c13026,00100600'
  Controls      : 19
  Simple ctrls  : 12
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 51 [80%] [-13.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 52 [81%] [-12.00dB] [on]
  Front Right: Playback 52 [81%] [-12.00dB] [on]
Simple mixer control 'Headphone Jack Mode',0
  Capabilities: enum
  Items: 'Mic 50pc bias' 'Mic 80pc bias' 'Line in' 'Line out' 'Headphone out'
  Item0: 'Line out'
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 52 [81%] [-12.00dB] [on]
  Front Right: Playback 52 [81%] [-12.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'CD',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 3 [5%] [-32.00dB] [on]
  Front Right: Playback 3 [5%] [-32.00dB] [on]
Simple mixer control 'Mic/Line',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 0 [0%] [-35.00dB] [off]
  Front Right: Playback 0 [0%] [-35.00dB] [off]
Simple mixer control 'Mic/Line Jack Mode',0
  Capabilities: enum
  Items: 'Mic 50pc bias' 'Mic 80pc bias' 'Line in'
  Item0: 'Line in'
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 12 [34%] [12.00dB] [on]
  Front Right: Capture 12 [34%] [12.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 0 [0%] [0.00dB] [off]
  Front Right: Capture 0 [0%] [0.00dB] [off]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Mic/Line' 'CD' 'Headphone'
  Item0: 'Mic/Line'
Simple mixer control 'Input Source',1
  Capabilities: cenum
  Items: 'Mic/Line' 'CD' 'Headphone' 'Mixer'
  Item0: 'Mic/Line'


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

--startcollapse--
state.Intel {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 52
		value.1 52
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1200
			dbvalue.1 -1200
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Jack Mode'
		value 'Line out'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Mic 50pc bias'
			item.1 'Mic 80pc bias'
			item.2 'Line in'
			item.3 'Line out'
			item.4 'Headphone out'
		}
	}
	control.4 {
		iface MIXER
		name 'CD Playback Volume'
		value.0 3
		value.1 3
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3200
			dbvalue.1 -3200
		}
	}
	control.5 {
		iface MIXER
		name 'CD Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.6 {
		iface MIXER
		name 'Mic/Line Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 65'
			dbmin -3500
			dbmax 3000
			dbvalue.0 -3500
			dbvalue.1 -3500
		}
	}
	control.7 {
		iface MIXER
		name 'Mic/Line Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Mic/Line Jack Mode'
		value 'Line in'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Mic 50pc bias'
			item.1 'Mic 80pc bias'
			item.2 'Line in'
		}
	}
	control.9 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 52
		value.1 52
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1200
			dbvalue.1 -1200
		}
	}
	control.10 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Switch'
		index 1
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Volume'
		value.0 12
		value.1 12
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 35'
			dbmin 0
			dbmax 3500
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.14 {
		iface MIXER
		name 'Capture Volume'
		index 1
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 35'
			dbmin 0
			dbmax 3500
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.15 {
		iface MIXER
		name 'Input Source'
		value Mic/Line
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic/Line
			item.1 CD
			item.2 Headphone
		}
	}
	control.16 {
		iface MIXER
		name 'Input Source'
		index 1
		value Mic/Line
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Mic/Line
			item.1 CD
			item.2 Headphone
			item.3 Mixer
		}
	}
	control.17 {
		iface MIXER
		name 'Master Playback Volume'
		value 51
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 -1300
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


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

Module
snd_seq_dummy
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm_oss
snd_mixer_oss
ipv6
pcmcia
tg3
libphy
ipw2200
libipw
i2c_i801
firewire_ohci
yenta_socket
pcmcia_rsrc
pcmcia_core
i915
firewire_core
drm_kms_helper
drm
i2c_algo_bit
processor
video
thermal_sys
fujitsu_laptop
battery
intel_agp
intel_gtt
agpgart
button
ac
snd_hda_codec_realtek
hwmon
apanel
sg
input_polldev
i2c_core
snd_hda_intel
snd_hda_codec
snd_hwdep
psmouse
snd_pcm
cfg80211
snd_timer
rfkill
lib80211
evdev
snd
soundcore
snd_page_alloc


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

/sys/class/sound/hwC0D0/init_pin_configs:
0x0f 0x411111f0
0x10 0xe4011110
0x11 0x411111f0
0x12 0x03a11820
0x13 0x24811121
0x14 0x0321101f
0x15 0x411111f0
0x16 0x88331122
0x17 0xb7931123
0x18 0x411111f0
0x19 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D1/init_pin_configs:

/sys/class/sound/hwC0D1/driver_pin_configs:

/sys/class/sound/hwC0D1/user_pin_configs:

/sys/class/sound/hwC0D1/init_verbs:


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

cfg80211: Calling CRDA to update world regulatory domain
snd_hda_intel 0000:00:1b.0: irq 42 for MSI/MSI-X
sd 0:0:0:0: Attached scsi generic sg0 type 0

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-17 12:53                                 ` Jonathan Woithe
@ 2013-02-17 16:59                                   ` Takashi Iwai
  2013-02-17 17:00                                     ` Takashi Iwai
  2013-02-20 10:33                                     ` Takashi Iwai
  0 siblings, 2 replies; 48+ messages in thread
From: Takashi Iwai @ 2013-02-17 16:59 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Sun, 17 Feb 2013 23:23:16 +1030,
Jonathan Woithe wrote:
> 
> On Sun, Feb 17, 2013 at 09:32:38AM +0100, Takashi Iwai wrote:
> > > I've been able to test this (snapshot as of two days ago, reports version
> > > number 3.8.0-rc5+ via uname).  As expected there have been some
> > > improvements.
> > 
> > Thanks for testing.
> > 
> > > Things which work:
> > > 
> > >  * "Headphone Jack Mode" allows switching between "Headphone" and "Line
> > >    out".  Both of these mode settings appear to work.
> > > 
> > >  * There are separate "Headphone" and "Speaker" volume controls.
> > > 
> > >  * The "Headphone" volume control influences the headphone jack volume.
> > > 
> > >  * An "Auto-Mute Mode" control appears in alsamixer (it was missing on
> > >    earlier versions).
> > > 
> > >  * Alsamixer recognises the presence of two ADCs, giving "Capture" and
> > >    "Capture 1" controls, with corresponding "Input Source" controls.
> > > 
> > > Things which don't work or are missing:
> > > 
> > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > >    modes (all of which are possible on this system)
> > 
> > Yes, it is still unimplemented.  So, it's expected not to be there
> > yet.  If you can hack it by yourself, let me know.
> 
> I may be able to give this a go, but from what I recall there was some
> debate as to how this should be implemented.  Has that been resolved yet?

No, we need to try to implement something and discuss later.
I think simply implementing two things would work: providing the vref
setup in Headphone Jack Mode enum, and add a pin to the Input Source.
User would require two setups, but it's less conflicting with giving
implicit dependency with each other, IMO.

> Is there any code I could use as a template or example?

No template, since the parser code has been completely rewritten
recently.  Just take a look at hda_generic.c.


> > >  * The "Input source" controls don't offer the "headphone jack" as a
> > >    possible source.
> > 
> > Ditto.
> 
> Ok.
> 
> > >  * The built-in speaker is completely silent under all situations I have
> > >    come up with.  The setting of "Auto-Mute Mode" has no effect, neither
> > >    does a manual unmute of the "Speaker" volume control.  While I don't
> > >    personally care much about this I suspect others might.
> > 
> > Hm, this is really mysterious.  I have no idea which init code causes
> > the problem, and it's hard to debug without a hardware.  Could you try
> > to figure out which setup is missing?
> 
> I spent a quite some time on this using hda-verb tonight with no success.
> I tried many combinations of mute settings and in the end unmuted every node
> I can see which lies between the DAC (nid 0x2) and the speaker in this
> laptop (nid 0x10).  That is:
> 
>  * Unmute the inputs on node 0x9
>  * Maximise the volume on node 0x9
>  * Unmute the input to node 0x10
> 
> Even with this the speakers remained mute.  I then tried using the relevant
> parts of the S702X initialisation sequence from 3.3.5 but even this didn't
> permit the speaker to make any sound.  Whatever's going on it's subtle.
> 
> I confirmed that the alsamixer "Speaker Volume" control manipulated the
> output volume control of node 0x9 as it should.
> 
> A quick comparison of /proc/asound/card0/codec#0 from 3.3.5 (where the
> speaker works) and 3.8.0-rc5+ (where it doesn't) failed to show anything
> obvious.  A more detailed comparison may be required.

Hm, then maybe the default initialization verbs for ALC260 does
something harmful for this machine?  A quick (untested) patch is
below.


> > >  * As eluded to above, the "Auto-Mute Mode" control appears to do nothing.
> > > 
> > >  * There's no "Mic Jack Mode" control to control the mode of the "mic" jack.
> > >    This jack supports line-in mode as well as the various "mic" modes which
> > >    give varying bias voltages.
> > 
> > Strange, the jack mode should appear all input jacks except for the
> > fixed pin.  Could you give alsa-info.sh output with the latest code?
> 
> The alsa-info is included at the end of this message.  To assist in the
> debugging of the speaker problem I've also included the output generated
> from 3.3.5.  Both of these had the speaker unmuted and set to the same
> volume in alsamixer, and the 3.8.0-rc5+ one also had auto-mute mode disabled
> so they should be directly comparable.
> 
> To confirm the behaviour: the "Headphone Jack Mode" control appears in
> 3.8.0-rc5+ but a corresponding control for the mic/line-in jack does not.

Ah, I see.  This doesn't appear as default.  You need to pass a hint
string in the firmware patch file.  See a brief description in
Documentation/sound/alsa/HD-Audio.txt.


Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-17 16:59                                   ` Takashi Iwai
@ 2013-02-17 17:00                                     ` Takashi Iwai
  2013-02-18  8:49                                       ` Takashi Iwai
  2013-02-20 10:33                                     ` Takashi Iwai
  1 sibling, 1 reply; 48+ messages in thread
From: Takashi Iwai @ 2013-02-17 17:00 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Sun, 17 Feb 2013 17:59:29 +0100,
Takashi Iwai wrote:
> 
> At Sun, 17 Feb 2013 23:23:16 +1030,
> Jonathan Woithe wrote:
> > 
> > On Sun, Feb 17, 2013 at 09:32:38AM +0100, Takashi Iwai wrote:
> > > > I've been able to test this (snapshot as of two days ago, reports version
> > > > number 3.8.0-rc5+ via uname).  As expected there have been some
> > > > improvements.
> > > 
> > > Thanks for testing.
> > > 
> > > > Things which work:
> > > > 
> > > >  * "Headphone Jack Mode" allows switching between "Headphone" and "Line
> > > >    out".  Both of these mode settings appear to work.
> > > > 
> > > >  * There are separate "Headphone" and "Speaker" volume controls.
> > > > 
> > > >  * The "Headphone" volume control influences the headphone jack volume.
> > > > 
> > > >  * An "Auto-Mute Mode" control appears in alsamixer (it was missing on
> > > >    earlier versions).
> > > > 
> > > >  * Alsamixer recognises the presence of two ADCs, giving "Capture" and
> > > >    "Capture 1" controls, with corresponding "Input Source" controls.
> > > > 
> > > > Things which don't work or are missing:
> > > > 
> > > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > > >    modes (all of which are possible on this system)
> > > 
> > > Yes, it is still unimplemented.  So, it's expected not to be there
> > > yet.  If you can hack it by yourself, let me know.
> > 
> > I may be able to give this a go, but from what I recall there was some
> > debate as to how this should be implemented.  Has that been resolved yet?
> 
> No, we need to try to implement something and discuss later.
> I think simply implementing two things would work: providing the vref
> setup in Headphone Jack Mode enum, and add a pin to the Input Source.
> User would require two setups, but it's less conflicting with giving
> implicit dependency with each other, IMO.
> 
> > Is there any code I could use as a template or example?
> 
> No template, since the parser code has been completely rewritten
> recently.  Just take a look at hda_generic.c.
> 
> 
> > > >  * The "Input source" controls don't offer the "headphone jack" as a
> > > >    possible source.
> > > 
> > > Ditto.
> > 
> > Ok.
> > 
> > > >  * The built-in speaker is completely silent under all situations I have
> > > >    come up with.  The setting of "Auto-Mute Mode" has no effect, neither
> > > >    does a manual unmute of the "Speaker" volume control.  While I don't
> > > >    personally care much about this I suspect others might.
> > > 
> > > Hm, this is really mysterious.  I have no idea which init code causes
> > > the problem, and it's hard to debug without a hardware.  Could you try
> > > to figure out which setup is missing?
> > 
> > I spent a quite some time on this using hda-verb tonight with no success.
> > I tried many combinations of mute settings and in the end unmuted every node
> > I can see which lies between the DAC (nid 0x2) and the speaker in this
> > laptop (nid 0x10).  That is:
> > 
> >  * Unmute the inputs on node 0x9
> >  * Maximise the volume on node 0x9
> >  * Unmute the input to node 0x10
> > 
> > Even with this the speakers remained mute.  I then tried using the relevant
> > parts of the S702X initialisation sequence from 3.3.5 but even this didn't
> > permit the speaker to make any sound.  Whatever's going on it's subtle.
> > 
> > I confirmed that the alsamixer "Speaker Volume" control manipulated the
> > output volume control of node 0x9 as it should.
> > 
> > A quick comparison of /proc/asound/card0/codec#0 from 3.3.5 (where the
> > speaker works) and 3.8.0-rc5+ (where it doesn't) failed to show anything
> > obvious.  A more detailed comparison may be required.
> 
> Hm, then maybe the default initialization verbs for ALC260 does
> something harmful for this machine?  A quick (untested) patch is
> below.

Oops, forgot got attach.


Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 48c9d10..e7fe5e0 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1516,8 +1516,12 @@ static void alc260_fixup_fsc_s7020(struct hda_codec *codec,
 {
 	struct alc_spec *spec = codec->spec;
 
-	if (action == HDA_FIXUP_ACT_PRE_PROBE)
+	if (action == HDA_FIXUP_ACT_PRE_PROBE) {
 		spec->gen.add_out_jack_modes = 1;
+		spec->cdefine.fixup = 1;
+		spec->cdefine.sku_cfg = ALC_FIXUP_SKU_IGNORE;
+		spec->init_amp = ALC_INIT_NONE;
+	}
 }
 
 static const struct hda_fixup alc260_fixups[] = {

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-17 17:00                                     ` Takashi Iwai
@ 2013-02-18  8:49                                       ` Takashi Iwai
  2013-02-18 12:50                                         ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Takashi Iwai @ 2013-02-18  8:49 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Sun, 17 Feb 2013 18:00:21 +0100,
Takashi Iwai wrote:
> 
> At Sun, 17 Feb 2013 17:59:29 +0100,
> Takashi Iwai wrote:
> > 
> > At Sun, 17 Feb 2013 23:23:16 +1030,
> > Jonathan Woithe wrote:
> > > 
> > > On Sun, Feb 17, 2013 at 09:32:38AM +0100, Takashi Iwai wrote:
> > > > > I've been able to test this (snapshot as of two days ago, reports version
> > > > > number 3.8.0-rc5+ via uname).  As expected there have been some
> > > > > improvements.
> > > > 
> > > > Thanks for testing.
> > > > 
> > > > > Things which work:
> > > > > 
> > > > >  * "Headphone Jack Mode" allows switching between "Headphone" and "Line
> > > > >    out".  Both of these mode settings appear to work.
> > > > > 
> > > > >  * There are separate "Headphone" and "Speaker" volume controls.
> > > > > 
> > > > >  * The "Headphone" volume control influences the headphone jack volume.
> > > > > 
> > > > >  * An "Auto-Mute Mode" control appears in alsamixer (it was missing on
> > > > >    earlier versions).
> > > > > 
> > > > >  * Alsamixer recognises the presence of two ADCs, giving "Capture" and
> > > > >    "Capture 1" controls, with corresponding "Input Source" controls.
> > > > > 
> > > > > Things which don't work or are missing:
> > > > > 
> > > > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > > > >    modes (all of which are possible on this system)
> > > > 
> > > > Yes, it is still unimplemented.  So, it's expected not to be there
> > > > yet.  If you can hack it by yourself, let me know.
> > > 
> > > I may be able to give this a go, but from what I recall there was some
> > > debate as to how this should be implemented.  Has that been resolved yet?
> > 
> > No, we need to try to implement something and discuss later.
> > I think simply implementing two things would work: providing the vref
> > setup in Headphone Jack Mode enum, and add a pin to the Input Source.
> > User would require two setups, but it's less conflicting with giving
> > implicit dependency with each other, IMO.
> > 
> > > Is there any code I could use as a template or example?
> > 
> > No template, since the parser code has been completely rewritten
> > recently.  Just take a look at hda_generic.c.
> > 
> > 
> > > > >  * The "Input source" controls don't offer the "headphone jack" as a
> > > > >    possible source.
> > > > 
> > > > Ditto.
> > > 
> > > Ok.
> > > 
> > > > >  * The built-in speaker is completely silent under all situations I have
> > > > >    come up with.  The setting of "Auto-Mute Mode" has no effect, neither
> > > > >    does a manual unmute of the "Speaker" volume control.  While I don't
> > > > >    personally care much about this I suspect others might.
> > > > 
> > > > Hm, this is really mysterious.  I have no idea which init code causes
> > > > the problem, and it's hard to debug without a hardware.  Could you try
> > > > to figure out which setup is missing?
> > > 
> > > I spent a quite some time on this using hda-verb tonight with no success.
> > > I tried many combinations of mute settings and in the end unmuted every node
> > > I can see which lies between the DAC (nid 0x2) and the speaker in this
> > > laptop (nid 0x10).  That is:
> > > 
> > >  * Unmute the inputs on node 0x9
> > >  * Maximise the volume on node 0x9
> > >  * Unmute the input to node 0x10
> > > 
> > > Even with this the speakers remained mute.  I then tried using the relevant
> > > parts of the S702X initialisation sequence from 3.3.5 but even this didn't
> > > permit the speaker to make any sound.  Whatever's going on it's subtle.
> > > 
> > > I confirmed that the alsamixer "Speaker Volume" control manipulated the
> > > output volume control of node 0x9 as it should.
> > > 
> > > A quick comparison of /proc/asound/card0/codec#0 from 3.3.5 (where the
> > > speaker works) and 3.8.0-rc5+ (where it doesn't) failed to show anything
> > > obvious.  A more detailed comparison may be required.
> > 
> > Hm, then maybe the default initialization verbs for ALC260 does
> > something harmful for this machine?  A quick (untested) patch is
> > below.
> 
> Oops, forgot got attach.

Scratch that.  It doesn't work as expected.
Try the following one instead.


Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 48c9d10..e0e0a5a 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1516,8 +1516,14 @@ static void alc260_fixup_fsc_s7020(struct hda_codec *codec,
 {
 	struct alc_spec *spec = codec->spec;
 
-	if (action == HDA_FIXUP_ACT_PRE_PROBE)
+	switch (action) {
+	case HDA_FIXUP_ACT_PRE_PROBE:
 		spec->gen.add_out_jack_modes = 1;
+		break;
+	case HDA_FIXUP_ACT_PROBE:
+		spec->init_amp = ALC_INIT_NONE;
+		break;
+	}
 }
 
 static const struct hda_fixup alc260_fixups[] = {

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-18  8:49                                       ` Takashi Iwai
@ 2013-02-18 12:50                                         ` Jonathan Woithe
  2013-02-18 12:58                                           ` Raymond Yau
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-18 12:50 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel, jwoithe, peter.golden

> > To confirm the behaviour: the "Headphone Jack Mode" control appears in
> > 3.8.0-rc5+ but a corresponding control for the mic/line-in jack does not.
> 
> Ah, I see.  This doesn't appear as default.  You need to pass a hint
> string in the firmware patch file.  See a brief description in
> Documentation/sound/alsa/HD-Audio.txt.

Right.  I'll take a look at this documentation.  I must say that it strikes
me as a little odd that input jacks don't have a mode control by default.  I
would have expected that such controls would be desired by enough people to
justify having them appear by default without each user having to mess
around with firmware patch files and the like.

I assume the magic knob is add_in_jack_modes.

Is there any reason why alc260_fixup_fsc_s7020() couldn't set
spec->gen.add_in_jack_modes to 1 in the HDA_FIXUP_ACT_PRE_PROBE phase much
like it already sets add_out_jack_modes?

On Mon, Feb 18, 2013 at 09:49:54AM +0100, Takashi Iwai wrote:
> > > > On Sun, Feb 17, 2013 at 09:32:38AM +0100, Takashi Iwai wrote:
> > > > > > I've been able to test this (snapshot as of two days ago, reports version
> > > > > > number 3.8.0-rc5+ via uname).  As expected there have been some
> > > > > > improvements.
> > > > > 
> > > > > Thanks for testing.
:
> > > > > > Things which don't work or are missing:
> > > > > > 
> > > > > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > > > > >    modes (all of which are possible on this system)
> > > > > 
> > > > > Yes, it is still unimplemented.  So, it's expected not to be there
> > > > > yet.  If you can hack it by yourself, let me know.
> > > > 
> > > > I may be able to give this a go, but from what I recall there was some
> > > > debate as to how this should be implemented.  Has that been resolved yet?
> > > 
> > > No, we need to try to implement something and discuss later.
> > > I think simply implementing two things would work: providing the vref
> > > setup in Headphone Jack Mode enum, and add a pin to the Input Source.
> > > User would require two setups, but it's less conflicting with giving
> > > implicit dependency with each other, IMO.
> > > 
> > > > Is there any code I could use as a template or example?
> > > 
> > > No template, since the parser code has been completely rewritten
> > > recently.  Just take a look at hda_generic.c.
> > > 
> > > > > >  * The "Input source" controls don't offer the "headphone jack" as a
> > > > > >    possible source.
> > > > > 
> > > > > Ditto.
> > > > 
> > > > Ok.
> > > > 
> > > > > >  * The built-in speaker is completely silent under all situations I have
> > > > > >    come up with.  The setting of "Auto-Mute Mode" has no effect, neither
> > > > > >    does a manual unmute of the "Speaker" volume control.  While I don't
> > > > > >    personally care much about this I suspect others might.
> > > > > 
> > > > > Hm, this is really mysterious.  I have no idea which init code causes
> > > > > the problem, and it's hard to debug without a hardware.  Could you try
> > > > > to figure out which setup is missing?
> > > > 
> > > > I spent a quite some time on this using hda-verb tonight with no success.
> > > > I tried many combinations of mute settings and in the end unmuted every node
> > > > I can see which lies between the DAC (nid 0x2) and the speaker in this
> > > > laptop (nid 0x10).  That is:
> > > > 
> > > >  * Unmute the inputs on node 0x9
> > > >  * Maximise the volume on node 0x9
> > > >  * Unmute the input to node 0x10
> > > > 
> > > > Even with this the speakers remained mute.  I then tried using the relevant
> > > > parts of the S702X initialisation sequence from 3.3.5 but even this didn't
> > > > permit the speaker to make any sound.  Whatever's going on it's subtle.
> > > > 
> > > > I confirmed that the alsamixer "Speaker Volume" control manipulated the
> > > > output volume control of node 0x9 as it should.
> > > > 
> > > > A quick comparison of /proc/asound/card0/codec#0 from 3.3.5 (where the
> > > > speaker works) and 3.8.0-rc5+ (where it doesn't) failed to show anything
> > > > obvious.  A more detailed comparison may be required.
> > > 
> > > Hm, then maybe the default initialization verbs for ALC260 does
> > > something harmful for this machine?  A quick (untested) patch is
> > > below.
> > 
> > Oops, forgot got attach.
> 
> Scratch that.  It doesn't work as expected.
> Try the following one instead.

This latter patch appears to have improved things regarding the built-in
speaker.  With "Auto-Mute Mode" disabled:

 * The "Speaker" volume and mute controls in alsamixer now control the
   speaker in the expected way, and audio is emitted from the speaker.

 * The "Headphone" volume and speaker controls manipulate only the headphone
   volume (that is, "Headphone" and "Speaker" controls are independent).

 * "Master" affects both headphone and speaker volume (as it should)

If "Auto-Mute Mode" is enabled:

 * plugging headphones in automatically mutes the speaker

 * removing the headphone plug automatically unmutes the speaker

 * the headphone and speaker volume controls affect the relevant output

To summarise: this patch appears to make the speaker usable on the S7020
once more.

This then leaves the following to be resolved:

 * provision of an input jack mode control

 * ability to switch the headphone jack to mic/line input modes

 * inclusion of the headphone jack in the capture source lists

I will look into these along the lines of the hints given previous and
report back.

Regards
  jonathan

> ---
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 48c9d10..e0e0a5a 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -1516,8 +1516,14 @@ static void alc260_fixup_fsc_s7020(struct hda_codec *codec,
>  {
>  	struct alc_spec *spec = codec->spec;
>  
> -	if (action == HDA_FIXUP_ACT_PRE_PROBE)
> +	switch (action) {
> +	case HDA_FIXUP_ACT_PRE_PROBE:
>  		spec->gen.add_out_jack_modes = 1;
> +		break;
> +	case HDA_FIXUP_ACT_PROBE:
> +		spec->init_amp = ALC_INIT_NONE;
> +		break;
> +	}
>  }
>  
>  static const struct hda_fixup alc260_fixups[] = {

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-18 12:50                                         ` Jonathan Woithe
@ 2013-02-18 12:58                                           ` Raymond Yau
  2013-02-18 22:13                                             ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Raymond Yau @ 2013-02-18 12:58 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Takashi Iwai, alsa-devel, peter.golden

>
> > > To confirm the behaviour: the "Headphone Jack Mode" control appears in
> > > 3.8.0-rc5+ but a corresponding control for the mic/line-in jack does
not.
> >
> > Ah, I see.  This doesn't appear as default.  You need to pass a hint
> > string in the firmware patch file.  See a brief description in
> > Documentation/sound/alsa/HD-Audio.txt.
>
> Right.  I'll take a look at this documentation.  I must say that it
strikes
> me as a little odd that input jacks don't have a mode control by default.
 I
> would have expected that such controls would be desired by enough people
to
> justify having them appear by default without each user having to mess
> around with firmware patch files and the like.
>
> I assume the magic knob is add_in_jack_modes.
>
> Is there any reason why alc260_fixup_fsc_s7020() couldn't set
> spec->gen.add_in_jack_modes to 1 in the HDA_FIXUP_ACT_PRE_PROBE phase much
> like it already sets add_out_jack_modes?

Is it possible to add spec->gen.add_in_jack_modes automatically when
automic is disabled and there is no line in jack

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-18 12:58                                           ` Raymond Yau
@ 2013-02-18 22:13                                             ` Jonathan Woithe
  0 siblings, 0 replies; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-18 22:13 UTC (permalink / raw)
  To: Raymond Yau; +Cc: Takashi Iwai, alsa-devel, jwoithe, peter.golden

On Mon, Feb 18, 2013 at 08:58:28PM +0800, Raymond Yau wrote:
> >
> > > > To confirm the behaviour: the "Headphone Jack Mode" control appears in
> > > > 3.8.0-rc5+ but a corresponding control for the mic/line-in jack does not.
> > >
> > > Ah, I see.  This doesn't appear as default.  You need to pass a hint
> > > string in the firmware patch file.  See a brief description in
> > > Documentation/sound/alsa/HD-Audio.txt.
> >
> > Right.  I'll take a look at this documentation.  I must say that it strikes
> > me as a little odd that input jacks don't have a mode control by default. I
> > would have expected that such controls would be desired by enough people to
> > justify having them appear by default without each user having to mess
> > around with firmware patch files and the like.
> >
> > I assume the magic knob is add_in_jack_modes.
> >
> > Is there any reason why alc260_fixup_fsc_s7020() couldn't set
> > spec->gen.add_in_jack_modes to 1 in the HDA_FIXUP_ACT_PRE_PROBE phase much
> > like it already sets add_out_jack_modes?
> 
> Is it possible to add spec->gen.add_in_jack_modes automatically when
> automic is disabled and there is no line in jack

That would work for me - it sounds like a good idea.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-17 16:59                                   ` Takashi Iwai
  2013-02-17 17:00                                     ` Takashi Iwai
@ 2013-02-20 10:33                                     ` Takashi Iwai
  2013-02-20 12:10                                       ` Jonathan Woithe
  1 sibling, 1 reply; 48+ messages in thread
From: Takashi Iwai @ 2013-02-20 10:33 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Sun, 17 Feb 2013 17:59:29 +0100,
Takashi Iwai wrote:
> 
> At Sun, 17 Feb 2013 23:23:16 +1030,
> Jonathan Woithe wrote:
> > 
> > On Sun, Feb 17, 2013 at 09:32:38AM +0100, Takashi Iwai wrote:
> > > > I've been able to test this (snapshot as of two days ago, reports version
> > > > number 3.8.0-rc5+ via uname).  As expected there have been some
> > > > improvements.
> > > 
> > > Thanks for testing.
> > > 
> > > > Things which work:
> > > > 
> > > >  * "Headphone Jack Mode" allows switching between "Headphone" and "Line
> > > >    out".  Both of these mode settings appear to work.
> > > > 
> > > >  * There are separate "Headphone" and "Speaker" volume controls.
> > > > 
> > > >  * The "Headphone" volume control influences the headphone jack volume.
> > > > 
> > > >  * An "Auto-Mute Mode" control appears in alsamixer (it was missing on
> > > >    earlier versions).
> > > > 
> > > >  * Alsamixer recognises the presence of two ADCs, giving "Capture" and
> > > >    "Capture 1" controls, with corresponding "Input Source" controls.
> > > > 
> > > > Things which don't work or are missing:
> > > > 
> > > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > > >    modes (all of which are possible on this system)
> > > 
> > > Yes, it is still unimplemented.  So, it's expected not to be there
> > > yet.  If you can hack it by yourself, let me know.
> > 
> > I may be able to give this a go, but from what I recall there was some
> > debate as to how this should be implemented.  Has that been resolved yet?
> 
> No, we need to try to implement something and discuss later.
> I think simply implementing two things would work: providing the vref
> setup in Headphone Jack Mode enum, and add a pin to the Input Source.
> User would require two setups, but it's less conflicting with giving
> implicit dependency with each other, IMO.

FYI, sound-unstable git tree test/hda-hp-mic branch contains the new
patches.  Pass model=fujitsu-jwse option, and all features will be
enabled.

The patch isn't complete, but it should be somehow workable 


Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-20 10:33                                     ` Takashi Iwai
@ 2013-02-20 12:10                                       ` Jonathan Woithe
  2013-02-20 13:14                                         ` Takashi Iwai
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-20 12:10 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel, jwoithe, peter.golden

On Wed, Feb 20, 2013 at 11:33:54AM +0100, Takashi Iwai wrote:
> > > > > Things which don't work or are missing:
> > > > > 
> > > > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > > > >    modes (all of which are possible on this system)
> > > > 
> > > > Yes, it is still unimplemented.  So, it's expected not to be there
> > > > yet.  If you can hack it by yourself, let me know.
> > > 
> > > I may be able to give this a go, but from what I recall there was some
> > > debate as to how this should be implemented.  Has that been resolved yet?
> > 
> > No, we need to try to implement something and discuss later.
> > I think simply implementing two things would work: providing the vref
> > setup in Headphone Jack Mode enum, and add a pin to the Input Source.
> > User would require two setups, but it's less conflicting with giving
> > implicit dependency with each other, IMO.
> 
> FYI, sound-unstable git tree test/hda-hp-mic branch contains the new
> patches.  Pass model=fujitsu-jwse option, and all features will be
> enabled.
> 
> The patch isn't complete, but it should be somehow workable 

Sounds good - I will test in the next day or so and report back.  What's the
most efficient way to get hold of this tree / branch given that I have the
for-next branch of sound.git?  Can I somehow leverage this, or do I need to
do a completely separate checkout?  Apologies if this is a basic question -
I'm still coming to terms with git.

OOI, what's "jwse" stand for?

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-20 12:10                                       ` Jonathan Woithe
@ 2013-02-20 13:14                                         ` Takashi Iwai
  2013-02-21 12:15                                           ` Jonathan Woithe
  2013-03-01 11:16                                           ` Jonathan Woithe
  0 siblings, 2 replies; 48+ messages in thread
From: Takashi Iwai @ 2013-02-20 13:14 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Wed, 20 Feb 2013 22:40:55 +1030,
Jonathan Woithe wrote:
> 
> On Wed, Feb 20, 2013 at 11:33:54AM +0100, Takashi Iwai wrote:
> > > > > > Things which don't work or are missing:
> > > > > > 
> > > > > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > > > > >    modes (all of which are possible on this system)
> > > > > 
> > > > > Yes, it is still unimplemented.  So, it's expected not to be there
> > > > > yet.  If you can hack it by yourself, let me know.
> > > > 
> > > > I may be able to give this a go, but from what I recall there was some
> > > > debate as to how this should be implemented.  Has that been resolved yet?
> > > 
> > > No, we need to try to implement something and discuss later.
> > > I think simply implementing two things would work: providing the vref
> > > setup in Headphone Jack Mode enum, and add a pin to the Input Source.
> > > User would require two setups, but it's less conflicting with giving
> > > implicit dependency with each other, IMO.
> > 
> > FYI, sound-unstable git tree test/hda-hp-mic branch contains the new
> > patches.  Pass model=fujitsu-jwse option, and all features will be
> > enabled.
> > 
> > The patch isn't complete, but it should be somehow workable 
> 
> Sounds good - I will test in the next day or so and report back.  What's the
> most efficient way to get hold of this tree / branch given that I have the
> for-next branch of sound.git?  Can I somehow leverage this, or do I need to
> do a completely separate checkout?  Apologies if this is a basic question -
> I'm still coming to terms with git.

sound-unstable git tree always contains the sound git tree master
branch, so everything is there basically.  But it'd be better to merge
this onto 3.8-final.  Just pull Linus tree v3.8 tag on sound-unstable
git tree:

	% git pull \
          git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux \
	  v3.8

> OOI, what's "jwse" stand for?

Look through the commit logs :)


Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-20 13:14                                         ` Takashi Iwai
@ 2013-02-21 12:15                                           ` Jonathan Woithe
  2013-02-21 13:24                                             ` Raymond Yau
  2013-03-01 11:16                                           ` Jonathan Woithe
  1 sibling, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-21 12:15 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel, jwoithe, peter.golden

On Wed, Feb 20, 2013 at 02:14:20PM +0100, Takashi Iwai wrote:
> At Wed, 20 Feb 2013 22:40:55 +1030,
> Jonathan Woithe wrote:
> > 
> > On Wed, Feb 20, 2013 at 11:33:54AM +0100, Takashi Iwai wrote:
> > > > > > > Things which don't work or are missing:
> > > > > > > 
> > > > > > >  * "Headphone Jack Mode" lacks options to enable various "mic" or "line in"
> > > > > > >    modes (all of which are possible on this system)
> > > > > > 
> > > > > > Yes, it is still unimplemented.  So, it's expected not to be there
> > > > > > yet.  If you can hack it by yourself, let me know.
> > > > > 
> > > > > I may be able to give this a go, but from what I recall there was some
> > > > > debate as to how this should be implemented.  Has that been resolved yet?
> > > > 
> > > > No, we need to try to implement something and discuss later.
> > > > I think simply implementing two things would work: providing the vref
> > > > setup in Headphone Jack Mode enum, and add a pin to the Input Source.
> > > > User would require two setups, but it's less conflicting with giving
> > > > implicit dependency with each other, IMO.
> > > 
> > > FYI, sound-unstable git tree test/hda-hp-mic branch contains the new
> > > patches.  Pass model=fujitsu-jwse option, and all features will be
> > > enabled.
> > > 
> > > The patch isn't complete, but it should be somehow workable 
> > 
> > Sounds good - I will test in the next day or so and report back.

I was able to test sound-unstable this evening (reporting a kernel version
of 3.8.0-rc7+).  I passed "model=fujitsu-jwse" as instructed.  The
"Headphone Mic" mode switch influences the headphone jack when it's
configured as an input as I expect is the intent.  The speaker still works
and the speaker/headphone controls behave as expected.  In short there
appear to be no regressions in these respects.

It took me a while to work out that the headphone jack is only switched to
input mode when a capture setting has it selected.

The "Mic Jack Mode" seems to affect the bias applied to the mic/line-in jack
in the expected way.

Selecting the "Headphone mic" as an input source automatically switched the
"Headphone mic mode" to "Mic 80pc".  However, as far as I could tell
switching between "Mic 80pc", "Mic 50pc" and "Line in" did not affect the
bias voltage presented to the output.  I will check with a multimeter and
compare with earlier kernels to determine whether this is significant. 
Never-the-less, with "headphone mic" as an input sourse, signals were
recordable via this jack.

I noticed that in this mode it was possible to switch "headphone mic mode"
to "Headphone" and "Line out".  Doing this flicked the jack back to output
mode, and from here it was impossible to re-select and input mode until the
capture source was toggled back to "headphone mic".  I expect this is one of
the things you eluded to when you said the patch isn't complete.

I noticed the existence of a "Line jack mode" control.  I can't detect this
control doing anything.  /proc/asound/card0/codec#0 seems to indicate that
this might be a phantom jack, so perhaps this is the expected behaviour.

The "Headphone mic" volume and mute controls don't appear to do anything.

I've included output from /proc/asound/card0/codec#0 at the end of this post
in case it helps.

Both capture sources seem to operate correctly and independently as
expected.

>From a usability point of view, I think it would be best to have the mode of
the jack controlled solely by the "Headphone mic mode control".  Having to
first select this as a record source is a little counter-intuitive.  It
means that the headphone mic jack could be selected as a source when it's in
output mode, but to me it makes more sense that the control marked "mode"
had full control over the jack mode.

All in all I think this is a great start.  Are you still planning on further
work with this code or should I dive in and see what I can make of it? 
Also, is the activation via some "model=" thing intended to be permanent?

> > What's the most efficient way to get hold of this tree / branch given
> > that I have the for-next branch of sound.git?  Can I somehow leverage
> > this, or do I need to do a completely separate checkout?  Apologies if
> > this is a basic question - I'm still coming to terms with git.
> 
> sound-unstable git tree always contains the sound git tree master
> branch, so everything is there basically.  But it'd be better to merge
> this onto 3.8-final.  Just pull Linus tree v3.8 tag on sound-unstable
> git tree:
> 
> 	% git pull \
>           git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux \
> 	  v3.8

It's a minor thing, but doing this from inside the directory containing
a clone of sound-unstable gave this:

  fatal: Couldn't find remote ref v3.8

Regards
  jonathan

Output from /proc/asound/card0/codec#0 under 3.8.0-rc7+ using 
"model=fujitsu-jmse":

Codec: Realtek ALC260
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0260
Subsystem Id: 0x10cf0000
Revision Id: 0x100400
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
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0
GPIO: io=4, 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
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  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 0x211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x0c 0x0c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12 0x13* 0x14 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Volume", index=1, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=1, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="ALC260 Alt Analog", type="Audio", device=2
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals:  [0x00 0x00]
  Converter: stream=4, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12 0x13 0x14* 0x15 0x16 0x07 0x0f 0x10
Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x19
Node 0x07 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Headphone Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Headphone Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x03 0x03] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 8
     0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x27 0x27]
  Connection: 2
     0x02 0x07
Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x33 0x33]
  Connection: 2
     0x02 0x07
Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00] [0x80]
  Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
  Amp-Out vals:  [0x23]
  Connection: 2
     0x02 0x07
Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  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: 1
     0x08
Node 0x10 [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
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0xe4011110: [Both] Line Out at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
Node 0x11 [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: 0x40: OUT
  Connection: 1
     0x0a
Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Mic Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x03a11820: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=03, enabled=1
  Connection: 1
     0x0b
Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Line Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x24811121: [Jack] Line In at Sep Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Mic Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  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 VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
  Control: name="CD Phantom Jack", index=0, device=0
  Pincap 0x00000020: IN
  Pin Default 0x88331122: [Fixed] CD at Ext Drive Bar
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x2
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x17 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0xb7931123: [Fixed] Aux at Oth Mobile-In
    Conn = ATAPI, Color = Black
    DefAssociation = 0x2, Sequence = 0x3
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x03
Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
Node 0x1a [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=13
Node 0x1b [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=0, steps=64, direct=0, val=0
  Unsolicited: tag=00, enabled=0
  Connection: 0

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-21 12:15                                           ` Jonathan Woithe
@ 2013-02-21 13:24                                             ` Raymond Yau
  2013-02-21 13:52                                               ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Raymond Yau @ 2013-02-21 13:24 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Takashi Iwai, alsa-devel, peter.golden, ullinux

> > > > >
> > > > > No, we need to try to implement something and discuss later.
> > > > > I think simply implementing two things would work: providing the
vref
> > > > > setup in Headphone Jack Mode enum, and add a pin to the Input
Source.
> > > > > User would require two setups, but it's less conflicting with
giving
> > > > > implicit dependency with each other, IMO.
> > > >
> > > > FYI, sound-unstable git tree test/hda-hp-mic branch contains the new
> > > > patches.  Pass model=fujitsu-jwse option, and all features will be
> > > > enabled
>
> I was able to test sound-unstable this evening (reporting a kernel version
> of 3.8.0-rc7+).  I passed "model=fujitsu-jwse" as instructed.  The
> "Headphone Mic" mode switch influences the headphone jack when it's
> configured as an input as I expect is the intent.  The speaker still works
> and the speaker/headphone controls behave as expected.  In short there
> appear to be no regressions in these respects.

Can you confirm that the speaker really need this patch to work ?

http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=978e77e78cff7a85a31ad552ffd8afee319e8721

Does the headphone Jack or Mic Jack  support imedpance sense to
differentiate the Jack type or not  ?

The behaviour of this notebook and e8020 will be different from other
notebook

No auto Mic selection because CD and non detectable dock line in

>
> Output from /proc/asound/card0/codec#0 under 3.8.0-rc7+ using
> "model=fujitsu-jmse":
>
> Codec: Realtek ALC260
> Address: 0
> AFG Function Id: 0x1 (unsol 1)
> Vendor Id: 0x10ec0260
> Subsystem Id: 0x10cf0000
> Revision Id: 0x100400
> 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
> State of AFG node 0x01:
>   Power states:  D0 D1 D2 D3
>   Power: setting=D0, actual=D0
> GPIO: io=4, 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
>   IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
>   IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
> Node 0x02 [Audio Output] wcaps 0x11: Stereo
>   Device: name="ALC260 Analog", type="Audio", device=0
>   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 0x211: Stereo Digital
>   Converter: stream=0, channel=0
>   Digital:
>   Digital category: 0x0
>   IEC Coding Type: 0x0
>   PCM:
>     rates [0x560]: 44100 48000 96000 192000
>     bits [0x1e]: 16 20 24 32
>     formats [0x1]: PCM
> Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
>   Control: name="Capture Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=0, ofs=0
>   Control: name="Capture Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=0, ofs=0
>   Device: name="ALC260 Analog", type="Audio", device=0
>   Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
>   Amp-In vals:  [0x0c 0x0c]
>   Converter: stream=0, channel=0
>   SDI-Select: 0
>   PCM:
>     rates [0x160]: 44100 48000 96000
>     bits [0x6]: 16 20
>     formats [0x1]: PCM
>   Connection: 7
>      0x12 0x13* 0x14 0x15 0x16 0x0f 0x10
> Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
>   Control: name="Capture Volume", index=1, device=0
>     ControlAmp: chs=3, dir=In, idx=0, ofs=0
>   Control: name="Capture Switch", index=1, device=0
>     ControlAmp: chs=3, dir=In, idx=0, ofs=0
>   Device: name="ALC260 Alt Analog", type="Audio", device=2
>   Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
>   Amp-In vals:  [0x00 0x00]
>   Converter: stream=4, channel=0
>   SDI-Select: 0
>   PCM:
>     rates [0x160]: 44100 48000 96000
>     bits [0x6]: 16 20
>     formats [0x1]: PCM
>   Connection: 8
>      0x12 0x13 0x14* 0x15 0x16 0x07 0x0f 0x10
> Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
>   Converter: stream=0, channel=0
>   SDI-Select: 0
>   Digital:
>   Digital category: 0x0
>   IEC Coding Type: 0x0
>   PCM:
>     rates [0x160]: 44100 48000 96000
>     bits [0x1e]: 16 20 24 32
>     formats [0x1]: PCM
>   Unsolicited: tag=00, enabled=0
>   Connection: 1
>      0x19
> Node 0x07 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
>   Control: name="Mic Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=0, ofs=0
>   Control: name="Mic Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=0, ofs=0
>   Control: name="Line Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=1, ofs=0
>   Control: name="Line Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=1, ofs=0
>   Control: name="CD Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=4, ofs=0
>   Control: name="CD Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=4, ofs=0
>   Control: name="Headphone Mic Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=2, ofs=0
>   Control: name="Headphone Mic Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=In, idx=2, ofs=0
>   Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
>   Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x03
0x03] [0x80 0x80] [0x80 0x80] [0x80 0x80]
>   Connection: 8
>      0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
> Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
>   Control: name="Headphone Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-In vals:  [0x00 0x00] [0x00 0x00]
>   Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
>   Amp-Out vals:  [0x27 0x27]
>   Connection: 2
>      0x02 0x07
> Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
>   Control: name="Speaker Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-In vals:  [0x00 0x00] [0x00 0x00]
>   Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
>   Amp-Out vals:  [0x33 0x33]
>   Connection: 2
>      0x02 0x07
> Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
>   Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-In vals:  [0x00] [0x80]
>   Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
>   Amp-Out vals:  [0x23]
>   Connection: 2
>      0x02 0x07
> Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
>   Connection: 2
>      0x08* 0x09
> Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
>   Connection: 2
>      0x08* 0x09
> Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
>   Connection: 2
>      0x08* 0x09
> Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
>   Connection: 2
>      0x08* 0x09
> Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x80 0x80]
>   Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
>   EAPD 0x2: EAPD
>   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: 1
>      0x08
> Node 0x10 [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
>   Control: name="Speaker Phantom Jack", index=0, device=0
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
>   EAPD 0x2: EAPD
>   Pin Default 0xe4011110: [Both] Line Out at Sep Right
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x1, Sequence = 0x0
>     Misc = NO_PRESENCE
>   Pin-ctls: 0xc0: OUT HP
>   Unsolicited: tag=00, enabled=0
>   Connection: 1
>      0x09
> Node 0x11 [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: 0x40: OUT
>   Connection: 1
>      0x0a
> Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
>   Control: name="Mic Jack", index=0, device=0
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x80 0x80]
>   Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
>     Vref caps: HIZ 50 80
>   Pin Default 0x03a11820: [Jack] Mic at Ext Left
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x2, Sequence = 0x0
>   Pin-ctls: 0x20: IN VREF_HIZ
>   Unsolicited: tag=03, enabled=1
>   Connection: 1
>      0x0b
> Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
>   Control: name="Line Phantom Jack", index=0, device=0
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x80 0x80]
>   Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
>     Vref caps: HIZ 50 80
>   Pin Default 0x24811121: [Jack] Line In at Sep Right
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x2, Sequence = 0x1
>     Misc = NO_PRESENCE
>   Pin-ctls: 0x20: IN VREF_HIZ
>   Unsolicited: tag=00, enabled=0
>   Connection: 1
>      0x0c
> Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
>   Control: name="Headphone Playback Switch", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Control: name="Headphone Mic Jack", index=0, device=0
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
>     Vref caps: HIZ 50 80
>   Pin Default 0x0321101f: [Jack] HP Out at Ext Left
>     Conn = 1/8, Color = Black
>     DefAssociation = 0x1, Sequence = 0xf
>   Pin-ctls: 0x24: IN VREF_80
>   Unsolicited: tag=01, enabled=1
>   Connection: 1
>      0x0d
> Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x80 0x80]
>   Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
>     Vref caps: HIZ 50 80
>   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 VREF_HIZ
>   Unsolicited: tag=00, enabled=0
>   Connection: 1
>      0x0e
> Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
>   Control: name="CD Phantom Jack", index=0, device=0
>   Pincap 0x00000020: IN
>   Pin Default 0x88331122: [Fixed] CD at Ext Drive Bar
>     Conn = ATAPI, Color = Black
>     DefAssociation = 0x2, Sequence = 0x2
>     Misc = NO_PRESENCE
>   Pin-ctls: 0x00:
> Node 0x17 [Pin Complex] wcaps 0x400000: Mono
>   Pincap 0x00000020: IN
>   Pin Default 0xb7931123: [Fixed] Aux at Oth Mobile-In
>     Conn = ATAPI, Color = Black
>     DefAssociation = 0x2, Sequence = 0x3
>     Misc = NO_PRESENCE
>   Pin-ctls: 0x00:
> Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
>   Pincap 0x00000014: OUT Detect
>   Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
>     Conn = 1/8, Color = Black
>     DefAssociation = 0xf, Sequence = 0x0
>     Misc = NO_PRESENCE
>   Pin-ctls: 0x00:
>   Unsolicited: tag=00, enabled=0
>   Connection: 1
>      0x03
> Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
>   Pincap 0x00000024: IN Detect
>   Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
>     Conn = 1/8, Color = Black
>     DefAssociation = 0xf, Sequence = 0x0
>     Misc = NO_PRESENCE
>   Pin-ctls: 0x00:
>   Unsolicited: tag=00, enabled=0

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-21 13:24                                             ` Raymond Yau
@ 2013-02-21 13:52                                               ` Jonathan Woithe
  2013-02-21 14:01                                                 ` Raymond Yau
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-21 13:52 UTC (permalink / raw)
  To: Raymond Yau; +Cc: Takashi Iwai, alsa-devel, jwoithe, peter.golden, ullinux

On Thu, Feb 21, 2013 at 09:24:05PM +0800, Raymond Yau wrote:
> > > > > FYI, sound-unstable git tree test/hda-hp-mic branch contains the new
> > > > > patches.  Pass model=fujitsu-jwse option, and all features will be
> > > > > enabled
> >
> > I was able to test sound-unstable this evening (reporting a kernel version
> > of 3.8.0-rc7+).  I passed "model=fujitsu-jwse" as instructed.  The
> > "Headphone Mic" mode switch influences the headphone jack when it's
> > configured as an input as I expect is the intent.  The speaker still works
> > and the speaker/headphone controls behave as expected.  In short there
> > appear to be no regressions in these respects.
> 
> Can you confirm that the speaker really need this patch to work ?
> 
> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=978e77e78cff7a85a31ad552ffd8afee319e8721

No.  The speaker required this patch:

  http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=e6e0ee507f630350d883bb3343e78cab30cad5e2

My point was that the latest code revision hasn't broken speaker and
headphone behaviour compared to that which I tested a few days ago.

The patch you referenced appears related to the ability to manually control
the mode of headphone pins.  This was a separate issue.

> Does the headphone Jack or Mic Jack  support imedpance sense to
> differentiate the Jack type or not  ?

To be honest I have no idea.  I have no personal interest in leaving this
decision up to automatic impedence sensing and so I have not looked into it. 
Even if the hardware was up to it it is important to retain the ability to
manually configure the jack mode, knowing that it will not change modes
automatically under any circumstances.  Live performance situations are
notorious for making automatic detectors do strange things at inopportune
times.

How can one tell if impedence sense is supported?

> The behaviour of this notebook and e8020 will be different from other
> notebook

In what way?  Is this related to the impedence sensing?

Even if impedence sensing is supported I think it's important that we don't
loose the ability to manually set jack modes.

> No auto Mic selection because CD and non detectable dock line in

That doesn't bother me for the same reasons as above.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-21 13:52                                               ` Jonathan Woithe
@ 2013-02-21 14:01                                                 ` Raymond Yau
  2013-02-21 22:32                                                   ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Raymond Yau @ 2013-02-21 14:01 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Takashi Iwai, alsa-devel, peter.golden, ullinux

> >
> > Can you confirm that the speaker really need this patch to work ?
> >
> >
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=978e77e78cff7a85a31ad552ffd8afee319e8721
>
> No.  The speaker required this patch:
>
>
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=e6e0ee507f630350d883bb3343e78cab30cad5e2

Is this patch also need ?

http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=39aedee7a1cc3c72d68674ff6ff142299fa0897b

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-21 14:01                                                 ` Raymond Yau
@ 2013-02-21 22:32                                                   ` Jonathan Woithe
  0 siblings, 0 replies; 48+ messages in thread
From: Jonathan Woithe @ 2013-02-21 22:32 UTC (permalink / raw)
  To: Raymond Yau; +Cc: Takashi Iwai, alsa-devel, jwoithe, peter.golden, ullinux

On Thu, Feb 21, 2013 at 10:01:58PM +0800, Raymond Yau wrote:
> > >
> > > Can you confirm that the speaker really need this patch to work ?
> > >
> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=978e77e78cff7a85a31ad552ffd8afee319e8721
> >
> > No.  The speaker required this patch:
> >
> > http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=e6e0ee507f630350d883bb3343e78cab30cad5e2
> 
> Is this patch also need ?
> 
> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=39aedee7a1cc3c72d68674ff6ff142299fa0897b

In the context of the code currently in sound-unstable, I'm not sure.  At
the time it was committed the setting of add_out_jack_modes was certainly
useful since having access to that control is definitely needed on this
model given that line out and headphone share a physical jack.  Whether it's
still necessary to explicitly turn on the HP amp of node 0x10 given
Takashi's latest changes I'm not sure.  I suspect it is.

To summarise: I expect this patch is still relevant.  However, I will try to
explicitly check this and let you know.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-02-20 13:14                                         ` Takashi Iwai
  2013-02-21 12:15                                           ` Jonathan Woithe
@ 2013-03-01 11:16                                           ` Jonathan Woithe
  2013-03-07 18:43                                             ` Takashi Iwai
  1 sibling, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-03-01 11:16 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Raymond Yau, alsa-devel, jwoithe, peter.golden

Hi Takashi

On Wed, Feb 20, 2013 at 02:14:20PM +0100, Takashi Iwai wrote:
> > Sounds good - I will test in the next day or so and report back.  What's the
> > most efficient way to get hold of this tree / branch given that I have the
> > for-next branch of sound.git?  Can I somehow leverage this, or do I need to
> > do a completely separate checkout?  Apologies if this is a basic question -
> > I'm still coming to terms with git.
> 
> sound-unstable git tree always contains the sound git tree master
> branch, so everything is there basically. ...

What's the next step in the process?  I've reported the outcome of the tests
of sound-unstable as per that report progress is being made.  Is it a case
of waiting for things to stabilise, or do you need me to do something to
move things along?  If so, what?

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-03-01 11:16                                           ` Jonathan Woithe
@ 2013-03-07 18:43                                             ` Takashi Iwai
  0 siblings, 0 replies; 48+ messages in thread
From: Takashi Iwai @ 2013-03-07 18:43 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: Raymond Yau, alsa-devel, peter.golden

At Fri, 1 Mar 2013 21:46:16 +1030,
Jonathan Woithe wrote:
> 
> Hi Takashi
> 
> On Wed, Feb 20, 2013 at 02:14:20PM +0100, Takashi Iwai wrote:
> > > Sounds good - I will test in the next day or so and report back.  What's the
> > > most efficient way to get hold of this tree / branch given that I have the
> > > for-next branch of sound.git?  Can I somehow leverage this, or do I need to
> > > do a completely separate checkout?  Apologies if this is a basic question -
> > > I'm still coming to terms with git.
> > 
> > sound-unstable git tree always contains the sound git tree master
> > branch, so everything is there basically. ...
> 
> What's the next step in the process?  I've reported the outcome of the tests
> of sound-unstable as per that report progress is being made.  Is it a case
> of waiting for things to stabilise, or do you need me to do something to
> move things along?  If so, what?

I merged the patches to the main sound git tree for-next branch now.

Also a few updates are merged there, too: now the hp mic jack mode
should be able to change the pin control no matter whether which
capture source is.  Also, the capture source won't change the hp/mic
pinctl when the jack mode enum is created.  This reduces the
automation but also reduces the confusion, too.  After all, when jack
mode is present, user wants to control the pin by himself.

Let me know if anything else is missing or broken.


thanks,

Takashi

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-03-11  8:52   ` Takashi Iwai
@ 2013-03-12 22:25     ` Jonathan Woithe
  0 siblings, 0 replies; 48+ messages in thread
From: Jonathan Woithe @ 2013-03-12 22:25 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: superquad.vortex2, alsa-devel, jwoithe, peter.golden

On Mon, Mar 11, 2013 at 09:52:38AM +0100, Takashi Iwai wrote:
> At Sun, 10 Mar 2013 15:28:54 +1030,
> Jonathan Woithe wrote:
> > The only slightly odd thing I noticed was that whenever the driver is loaded
> > the "headphone mic jack mode" defaults to "mic bias 80pc", rather than "line
> > out" or "headphone" which I would have expected.  Obviously this can be
> > manually or automatically overridden after module load, but in many ways it
> > would be good if it defaulted to one of the output modes (given that the
> > jack's primary purpose is for output).
> 
> Indeed, it's an overlooked bug.  I merged the fix patch below.

That looks like it'll do the trick.  I'll check it explicitly when I get a
chance over the next few days.

> > Where does this leave us now?  Is the "fujitsu-jwse" a permanent thing, or
> > will the respective changes be rolled into something more generic?
> 
> I'm inclined to keep as is.

Ok, suits me.

Do you think that a more descriptive model (eg: fujitsu-fullmixer or
something) is warranted?

BTW, I will attempt to determine precisely what it is about the default
initialisation sequence that causes the internal speaker to be permanently
muted.  For now though the workarounds in "fujitsu-jwse" work well.

Regards
  jonathan

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
  2013-03-10  4:58 ` Jonathan Woithe
@ 2013-03-11  8:52   ` Takashi Iwai
  2013-03-12 22:25     ` Jonathan Woithe
  0 siblings, 1 reply; 48+ messages in thread
From: Takashi Iwai @ 2013-03-11  8:52 UTC (permalink / raw)
  To: Jonathan Woithe; +Cc: superquad.vortex2, alsa-devel, peter.golden

At Sun, 10 Mar 2013 15:28:54 +1030,
Jonathan Woithe wrote:
> 
> Hi Takashi
> 
> > > On Wed, Feb 20, 2013 at 02:14:20PM +0100, Takashi Iwai wrote:
> > > > > Sounds good - I will test in the next day or so and report back.  What's the
> > > > > most efficient way to get hold of this tree / branch given that I have the
> > > > > for-next branch of sound.git?  Can I somehow leverage this, or do I need to
> > > > > do a completely separate checkout?  Apologies if this is a basic question -
> > > > > I'm still coming to terms with git.
> > > > 
> > > > sound-unstable git tree always contains the sound git tree master
> > > > branch, so everything is there basically. ...
> > > 
> > > What's the next step in the process?  I've reported the outcome of the tests
> > > of sound-unstable as per that report progress is being made.  Is it a case
> > > of waiting for things to stabilise, or do you need me to do something to
> > > move things along?  If so, what?
> > 
> > I merged the patches to the main sound git tree for-next branch now.
> > 
> > Also a few updates are merged there, too: now the hp mic jack mode
> > should be able to change the pin control no matter whether which
> > capture source is.  Also, the capture source won't change the hp/mic
> > pinctl when the jack mode enum is created.  This reduces the
> > automation but also reduces the confusion, too.  After all, when jack
> > mode is present, user wants to control the pin by himself.
> > 
> > Let me know if anything else is missing or broken.
> 
> I've given this new revision a quick test; sorry for the delay.  With this
> revision, when using "model=fujitsu-jwse" things seem to be working pretty
> well.  In particular, the updates you mention greatly improve usability; the
> lack of automatic interaction between mixer controls makes it much easier to
> use and understand.
> 
> I think everything is present and accounted for in this latest revision. 
> Thanks for your work on this.
> 
> The only slightly odd thing I noticed was that whenever the driver is loaded
> the "headphone mic jack mode" defaults to "mic bias 80pc", rather than "line
> out" or "headphone" which I would have expected.  Obviously this can be
> manually or automatically overridden after module load, but in many ways it
> would be good if it defaulted to one of the output modes (given that the
> jack's primary purpose is for output).

Indeed, it's an overlooked bug.  I merged the fix patch below.

> Where does this leave us now?  Is the "fujitsu-jwse" a permanent thing, or
> will the respective changes be rolled into something more generic?

I'm inclined to keep as is.


thanks,

Takashi

---
Subject: [PATCH] ALSA: hda - Don't re-initialize shared hp/mic pinctl

When a headphone pin is set up as a shared hp/mic pin, we rather want
to keep it as a headphone primarily as default, but the driver
overrides it always as a mic pin, just because the input controls are
created after outputs.  Add a check of pin NID and skip the
re-initialization of pinctl for such a shared hp/mic pin.

Reported-by: Jonathan Woithe <jwoithe@just42.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/hda/hda_generic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index fb232c1..aae6b10 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -2967,7 +2967,8 @@ static int create_input_ctls(struct hda_codec *codec)
 		val = PIN_IN;
 		if (cfg->inputs[i].type == AUTO_PIN_MIC)
 			val |= snd_hda_get_default_vref(codec, pin);
-		set_pin_target(codec, pin, val, false);
+		if (pin != spec->hp_mic_pin)
+			set_pin_target(codec, pin, val, false);
 
 		if (mixer) {
 			if (is_reachable_path(codec, pin, mixer)) {
-- 
1.8.1.4

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

* Re: HDA regression on Fujitsu S7020 laptop (ALC260 codec)
       [not found] <mailman.1440.1362696800.805.alsa-devel@alsa-project.org>
@ 2013-03-10  4:58 ` Jonathan Woithe
  2013-03-11  8:52   ` Takashi Iwai
  0 siblings, 1 reply; 48+ messages in thread
From: Jonathan Woithe @ 2013-03-10  4:58 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, superquad.vortex2, jwoithe, peter.golden

Hi Takashi

> > On Wed, Feb 20, 2013 at 02:14:20PM +0100, Takashi Iwai wrote:
> > > > Sounds good - I will test in the next day or so and report back.  What's the
> > > > most efficient way to get hold of this tree / branch given that I have the
> > > > for-next branch of sound.git?  Can I somehow leverage this, or do I need to
> > > > do a completely separate checkout?  Apologies if this is a basic question -
> > > > I'm still coming to terms with git.
> > > 
> > > sound-unstable git tree always contains the sound git tree master
> > > branch, so everything is there basically. ...
> > 
> > What's the next step in the process?  I've reported the outcome of the tests
> > of sound-unstable as per that report progress is being made.  Is it a case
> > of waiting for things to stabilise, or do you need me to do something to
> > move things along?  If so, what?
> 
> I merged the patches to the main sound git tree for-next branch now.
> 
> Also a few updates are merged there, too: now the hp mic jack mode
> should be able to change the pin control no matter whether which
> capture source is.  Also, the capture source won't change the hp/mic
> pinctl when the jack mode enum is created.  This reduces the
> automation but also reduces the confusion, too.  After all, when jack
> mode is present, user wants to control the pin by himself.
> 
> Let me know if anything else is missing or broken.

I've given this new revision a quick test; sorry for the delay.  With this
revision, when using "model=fujitsu-jwse" things seem to be working pretty
well.  In particular, the updates you mention greatly improve usability; the
lack of automatic interaction between mixer controls makes it much easier to
use and understand.

I think everything is present and accounted for in this latest revision. 
Thanks for your work on this.

The only slightly odd thing I noticed was that whenever the driver is loaded
the "headphone mic jack mode" defaults to "mic bias 80pc", rather than "line
out" or "headphone" which I would have expected.  Obviously this can be
manually or automatically overridden after module load, but in many ways it
would be good if it defaulted to one of the output modes (given that the
jack's primary purpose is for output).

Where does this leave us now?  Is the "fujitsu-jwse" a permanent thing, or
will the respective changes be rolled into something more generic?

Regards
  jonathan

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

end of thread, other threads:[~2013-03-12 22:25 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-28 13:52 HDA regression on Fujitsu S7020 laptop (ALC260 codec) Jonathan Woithe
2013-01-03 10:39 ` Takashi Iwai
2013-01-03 12:27   ` Jonathan Woithe
2013-01-03 12:31   ` Jonathan Woithe
2013-01-04  2:34   ` Raymond Yau
2013-01-04  3:24     ` Jonathan Woithe
2013-01-04  4:15       ` Raymond Yau
2013-01-04  4:24         ` Jonathan Woithe
2013-01-05  1:31           ` Raymond Yau
2013-01-05  3:12             ` Jonathan Woithe
2013-01-05  6:32               ` Raymond Yau
2013-01-05  7:16                 ` Jonathan Woithe
2013-01-07  2:43                   ` Raymond Yau
2013-01-08 14:48                   ` Takashi Iwai
2013-01-13  4:39                     ` Jonathan Woithe
2013-01-13  9:00                       ` Takashi Iwai
2013-02-10 11:47                         ` Jonathan Woithe
2013-02-11  9:02                           ` Takashi Iwai
2013-02-16 11:25                             ` Jonathan Woithe
2013-02-17  8:32                               ` Takashi Iwai
2013-02-17 12:53                                 ` Jonathan Woithe
2013-02-17 16:59                                   ` Takashi Iwai
2013-02-17 17:00                                     ` Takashi Iwai
2013-02-18  8:49                                       ` Takashi Iwai
2013-02-18 12:50                                         ` Jonathan Woithe
2013-02-18 12:58                                           ` Raymond Yau
2013-02-18 22:13                                             ` Jonathan Woithe
2013-02-20 10:33                                     ` Takashi Iwai
2013-02-20 12:10                                       ` Jonathan Woithe
2013-02-20 13:14                                         ` Takashi Iwai
2013-02-21 12:15                                           ` Jonathan Woithe
2013-02-21 13:24                                             ` Raymond Yau
2013-02-21 13:52                                               ` Jonathan Woithe
2013-02-21 14:01                                                 ` Raymond Yau
2013-02-21 22:32                                                   ` Jonathan Woithe
2013-03-01 11:16                                           ` Jonathan Woithe
2013-03-07 18:43                                             ` Takashi Iwai
2013-01-10 14:41                   ` Raymond Yau
2013-01-10 14:50                     ` Takashi Iwai
2013-01-08 14:13             ` Takashi Iwai
2013-01-04  9:02   ` David Henningsson
2013-01-04  9:35     ` Takashi Iwai
2013-01-05  2:49     ` Jonathan Woithe
2013-01-05  4:45       ` David Henningsson
2013-01-05  7:27         ` Jonathan Woithe
     [not found] <mailman.1440.1362696800.805.alsa-devel@alsa-project.org>
2013-03-10  4:58 ` Jonathan Woithe
2013-03-11  8:52   ` Takashi Iwai
2013-03-12 22:25     ` Jonathan Woithe

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.