[alsa-devel] HDA regression on Fujitsu S7020 laptop (ALC260 codec)
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
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
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
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
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=c29...
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 ?
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=c29...
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
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=c29...
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
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
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
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
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/...
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
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/...
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
- 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/...
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 ?
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/...
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
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
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
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
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
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
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
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
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
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[] = {
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[] = {
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[] = {
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
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
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
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
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
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
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=978e77e...
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
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=978e77e...
No. The speaker required this patch:
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=e6e0ee5...
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
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=978e77e...
No. The speaker required this patch:
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=e6e0ee5...
Is this patch also need ?
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=39aedee...
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=978e77e...
No. The speaker required this patch:
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=e6e0ee5...
Is this patch also need ?
http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=39aedee...
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
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
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
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
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
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
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?
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
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
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.
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
participants (4)
-
David Henningsson
-
Jonathan Woithe
-
Raymond Yau
-
Takashi Iwai