Broken hardware buttons on Dell XPS 12-9Q33

Bug #1629415 reported by Andreas Ehrle
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

System Ubuntu 16.04
Kernel 4.4.0-36 and newer break the hardware volume control buttons on Dell XPS 12-9Q33.
On key press kernel reports:
intel-vbtn INT33D6:00: unknown event index 0xc6
intel-vbtn INT33D6:00: unknown event index 0xc7
---
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: halbamy 1631 F.... pulseaudio
 /dev/snd/controlC0: halbamy 1631 F.... pulseaudio
CurrentDesktop: Unity
DistroRelease: Ubuntu 16.04
HibernationDevice: RESUME=UUID=d26cee8a-01a4-4c7d-bba9-9573c01d1ca5
InstallationDate: Installed on 2016-03-15 (200 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Alpha amd64 (20160307)
MachineType: Dell Inc. XPS 12-9Q33
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-38-generic root=UUID=94f9e5d4-c056-4277-97b7-8cad719003c8 ro
ProcVersionSignature: Ubuntu 4.4.0-38.57-generic 4.4.19
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-38-generic N/A
 linux-backports-modules-4.4.0-38-generic N/A
 linux-firmware 1.157.3
Tags: xenial
Uname: Linux 4.4.0-38-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dialout dip lpadmin mythtv plugdev sambashare sudo vboxusers
_MarkForUpload: True
dmi.bios.date: 03/03/2015
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A08
dmi.board.name: XPS 12-9Q33
dmi.board.vendor: Dell Inc.
dmi.board.version: A08
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: Not Specified
dmi.modalias: dmi:bvnDellInc.:bvrA08:bd03/03/2015:svnDellInc.:pnXPS12-9Q33:pvrA08:rvnDellInc.:rnXPS12-9Q33:rvrA08:cvnDellInc.:ct8:cvrNotSpecified:
dmi.product.name: XPS 12-9Q33
dmi.product.version: A08
dmi.sys.vendor: Dell Inc.

Colin Watson (cjwatson)
affects: launchpad → linux (Ubuntu)
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1629415

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Andreas Ehrle (andreasehrle) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected xenial
description: updated
Revision history for this message
Andreas Ehrle (andreasehrle) wrote : CRDA.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : IwConfig.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : JournalErrors.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : Lspci.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : Lsusb.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : ProcEnviron.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : ProcModules.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : PulseList.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : RfKill.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : UdevDb.txt

apport information

Revision history for this message
Andreas Ehrle (andreasehrle) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Andreas Ehrle (andreasehrle) wrote :

This hack works for me:
--- a/drivers/platform/x86/intel-vbtn.c
+++ b/drivers/platform/x86/intel-vbtn.c
@@ -35,8 +35,18 @@ static const struct acpi_device_id intel_vbtn_ids[] = {

 /* In theory, these are HID usages. */
 static const struct key_entry intel_vbtn_keymap[] = {
- { KE_IGNORE, 0xC0, { KEY_POWER } }, /* power key press */
- { KE_KEY, 0xC1, { KEY_POWER } }, /* power key release */
+ { KE_IGNORE, 0xC0, { KEY_POWER } }, /* power key press */
+ { KE_KEY, 0xC1, { KEY_POWER } }, /* power key release */
+ { KE_IGNORE, 0xC2, { KEY_F13 } }, /* SUPER key press */
+ { KE_KEY, 0xC3, { KEY_F14 } }, /* SUPER key release */
+ { KE_IGNORE, 0xC4, { KEY_VOLUMEUP } }, /* vol up key press */
+ { KE_KEY, 0xC5, { KEY_VOLUMEUP } }, /* vol up key release */
+ { KE_IGNORE, 0xC6, { KEY_VOLUMEDOWN } }, /* vol down key press */
+ { KE_KEY, 0xC7, { KEY_VOLUMEDOWN } }, /* vol down key release */
+ { KE_IGNORE, 0xC8, { KEY_ROTATE_DISPLAY } }, /* rotate key press */
+ { KE_KEY, 0xC9, { KEY_ROTATE_DISPLAY } }, /* rotate key release */
+ { KE_KEY, 0xCC, { KEY_F15 } }, /* turn display to laptop mode */
+ { KE_KEY, 0xCD, { KEY_F16 } }, /* turn display to tablet mode */
        { KE_END },
 };

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Did this issue start happening after an update/upgrade? Was there a prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.8 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Andreas Ehrle (andreasehrle) wrote :

With kernel 4.4.0-34 volume buttons did work.
Kernel 4.8. does not work etiher.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: kernel-bug-exists-upstream
Revision history for this message
Yaohan Chen (yaohan-chen) wrote :

Also having this problem on Arch Linux on a Samsung Notebook 7 Spin. Does the tag kernel-bug-exists-upstream mean it's already reported to Linux? Could someone link it?

Revision history for this message
Christoph Zimmermann (nussgipfel-e) wrote :

Same bug on Lenovo Helix 2.

According to this mailinglist post, the provided patch should work on the helix 2 without modification, because the reported key codes are the same:
https://sourceforge.net/p/ibm-acpi/mailman/message/27879361/

Revision history for this message
Itay Lavie (itayblabla) wrote :

I also experience the same problem with Arch Linux 4.9.6-1 and HP Spectre X360.

Revision history for this message
grahamh (graham-hornercs) wrote :

I have same problem with Acer Switch 12. Buttons have never worked on any kernel up to 4.4.0-66. They have the same index numbers.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Can you try v4.11-rc1 linux kernel? 5 button array support added recently.

commit bd5762a0c1c9ae66bd0ece6959bbc5013ab95dcd
Author: Alex Hung <email address hidden>
Date: Tue Feb 14 15:20:34 2017 +0800

    platform/x86: intel-hid: Support 5 button array

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.