[alsa-devel] Headphone output problems with HP ProDesk 600 G1 (Realtek ALC221)

Robert Hancock hancockrwd at gmail.com
Tue Feb 18 17:22:17 CET 2014


On Mon, Feb 17, 2014 at 8:13 PM, Raymond Yau
<superquad.vortex2 at gmail.com> wrote:
>>> I have a HP ProDesk 600 G1 machine which seems to have some strange
> behavior with the front headphone jack(s) running under Fedora 20
> (running 3.13.2 kernel):
>
>>> This machine has two front jacks: a headphone jack and a
> microphone/headphone jack. When the headphones are plugged into the
> headphone jack, there's usually no change in the sound outputs list in
> the Sound control panel. The audio (mostly) works if the audio output
> device is set to Analog Output, but sometimes spuriously changes back
> to Speakers and the headphone output stops working (I suspect maybe
> from a spurious jack-sensing event, though I'm not certain). More
> confusingly, a couple of times I have gotten it into the state
> (through various fiddling with jacks and playing in the Sound control
> panel) where plugging into this jack is detected and causes the
> Headphone output to be selected in the control panel. I haven't been
> able to figure out consistently what causes this to happen.
>
>>> If the headphone is plugged into the microphone/headphone jack, then
> the control panel consistently switches to the Headphone output and
> consistently switches back the way it was when it's unplugged.
> However, there's no actual audio output coming out of that jack. (From
> some of the HP manuals, it sounds like with the Windows driver, when
> you plug into this jack, it's supposed to pop up a prompt asking you
> whether you want to use it as a microphone or headphones.)
>
>>> The other strange thing is that intermittently, on the headphone jack
> you'll start getting a bunch of loud static (clicking noises) and any
> actual audio playback becomes very faint and distorted.
>
>>> I'm guessing perhaps something isn't being initialized/setup properly
> in the codec, causing this kind of erratic behavior. The alsa-info
> output is uploaded at:
>
> http://www.alsa-project.org/db/?f=594e837b7af07ffbe3473cf807465bc81a587880
>
>>> I tried using hda-analyzer but it fails on this machine with:
>
>>> ValueError: wrong proc file format (unknown dig1 bit 'KAE')
>
>>> Any suggestions for things to try to debug this?
>
>
> Node 0x14 [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="Line Out Jack", index=0, device=0
>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>   Amp-Out vals:  [0x00 0x00]
>   Pincap 0x00010014: OUT EAPD Detect
>   EAPD 0x2: EAPD
>   Pin Default 0x01014020: [Jack] Line Out at Ext Rear
>     Conn = 1/8, Color = Green
>     DefAssociation = 0x2, Sequence = 0x0
>
> it is a driver bug which assign PCM playback Switch to Line Out Jack
>
> try the patch  https://bugzilla.kernel.org/attachment.cgi?id=124971

With this patch, I get no audio output at all (totally silent on all
ports). Even with playing around with alsamixer and muting/unmuting
outputs I could not get anything coming out.

The alsa-info output from the patched kernel is here:

http://www.alsa-project.org/db/?f=df5874b4fdc01fd6d2c9541c9cde380fe844ac6c

The diff in the codec output from before is:

   Pin-ctls: 0x00:
 Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
 Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
-  Control: name="PCM Playback Switch", index=0, device=0
+  Control: name="Front Playback Switch", index=0, device=0
     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
   Control: name="Line Out Jack", index=0, device=0
   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
@@ -186,7 +186,7 @@
     ControlAmp: chs=3, dir=In, idx=0, ofs=0
   Control: name="Mic Jack", index=0, device=0
   Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
-  Amp-In vals:  [0x01 0x01]
+  Amp-In vals:  [0x00 0x00]
   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
   Amp-Out vals:  [0x80 0x80]
   Pincap 0x0000373c: IN OUT HP Detect
@@ -203,7 +203,7 @@
     ControlAmp: chs=3, dir=In, idx=0, ofs=0
   Control: name="Line Jack", index=0, device=0
   Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
-  Amp-In vals:  [0x00 0x00]
+  Amp-In vals:  [0x01 0x01]
   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
   Amp-Out vals:  [0x80 0x80]
   Pincap 0x00000034: IN OUT Detect
@@ -256,6 +256,6 @@
      0x18 0x19 0x1a* 0x1b 0x1d 0x0b 0x12
 Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
   Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
-  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80
0x80] [0x80 0x80]
+  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x80
0x80] [0x80 0x80]
   Connection: 6
      0x18 0x19 0x1a 0x1b 0x1d 0x0b

>
>
>
> HP ProDesk 600 G1 SFF is an All-In-One pc , should headphone and line out
> share the volume control if headphone can mute the line out or speaker
>
>
> Simple mixer control 'Auto-Mute Mode',0
>   Capabilities: enum
>   Items: 'Disabled' 'Speaker Only' 'Line Out Speaker'
>   Item0: 'Line Out Speaker'
>
>
> Node 0x02 [Audio Output] wcaps 0x1d: Stereo Amp-Out
>   Control: name="Speaker Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
>   Amp-Out vals:  [0x00 0x00]
>   Converter: stream=8, channel=0
>   PCM:
>     rates [0x560]: 44100 48000 96000 192000
>     bits [0xe]: 16 20 24
>     formats [0x1]: PCM
> Node 0x03 [Audio Output] wcaps 0x1d: Stereo Amp-Out
>   Control: name="PCM Playback Volume", index=0, device=0
>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>   Device: name="ALC221 Analog", type="Audio", device=0
>   Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
>   Amp-Out vals:  [0x57 0x57]
>   Converter: stream=8, channel=0
>   PCM:
>     rates [0x560]: 44100 48000 96000 192000
>     bits [0xe]: 16 20 24
>     formats [0x1]: PCM
>
>


More information about the Alsa-devel mailing list