Headphone jack sense missing on Lenovo Thinkpad SL410 and SL510

Bug #580006 reported by jk
70
This bug affects 11 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned
Nominated for Maverick by Ayan George
Nominated for Natty by Ayan George

Bug Description

It seems as though the channel for enabling/disabling headphone jack sense is missing for this card (looked for it in alsamixer and kmix, found nothing). There are separate channels "Headphone" and "Speaker". Both work as intended, I can change the volume and mute both channels independently and get the expected results. I'm just missing the functionality that the internal speaker is automatically disabled when a headphone is plugged in (and re-enabled when it's NOT plugged in).

There's a mute button on the chassis (produces no key events with xev) which mutes the internal speakers, but not the headphone channel. When using this button to mute, the mixer doesn't show that the speaker is muted, though.

The machine is a Lenovo ThinkPad SL510 (with the latest BIOS installed, 1.35-1.19). alsamixer reports the card as "HDA Intel", chip "Intel G45 DEVCTG". /proc/asound/card0/codec#0 says "Codec: Realtek ALC269".

lspci says:
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

I compared the contents of /proc/asound/card*/codec#* with and without a headphone plugged in:

jensi@tp:~$ cat /proc/asound/card*/codec#* > no-headphone
jensi@tp:~$ cat /proc/asound/card*/codec#* > headphone
jensi@tp:~$ diff -U 2 no-headphone headphone
--- no-headphone 2010-05-13 16:42:07.715206723 +0200
+++ headphone 2010-05-13 16:42:15.643206222 +0200
@@ -225,6 +225,6 @@
 Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
   Processing caps: benign=0, ncoeff=33
- Processing Coefficient: 0x227
- Coefficient Index: 0x0f
+ Processing Coefficient: 0xa100
+ Coefficient Index: 0x10
 Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
 Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono

These values are the only differences, but they seem to change all the time, no matter whether a headphone is plugged in or not:

jensi@tp:~$ cat /proc/asound/card*/codec#* > no-headphone1
jensi@tp:~$ cat /proc/asound/card*/codec#* > no-headphone2
jensi@tp:~$ diff -U 2 no-headphone1 no-headphone2
--- no-headphone1 2010-05-13 16:39:28.836209887 +0200
+++ no-headphone2 2010-05-13 16:39:31.360207130 +0200
@@ -225,6 +225,6 @@
 Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
   Processing caps: benign=0, ncoeff=33
- Processing Coefficient: 0x480
- Coefficient Index: 0x0d
+ Processing Coefficient: 0xb000
+ Coefficient Index: 0x0e
 Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
 Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: alsa-utils 1.0.22-0ubuntu5
ProcVersionSignature: Ubuntu 2.6.32-22.33-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-22-generic i686
Architecture: i386
Date: Thu May 13 16:24:23 2010
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100427.1)
ProcEnviron:
 LC_TIME=de_AT.UTF-8
 LANGUAGE=
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: alsa-utils
---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC269 Analog [ALC269 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: jensi 1693 F.... knotify4
                      jensi 1729 F.... pulseaudio
                      jensi 1759 F.... kmix
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf2a00000 irq 22'
   Mixer name : 'Intel G45 DEVCTG'
   Components : 'HDA:10ec0269,17aa212c,00100004 HDA:80862802,80860101,00100000'
   Controls : 18
   Simple ctrls : 10
DistroRelease: Ubuntu 10.04
HibernationDevice: RESUME=UUID=788a0e69-d97d-4313-8a3d-a7f3891ac886
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100427.1)
MachineType: LENOVO 28477MG
Package: linux (not installed)
ProcCmdLine: BOOT_IMAGE=/vmlinuz-2.6.32-22-generic root=/dev/mapper/hostname-root ro quiet splash
ProcEnviron:
 LC_TIME=de_AT.UTF-8
 LANGUAGE=
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-22.33-generic 2.6.32.11+drm33.2
Regression: No
RelatedPackageVersions: linux-firmware 1.34
Reproducible: Yes
Tags: lucid needs-upstream-testing
Uname: Linux 2.6.32-22-generic i686
UserGroups: adm admin audio cdrom dialout dip fax floppy fuse lpadmin netdev plugdev sambashare tape video
dmi.bios.date: 04/30/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6JET77WW (1.35 )
dmi.board.name: 28477MG
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6JET77WW(1.35):bd04/30/2010:svnLENOVO:pn28477MG:pvrThinkPadSL510:rvnLENOVO:rn28477MG:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 28477MG
dmi.product.version: ThinkPad SL510
dmi.sys.vendor: LENOVO

Revision history for this message
jk (mail-j-k) wrote :
Revision history for this message
jk (mail-j-k) wrote :

Probably not relevant for the jack sense I guess, but concerning the mute button I mentioned, there's a difference in /proc/asound/card0/codec#0 when the button is pressed:

jensi@tp:~$ diff -U 2 unmuted muted
--- unmuted 2010-05-13 16:52:49.520209649 +0200
+++ muted 2010-05-13 16:52:54.276207621 +0200
@@ -65,5 +65,5 @@
 Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
   Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
- Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x00 0x00]
+ Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
   Connection: 5
      0x18 0x19 0x1a 0x1b 0x1d

ooze (zoe-gauthier)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi jk,

If you could also please test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: kernel-sound
tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Jennifer Paykin (jpaykin) wrote :

I am experiencing exactly the same issue on a ThinkPad SL410 running Ubuntu 10.04. The codec#0 is also Realtek ALC269. I installed the latest kernel from today, May 18th, which was linux-image-2.6.34-999-generic_2.6.34-999.201005172238_amd64.deb, and as far as I can tell nothing has changed. What more can I do to help or test this issue? (Apologies-- this is my first time posting on launchpad)

tags: removed: needs-upstream-testing
Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi Jennifer,
    Would you mind opening a new bug for me on your issue?

Thanks!

~JFo

Revision history for this message
jk (mail-j-k) wrote :

Tested with linux-image-2.6.34-020634-generic_2.6.34-020634_i386.deb, behavior is exactly the same.

Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi jk,
    Would you mind running 'apport-collect -p linux 580006' so that we can gather some logging and debug information to this bug?

Thanks!

~JFo

Revision history for this message
jk (mail-j-k) wrote : AlsaDevices.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
jk (mail-j-k) wrote : AplayDevices.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : BootDmesg.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : CRDA.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : Card0.Amixer.values.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : Card0.Codecs.codec.0.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : Card0.Codecs.codec.3.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : CurrentDmesg.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : IwConfig.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : Lspci.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : Lsusb.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : PciMultimedia.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : ProcInterrupts.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : ProcModules.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : RfKill.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : UdevDb.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : UdevLog.txt

apport information

Revision history for this message
jk (mail-j-k) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → In Progress
status: In Progress → Triaged
importance: Undecided → Medium
Revision history for this message
Jimmy Persson (jimper-8) wrote : Re: Headphone jack sense missing on Realtek ALC269

Hi,
There is a workaround for this issue, though it differs a bit depending on the model of the computer.
I too have a Lenovo SL510, and just managed to solve it. Just open the Alsa config file with "sudo gedit /etc/modprobe.d/alsa-base.conf", and add the line "options snd_hda_intel model=quanta", to the end of the file. In both cases the commands should be without the quotation marks. Now just restart the computer and the speakers mute when headphones are plugged in.

tags: added: alc269
Revision history for this message
David Henningsson (diwic) wrote :

Could you please try the following terminal commands:

echo 0x1d 0x411111f0 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig

Then log out and in again and see if auto-mute is then enabled? Thanks!

Changed in linux (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
Fan Yang (snisiarc) wrote :

The workaround in #27 sort of worked for me. But I had to change "options snd_hda_intel model=quanta" to "options snd_hda_intel model=-2". I have a Lenovo ideapad v460, which uses the same type of sound card as thinkpad described above.

Revision history for this message
jk (mail-j-k) wrote :

David: Had to kill gdm and pulseaudio first to be able to issue "echo 1 > /sys/class/sound/hwC0D0/reconfig", but after doing that and logging in, auto-muting works.

Gary M (garym)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Alexander Shutyaev (shutyaev) wrote :

I have the same problem with ALC269 on my Acer Aspire 3810T laptop. model=quanta helped me.

Revision history for this message
Thomas B Homburg (thomasbhomburg) wrote : unsubscribe

On Sat, Oct 16, 2010 at 23:28, Alexander Shutyaev <<email address hidden>
> wrote:

> I have the same problem with ALC269 on my Acer Aspire 3810T laptop.
> model=quanta helped me.
>
> --
> Headphone jack sense missing on Realtek ALC269
> https://bugs.launchpad.net/bugs/580006
> You received this bug notification because you are a direct subscriber
> of the bug.
>

--
/thomas
http://thomas.homburg.dk

Revision history for this message
Sheridan Hutchinson (sheridan-shezza) wrote : Re: Headphone jack sense missing on Realtek ALC269

I'm affected by this bug on my Lenovo SL410 and would be happy to test anything that would help get this working for people right out-of-the-box.

Gary M (garym)
tags: added: hda-jack-sense
summary: - Headphone jack sense missing on Realtek ALC269
+ Headphone jack sense missing on Lenovo Thinkpad SL410 and SL510
Changed in linux (Ubuntu):
assignee: nobody → David Henningsson (diwic)
status: Confirmed → In Progress
Revision history for this message
David Henningsson (diwic) wrote :
Revision history for this message
David Henningsson (diwic) wrote :

Patch accepted upstream.

Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
David Henningsson (diwic) wrote :

This means that in a day or two, you can use the procedure here: https://wiki.ubuntu.com/Audio/InstallingLinuxAlsaDriverModules to fix/workaround it.

Revision history for this message
madbiologist (me-again) wrote :

The abovementioned fix is included upstream in kernel 2.6.37-rc8. From the changelog:

commit 022c92befa539174125b0a1b5e52dd57affefe9f
Author: David Henningsson
Date: Fri Dec 17 20:43:04 2010 +0100

    ALSA: HDA: Add auto-mute for Thinkpad SL410/SL510

    BugLink: http://launchpad.net/bugs/580006

    SKU turns off auto-mute for these machines, so ignore the SKU.

    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
assignee: David Henningsson (diwic) → nobody
Revision history for this message
bbcycling (bbcycling) wrote :

The work around in comment #27 fixed my speaker auto-mute problem. (Speakers would play music while headphones were plugged in.) My mute button does not mute the speakers after this work around.

After, installing the LinuxAlsaDriverModule: https://wiki.ubuntu.com/Audio/InstallingLinuxAlsaDriverModules

...my mute button works. (However, mute button will not mute headphones.)

Lenovo Thinkpad SL410 model 2842.

Chris Van Hoof (vanhoof)
tags: added: hwe-blocker
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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