Bug 106961

Summary: No sound in headphones, works in speakers - HP ProBook 6550b
Product: Drivers Reporter: Martin Kostolný (clearmartin)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED CODE_FIX    
Severity: normal CC: superquad.vortex2, tiwai
Priority: P1    
Hardware: Intel   
OS: Linux   
Kernel Version: 3.19.0+ Subsystem:
Regression: Yes Bisected commit-id:
Attachments: output of alsa-info.sh (run as root)

Description Martin Kostolný 2015-10-31 14:03:40 UTC
There is no sound coming from connected headphones. Pavucontrol shows moving bars and that headphones are connected like nothing is wrong. When I disconnect headphones, speakers are playing fine.

I can reproduce this bug also with speaker-test tool without pulseaudio running. I reproduced it with various distributions.

Here are original reports (Ubuntu and Arch):
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1450027
https://bugs.archlinux.org/task/45211

I reproduced it also with Fedora live cd.

This bug is not present in longterm kernel 3.18.22 so it has to be a regression of kernel version 3.19.

Soundcard:
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
Subsystem: Hewlett-Packard Company Device 1471
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at d4520000 (64-bit, non-prefetchable) [size=16K]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

Notebook type:
HP ProBook 6550b
Comment 1 Raymond 2015-11-01 15:15:51 UTC
it is strange that no pin fixup but node 0xa hp at ext front has  dock hp jack kctl


http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/modules/alsa/mixer/paths

pulseaudio only has headphones.conf and dock-mic.conf but no dock-headphone.conf

try 

hdajacksensetest -a

to find out whether node 0xa is the headphone jack



!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x0a 0x2121101f
0x0b 0x03a1102e
0x0c 0x90a70120
0x0d 0x90170110
0x0e 0x21811040
0x0f 0x03211030
0x14 0x40f000f0
0x18 0x40f000f0
0x19 0x40f000f0
0x1e 0x40f000f0
0x1f 0x40f000f0
0x20 0x40f000f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:


ode 0x0a [Pin Complex] wcaps 0x400181: Stereo
  Control: name="Dock Headphone Jack", index=0, device=0
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x02214030: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Connection: 3
     0x10 0x11* 0x17
Node 0x0b [Pin Complex] wcaps 0x400081: Stereo
  Control: name="Mic Jack", index=0, device=0
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x02a19040: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Pink
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=04, enabled=1
Node 0x0c [Pin Complex] wcaps 0x400081: Stereo
  Control: name="Internal Mic Phantom Jack", index=0, device=0
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x01a19020: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
  Control: name="Speaker Phantom Jack", index=0, device=0
  Pincap 0x00000014: OUT Detect
  Pin Default 0x01014010: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 3
     0x10* 0x11 0x17
Node 0x0e [Pin Complex] wcaps 0x400081: Stereo
  Control: name="Line Jack", index=0, device=0
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x0181302e: [Jack] Line In at Ext Rear
    Conn = 1/8, Color = Blue
    DefAssociation = 0x2, Sequence = 0xe
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=05, enabled=1
Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
  Control: name="Headphone Jack", index=0, device=0
  Pincap 0x00000014: OUT Detect
  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=02, enabled=1
  Connection: 3
     0x10* 0x11 0x17
Node 0x10 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Control: name="Speaker+LO Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker+LO Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="92HD75B3X5 Analog", type="Audio", device=0
  Amp-Out caps: N/A
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=8, channel=0
  Power states: 
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x11 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: N/A
  Amp-Out vals:  [0x63 0x64]
  Converter: stream=8, channel=0
  Power states: 
  Power: setting=D0, actual=D0
  Delay: 13 samples



 15.077529] SSE version of gcm_enc/dec engaged.
[   15.459357] sound hdaudioC0D0: autoconfig: line_outs=1 (0xf/0x0/0x0/0x0/0x0) type:line
[   15.459362] sound hdaudioC0D0:    speaker_outs=1 (0xd/0x0/0x0/0x0/0x0)
[   15.459364] sound hdaudioC0D0:    hp_outs=1 (0xa/0x0/0x0/0x0/0x0)
[   15.459365] sound hdaudioC0D0:    mono: mono_out=0x0
[   15.459367] sound hdaudioC0D0:    inputs:
[   15.459369] sound hdaudioC0D0:      Internal Mic=0xc
[   15.459371] sound hdaudioC0D0:      Mic=0xb
[   15.459372] sound hdaudioC0D0:      Line=0xe
Comment 2 Raymond 2015-11-01 15:19:44 UTC
Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
  Control: name="Headphone Jack", index=0, device=0
  Pincap 0x00000014: OUT Detect
  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=02, enabled=1
  Connection: 3

but this pin without any fixup change to headphone jack


you have to find out which node (0xa or 0xf) is HP  by hdajacksensetest which report present =yes when you plug headphone
Comment 3 Martin Kostolný 2015-11-03 19:56:37 UTC
Unfortunately I was unable to run the "hdajacksensetest" command (I don't have "hda-jack-sense-test" either). It also isn't part of alsa-tools package and I was unable to git clone git://git.alsa-project.org/alsa-hda-tools.git which I suspect is the repo containing sources for this command...

Can you please point me where can I download sources or find proper package (I'm on Arch Linux)?

So far I just tried "hdajackretask" which just told me that my Headphone Jack is the 0xf one (with kernel 3.18.22 as well as 4.2.5). But it doesn't show when something is plugged in...
Comment 4 Martin Kostolný 2015-11-03 20:11:27 UTC
I found temporary workaround: every time I plug in headphones I need to go to pavucontrol -> Output devices and set the port to "Speakers (unavailable)" instead of automatically selected "Headphones (plugged in)" in order to get the sound from headphones.
Comment 5 Takashi Iwai 2015-11-03 20:38:43 UTC
Could you upload alsa-info.sh output taken from 4.2.x or 4.3 kernel?

Also, try the latest git version of PA (not 7.0 or 7.1 -- they don't contain the fix).  There is a known bug in PA that works badly with dock headphone.  I don't think this as the real cause, but just to be sure.
Comment 6 Martin Kostolný 2015-11-03 21:50:10 UTC
Created attachment 191971 [details]
output of alsa-info.sh (run as root)
Comment 7 Martin Kostolný 2015-11-03 21:52:50 UTC
Just tried with latest git PA (version 7.0-33-g8fe98). Result is the same.
The alsa-info.sh was run on kernel 4.2.5.
Comment 8 Takashi Iwai 2015-11-03 22:24:24 UTC
OK, then try to add your SSID to the quirk list in patch_sigmatel.c, just like:

--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -702,6 +702,7 @@ static bool hp_bnb2011_with_dock(struct hda_codec *codec)
 static bool hp_blike_system(u32 subsystem_id)
 {
        switch (subsystem_id) {
+       case 0x103c1473:
        case 0x103c1520:
        case 0x103c1521:
        case 0x103c1523:
Comment 9 Martin Kostolný 2015-11-04 20:53:15 UTC
Brilliant, that worked! Thanks!

I don't have a docking station to test on but without it started to work.
Comment 10 Martin Kostolný 2015-11-04 20:54:47 UTC
Tested (and locally patched) with kernel 4.3 from here:
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.3.tar.xz
Comment 11 Takashi Iwai 2015-11-04 21:43:30 UTC
Good to hear.  I'm going to queue the fix.  It'll be included in 4.4-rc1 and backported to stable kernels eventually later.
Comment 12 Martin Kostolný 2015-11-04 22:09:33 UTC
Thanks a lot.