DELL XPS M1210 STAC9221 Dual Headphone jacks not working

Bug #1509950 reported by Max Wachtel
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ALSA driver
Unknown
Medium
alsa-driver (Ubuntu)
Won't Fix
Medium
Unassigned

Bug Description

Ubuntu 15.10 after latest update headphones stopped working. When I ran alsamixer in the terminal, I saw they were muted. after unmuting them I pressed F6 and saw the soundcard id, then pressed esc and esc to exit alsamixer then entered sudo alsactl store Intel After rebooting they worked!

ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: pulseaudio 1:6.0-0ubuntu13
ProcVersionSignature: Ubuntu 4.2.0-16.19-generic 4.2.3
Uname: Linux 4.2.0-16-generic x86_64
ApportVersion: 2.19.1-0ubuntu3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: max 1272 F.... pulseaudio
CurrentDesktop: Unity
Date: Mon Oct 26 02:15:01 2015
InstallationDate: Installed on 2015-10-20 (5 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Release amd64 (20151019)
SourcePackage: pulseaudio
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 09/11/2008
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A09
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA09:bd09/11/2008:svnDellInc.:pnMXC062:pvr:rvnDellInc.:rn:rvr:cvnDellInc.:ct8:cvr:
dmi.product.name: MXC062
dmi.sys.vendor: Dell Inc.

Revision history for this message
Max Wachtel (maxpro4u) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pulseaudio (Ubuntu):
status: New → Confirmed
Revision history for this message
Raymond (superquad-vortex2) wrote :

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/patch_sigmatel.c?id=76c08828709129bdce6c6a325e0342ba73f2618f

ysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x0a 0x0221101f
0x0b 0x40f000f0
0x0c 0x02811030
0x0d 0x90170110
0x0e 0x40f000f1
0x0f 0x02011020
0x10 0x034410a0
0x11 0x40f000f2
0x15 0x40f000f3
0x1b 0x40f000f4

/sys/class/sound/hwC0D0/driver_pin_configs:
0x0a 0x02211211
0x0b 0x408103ff
0x0c 0x02a1123e
0x0d 0x90100310
0x0e 0x408003f1
0x0f 0x0221121f
0x10 0x03451340
0x11 0x40c003f2
0x15 0x508003f3
0x1b 0x405003f4

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs

[ 12.280460] snd_hda_codec_idt hdaudioC0D0: autoconfig for STAC9221 A1: line_outs=1 (0xa/0x0/0x0/0x0/0x0) type:line
[ 12.280465] snd_hda_codec_idt hdaudioC0D0: speaker_outs=1 (0xd/0x0/0x0/0x0/0x0)
[ 12.280469] snd_hda_codec_idt hdaudioC0D0: hp_outs=1 (0xf/0x0/0x0/0x0/0x0)
[ 12.280472] snd_hda_codec_idt hdaudioC0D0: mono: mono_out=0x0
[ 12.280475] snd_hda_codec_idt hdaudioC0D0: dig-out=0x10/0x0
[ 12.280477] snd_hda_codec_idt hdaudioC0D0: inputs:
[ 12.280481] snd_hda_codec_idt hdaudioC0D0: Mic=0xc

Codec: SigmaTel STAC9221 A1
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x83847680
Subsystem Id: 0x102801d7
Revision Id: 0x103601

how many jacks ?

it is strange that only mic and your pci ssid seem same as DELL XPS m1210

Revision history for this message
Raymond (superquad-vortex2) wrote :

do your computer support 5.1 since there are three jacks at same location ?

ode 0x0a [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x0221101f: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=02, enabled=1
  Connection: 1
     0x02

Node 0x0c [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x00001737: IN OUT Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x02811030: [Jack] Line In at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=03, enabled=1
  Connection: 1
     0x03
Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x02

Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x00000037: IN OUT Detect Trigger ImpSense
  Pin Default 0x02011020: [Jack] Line Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x05

Changed in pulseaudio (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Max Wachtel (maxpro4u) wrote :

I have 3 jacks on my dell xps m1210

Revision history for this message
Raymond (superquad-vortex2) wrote :

ports:
  analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
   properties:
    device.icon_name = "audio-speakers"
  analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: no)
   properties:
    device.icon_name = "audio-headphones"
 active port: <analog-output-speaker>

control.17 {
  iface CARD
  name 'Front Headphone Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.18 {
  iface CARD
  name 'Front Headphone Jack'
  index 1
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

try

hdajacksensetest -a

when you plug headphone and unplug

Changed in pulseaudio (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Raymond (superquad-vortex2) wrote :

Node 0x02 [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="STAC9221 A1 Analog", type="Audio", device=0
  Amp-Out caps: N/A
  Amp-Out vals: [0x79 0x79]
  Converter: stream=5, channel=0
  Power states:
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Amp-Out caps: N/A
  Amp-Out vals: [0xff 0xff]
  Converter: stream=0, channel=0
  Power states:
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Amp-Out caps: N/A
  Amp-Out vals: [0xff 0xff]
  Converter: stream=0, channel=0
  Power states:
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x05 [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: [0x80 0x80]
  Converter: stream=5, channel=0
  Power states:
  Power: setting=D0, actual=D0
  Delay: 13 samples

if there are two headphone jacks, there should be two headphone playback volume control ans switches

speaker playback volume and center/lfe volume when line in is retasked as output to support 5.1 as your codec are 8 channels

Revision history for this message
Raymond (superquad-vortex2) wrote :

https://bugzilla.kernel.org/enter_bug.cgi?product=Drivers

alsa sound

you have to file upstream bug report if it is a regression since your dell m1210 was supported bythe above patch

affects: pulseaudio (Ubuntu) → alsa-driver (Ubuntu)
Revision history for this message
Raymond (superquad-vortex2) wrote :

seem spec->dac_nids not initialised

 spec->adc_nids = stac922x_adc_nids;
 spec->mux_nids = stac922x_mux_nids;
 spec->num_muxes = ARRAY_SIZE(stac922x_mux_nids);
 spec->num_adcs = ARRAY_SIZE(stac922x_adc_nids);
 spec->num_dmics = 0;
 spec->num_pwrs = 0;

 spec->num_caps = STAC922X_NUM_CAPS;
 spec->capvols = stac922x_capvols;
 spec->capsws = stac922x_capsws;

 spec->multiout.dac_nids = spec->dac_nids;

 snd_hda_add_verbs(codec, stac922x_core_init);

 snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);

 err = stac92xx_parse_auto_config(codec);

Revision history for this message
Max Wachtel (maxpro4u) wrote :

both headphone jacks work on LTS 14.04.3

Revision history for this message
Raymond (superquad-vortex2) wrote :

you have to open bug report or send email to the author since the driver change node 0x0f line out pin to HP pins by fixup so speaker+lo should not be created

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/patch_sigmatel.c?id=0a4278464eba4bf98c0d6304c62a1116553125d3

 /*
     STAC 9221 A1 pin configs for
     102801D7 (Dell XPS M1210)
 */
-static const unsigned int dell_922x_m82_pin_configs[10] = {
- 0x02211211, 0x408103ff, 0x02a1123e, 0x90100310,
- 0x408003f1, 0x0221121f, 0x03451340, 0x40c003f2,
- 0x508003f3, 0x405003f4,
+static const struct hda_pintbl dell_922x_m82_pin_configs[] = {
+ { 0x0a, 0x02211211 },
+ { 0x0b, 0x408103ff },
+ { 0x0c, 0x02a1123e },
+ { 0x0d, 0x90100310 },
+ { 0x0e, 0x408003f1 },
+ { 0x0f, 0x0221121f },
+ { 0x10, 0x03451340 },
+ { 0x11, 0x40c003f2 },
+ { 0x15, 0x508003f3 },
+ { 0x1b, 0x405003f4 },
+ {}
 };

Revision history for this message
Raymond (superquad-vortex2) wrote :

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda?id=03ad6a8c93b6df2d65c305b5b5f9474068b45bfb

ALSA: hda - Fix "PCM" name being used on one DAC when there are two DACs

your HP node 0x0a and speaker node 0xd can only connected to node 0x2

this mean you should have speaker+HP playback volume control

Revision history for this message
Raymond (superquad-vortex2) wrote :

http://git.alsa-project.org/?p=alsa-tools.git;a=tree;f=hdajacksensetest;hb=HEAD

only pincap of node 0x0a support HP but pincap of node 0x0f dose not support HP

can you confirm that the HP jack the the midde is which node 0x0a or 0x0f by

./hdajacksensetest -a

Revision history for this message
Raymond (superquad-vortex2) wrote :
summary: - Headphone jack not working
+ DELL XPS M1210 STAC9221 Dual Headphone jacks not working
Revision history for this message
Max Wachtel (maxpro4u) wrote :

If I plug in the left jack an audio extension cord and then plug in my headphones in the center jack, they work. Also this works on todays daily build of 16.04. Headphone jacks work fine on 14.04 LTS.

Revision history for this message
Max Wachtel (maxpro4u) wrote :

I think it is a kernel issue as the headphones worked fine until I updated 15.10.

Revision history for this message
Raymond (superquad-vortex2) wrote :

you need to file upstream bug report at kenerl bugzilla and pulseaudio bug report

it need driver to create "Speaker+Headphone Playback Volume" control when node 0xa and node 0xd can only be connected to node 0x02

Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x0221101f: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=02, enabled=1
  Connection: 1
     0x02

Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x02

Revision history for this message
Raymond (superquad-vortex2) wrote :

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda?id=03ad6a8c93b6df2d65c305b5b5f9474068b45bfb

the workaround is retask HP to line out to get (Speaker+LO" , the above patch is limited to two DAC codecs but your codecs have four DAC

Revision history for this message
Raymond (superquad-vortex2) wrote :

the critial point is node 0xf lack HP amp , only node 0xA has pincap HP

Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x00000037: IN OUT Detect Trigger ImpSense
  Pin Default 0x02011020: [Jack] Line Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x05

Revision history for this message
Raymond (superquad-vortex2) wrote :

you also need pulseaudio fix similar to the following but using "Speaker + HP"

http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=aec811798cd883a454b9b5cd82c77831906bbd2d

Revision history for this message
Max Wachtel (maxpro4u) wrote :

I created an account at kernel bugzilla but I am not sure what product heading I should use, driver or platform specific/hardware.

Revision history for this message
Raymond (superquad-vortex2) wrote :
Revision history for this message
In , Max Wachtel (maxpro4u) wrote :

when I plug in my headphones, they do not work. This happens with the 4 kernel on ubuntu, arch, fedora. Ubuntu 14.04 lts is fine and so is fedora 22. I noticed if I plug in my audio extension cord in the left jack and plug my headphones in the middle jack, they work(ubuntu 15.10+16.04,fedora 23 and arch).

Revision history for this message
In , Raymond (superquad-vortex2) wrote :

You have to fix the driver first if HP and speaker must share volume control

https://bugzilla.kernel.org/enter_bug.cgi?product=Drivers

Sound(ALSA)

Revision history for this message
In , Raymond (superquad-vortex2) wrote :

Node 0x02 [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="STAC9221 A1 Analog", type="Audio", device=0
  Amp-Out caps: N/A
  Amp-Out vals: [0x79 0x79]
  Converter: stream=5, channel=0
  Power states:
  Power: setting=D0, actual=D0
  Delay: 13 samples

Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x0221101f: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=02, enabled=1
  Connection: 1
     0x02

Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x02

Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x00000037: IN OUT Detect Trigger ImpSense
  Pin Default 0x02011020: [Jack] Line Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x05

Revision history for this message
In , Raymond (superquad-vortex2) wrote :

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/plain/sound/pci/hda/hda_generic.c

case AUTO_PIN_HP_OUT:
  /* if the primary channel vol/mute is shared with spk volume,
   * don't name it as Headphone
   */
  if (!ch && cfg->speaker_outs &&
      !path_has_mixer(codec, spec->speaker_paths[0], ctl_type))
- break;
+ return "Speaker+HP";
  /* for multi-io case, only the primary out */
  if (ch && spec->multi_ios)
   break;
  *index = ch;
  return "Headphone";

Revision history for this message
In , Raymond (superquad-vortex2) wrote :

You also need to add "Speaker+HP" to slaves of virtual master

After the driver rename the shared volume control"Speaker+HP" , you need to change pulseaudio conf to avoid headphone mute the shared volume control similar to

http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/modules/alsa/mixer/paths?id=aec811798cd883a454b9b5cd82c77831906bbd2d

Changed in alsa-driver:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
In , Raymond (superquad-vortex2) wrote :

==> Best config: lo_type=2, wired=1, mio=1
multi_outs = a/f/0/0 : 2/5/0/0 (type HP)
  out path: depth=2 '02:0a'
  out path: depth=2 '05:0f'
spk_outs = d/0/0/0 : 2/0/0/0
  spk path: depth=2 '02:0d'

as the driver create surround playback volume for the line out jack

it seem that the driver create incorrect headphone jack kctl

the alternative workaround is to change two output jacks to line out instead of headphone by hdajackretask

Revision history for this message
In , Raymond (superquad-vortex2) wrote :

pulseaudio cannot handle Front Headphone jack with index 1

control.17 {
  iface CARD
  name 'Front Headphone Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.18 {
  iface CARD
  name 'Front Headphone Jack'
  index 1
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.19 {
  iface CARD
  name 'Speaker Phantom Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

Revision history for this message
In , Raymond (superquad-vortex2) wrote :

http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/modules/alsa/mixer/paths/analog-output-headphones-2.conf

what is the usage of headphone2.conf ?

seem no sound driver implemenet [Element Headphone2]

Revision history for this message
In , Max Wachtel (maxpro4u) wrote :

just installed arch linux using the 4.1 LTS kernel and the headphone jacks work fine

Revision history for this message
In , Gitlab-migration (gitlab-migration) wrote :

-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/211.

Changed in alsa-driver:
status: Confirmed → Unknown
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thank you for reporting this bug to Ubuntu.
Ubuntu 15.10 (wily) reached end-of-life on July 28, 2016.

See this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

We appreciate that this bug may be old and you might not be interested in discussing it any more. But if you are then please upgrade to the latest Ubuntu version and re-test. If you then find the bug is still present in the newer Ubuntu version, please add a comment here telling us which new version it is in and change the bug status to Confirmed.

Changed in alsa-driver (Ubuntu):
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.