Multimedia and battery keys do not work on Dell Studio 1557

Bug #609234 reported by Mark Smith
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linux
Fix Released
Medium
Gentoo Linux
Fix Released
Medium
linux (Ubuntu)
Undecided
Mark Smith
Nominated for Maverick by Mark Smith

Bug Description

dmesg shows:
dell-wmi: Unknown key 0 pressed

This is a pretty easy fix:
http://www.gossamer-threads.com/lists/linux/kernel/1242512
I tested it on 2.6.33 and 2.6.34 on gentoo and it worked perfectly. This should fix the issue on the studio 1555/1557/1558.

Should the Studio 155x models fall into the dell_new_hk_type category instead?

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: linux-image-2.6.35-9-generic (not installed)
Regression: Yes
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.35-10.15-generic 2.6.35-rc5
Uname: Linux 2.6.35-10-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: mark 1728 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf1000000 irq 55'
   Mixer name : 'IDT 92HD73C1X5'
   Components : 'HDA:111d7675,102802bd,00100103'
   Controls : 16
   Simple ctrls : 10
Card1.Amixer.info:
 Card hw:1 'HDMI'/'HDA ATI HDMI at 0xcfeec000 irq 56'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100100'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [off]
Date: Fri Jul 23 12:56:44 2010
HibernationDevice: RESUME=UUID=23f5c556-c166-4466-87d4-b73de38c135d
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Alpha amd64 (20100630.2)
MachineType: Dell Inc. Studio 1557
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.35-10-generic root=UUID=a154b74b-d1cd-402f-86aa-da41cc50ed29 ro quiet splash
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.utf8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.37
SourcePackage: linux
dmi.bios.date: 05/27/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A06
dmi.board.name: 0KM426
dmi.board.vendor: Dell Inc.
dmi.board.version: A06
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: A06
dmi.modalias: dmi:bvnDellInc.:bvrA06:bd05/27/2010:svnDellInc.:pnStudio1557:pvrA06:rvnDellInc.:rn0KM426:rvrA06:cvnDellInc.:ct8:cvrA06:
dmi.product.name: Studio 1557
dmi.product.version: A06
dmi.sys.vendor: Dell Inc.

CVE References

Revision history for this message
Mark Smith (tntc-tig) wrote :
Revision history for this message
Mark Smith (tntc-tig) wrote :

Just wanted to paste the patch here, in case the mailing list disappears. I haven't been able to test the patch since I've switched back to Ubuntu 10.04 for the time being, but I will be testing the current liveCD on my Studio today.

Fixes pressing the eject key on Dell Studio 1555 does not work and
produces message :
dell-wmi: Unknown key 0 pressed

Signed-off-by: Islam Amer <pharon [at] gmail>
---

--- linux-sidux-2.6-2.6.34/drivers/platform/x86/dell-wmi.c.orig 2010-06-03
00:02:17.418824168 +0300
+++ linux-sidux-2.6-2.6.34/drivers/platform/x86/dell-wmi.c 2010-06-03
00:01:40.641833249 +0300
@@ -221,7 +221,7 @@ static void dell_wmi_notify(u32 value, v
return;
}

- if (dell_new_hk_type)
+ if (dell_new_hk_type || buffer_entry[1] == 0x0)
reported_key = (int)buffer_entry[2];
else
reported_key = (int)buffer_entry[1] & 0xffff;
--

Revision history for this message
Mark Smith (tntc-tig) wrote :

Bug still exists in daily maverick build. Should be a super easy fix, but I'm not familiar enough with the Ubuntu kernel build process. When I patched this on Gentoo, worked like a charm. Affects Battery key (Fn-F3), keyboard brightness key for back-light keyboard (Fn-F6, still functions to change keyboard brightness), and Eject key (No F key, located to the right of F12).

The patch basically determines if the key buffer entry at [1] is empty, and if it is, uses buffer_entry[2]. If someone can throw together a kernel package for me, I can test ASAP.

Revision history for this message
Mark Smith (tntc-tig) wrote :

Managed to patch the kernel and compile it. Worked fine with the package I built. What else do I need to do?

Revision history for this message
Mark Smith (tntc-tig) wrote :

This patch should fix the buttons on the Studio 1555, Studio 1557, Studio 1558.
Apply to drivers/platform/x86/dell-wmi.c inside the kernel source tree.

tags: added: patch
Mark Smith (tntc-tig)
Changed in linux (Ubuntu):
assignee: nobody → Mark Smith (tntc-tig)
status: New → In Progress
Mark Smith (tntc-tig)
Changed in gentoo:
importance: Undecided → Unknown
status: New → Unknown
Changed in gentoo:
status: Unknown → Confirmed
Changed in gentoo:
status: Confirmed → Fix Released
Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.35-18.24

---------------
linux (2.6.35-18.24) maverick; urgency=low

  [ Colin Watson ]

  * Pass DEB_MAINT_PARAMS to hook scripts

  [ Leann Ogasawara ]

  * [Config] Add CONFIG_INPUT_UINPUT=y to config enforcer
    - LP: #584812
  * rebase to v2.6.35.3

  [ Upstream Kernel Changes ]

  * (pre-stable) dell-wmi: Add support for eject key on Dell Studio 1555
    - LP: #609234
  * can: add limit for nframes and clean up signed/unsigned variables
    - CVE-2010-2959
  * drm: Initialize ioctl struct when no user data is present
    - CVE-2010-2803
  * ARM: initial stack protector (-fstack-protector) support
  * ARM: stack protector: change the canary value per task
  * [ARM] implement arch_randomize_brk()
  * [ARM] add address randomization to mmap()
  * ARM: fix ASLR of PIE executables
 -- Leann Ogasawara <email address hidden> Sun, 22 Aug 2010 19:22:04 -0700

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Michael Doube (michael-doube) wrote :

I get a reference to this bug after running git bisect to diagnose bug #658198. It looks like changes to drivers/input/input.c and drivers/input/evdev.c have broken hotkey support for backlight control on my Sony Vaio SZ650.

Revision history for this message
David A. Rountree (darountree) wrote :

I previously applied this patch against the 2.6.4-020634-generic kernel, and it worked great. Now I've upgraded to Kubuntu 10.10, with the 2.6.35-23-generic kernel. According to this changelog: http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.35.6-maverick/CHANGES, the fix was put in at mainline kernel 2.6.35.6. According to this table: http://kernel.ubuntu.com/~kernel-ppa/info/kernel-version-map.html, my 2.6.35-23-generic kernel is based on mainline kernel 2.6.35.7, which would thus include the fix. But the eject key on my Studio 1558 still doesn't work. I even installed the source code for the 2.6.35-23 K/Ubuntu kernel and verified that the fix is in the dell-wmi.c code.

So, I can only conclude that something else has broken the cd eject key. Thoughts?

Revision history for this message
David A. Rountree (darountree) wrote :

Nevermind - figured it out. Kubuntu doesn't assign the slotload CD drive an eject key during setup like Ubuntu does - you have to assign it manually.

Changed in linux:
status: Unknown → Confirmed
Changed in linux:
importance: Unknown → Medium
Changed in gentoo:
importance: Unknown → Medium
Changed in linux:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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