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):
HP ProDesk 600 G1 SFF
Do SFF mean small form factor model ?
HD audio with Realtek ALC221 codec DTS Studio Sound audio management technology Microphone and headphone front ports (3.5mm) Line-out and Line-In rear Ports (3.5mm) Multi-streaming capable Internal speaker (standard)
Since all-in-one-pc model is usng ALC3228
DTS Sound+™; Realtek ALC 3228 Audio – 16 & 24-bit PCM; High performance integrated stereo speakers; Volume control and mute buttons; Stereo headphone jack; Microphone in; Stereo line out
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
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
autoconfig: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line speaker_outs=1 (0x17/0x0/0x0/0x0/0x0) hp_outs=1 (0x21/0x0/0x0/0x0/0x0) mono: mono_out=0x0 inputs: Mic=0x1a Line=0x1b
do you mean one of the front panel jacks support TRRS headset ?
use hda-jack-sense-test to find the nodes of front panel jacks and rear panel jacks
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]
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
if small form factor is multistreaming capable , line out and headphone have to use different audio output 0x02 and 0x03 instead of sharing the same audio output 0x03
http://www.intel.com/support/motherboards/desktop/sb/CS-034206.htm
you still need to modify patch_realtek.c
spec->gen.indep_hp = 1;
@@ -1493,16 +1497,26 @@ static bool indep_hp_possible(struct hda_codec *codec) struct hda_gen_spec *spec = codec->spec; struct auto_pin_cfg *cfg = &spec->autocfg; struct nid_path *path; + hda_nid_t nid; int i, idx;
- if (cfg->line_out_type == AUTO_PIN_HP_OUT) - idx = spec->out_paths[0]; - else - idx = spec->hp_paths[0]; - path = snd_hda_get_path_from_idx(codec, idx); + if (cfg->line_out_type != AUTO_PIN_LINE_OUT) + return false; + + path = snd_hda_get_path_from_idx(codec, spec->out_paths[0]); if (!path) return false; + nid = path->path[0];
+ idx = spec->hp_paths[0]; + path = snd_hda_get_path_from_idx(codec, idx); + if (!path) + return false; + + /* Headphone and Line Out must use different Audio Output */ + if (path->path[0] == nid) + return false; + /* assume no path conflicts unless aamix is involved */ if (!spec->mixer_nid || !is_nid_contained(path, spec->mixer_nid)) return true;