← Back to team overview

kernel-packages team mailing list archive

[Bug 1205791] Re: Dell Vostro V131: special keys not working

 

I know I'm a bit late to the party, but I'm also affected by this bug on
Ubuntu 15.04 (kernel 3.19.0-16) and I would very much like to see it
resolved, so I tried to push the investigation forward. I'll refer to
hotkeys using the numbers from the original post for simplicity.

I believe these hotkeys are not handled using WMI, because no matter
what debug options I turned on for WMI-related modules, nothing appeared
in the kernel ring buffer after pressing the hotkeys.

In my case pressing hotkey 3 only incremented the ACPI interrupt counter
in /proc/interrupts, so I checked where these interrupts were actually
coming from by running:

$ watch -n 0.1 grep enabled /sys/firmware/acpi/interrupts/*

This revealed that when I press hotkey 2 or 3, the counter in
/sys/firmware/acpi/interrupts/gpe17 is incremented, which means pressing
these hotkeys raises GPE 0x17. This in turn causes the _L17 ACPI method
to be called. If we look at the DSDT dump, you'll find that method _L17
only calls method NEVT, where some value is retrieved using another
method, ECG1, and acted upon accordingly. Thanks to ACPI method
customization at runtime (/sys/kernel/debug/acpi/custom_method), I was
able to check the return value of the ECG1 method when the hotkeys are
pressed. It turns out it is 0x2000 for hotkey 2 and 0x1000 for hotkey 3.

Unfortunately, this is where I got stuck. If you look at the code of the
NEVT method again, you'll find that no code branch is executed for ECG1
values of 0x1000 and 0x2000, so NEVT is essentially a no-op for these.
I'm hoping some ACPI expert can point us to the right direction from
here. The only thing I thought of was writing a custom handler for GPE
0x17 which would evaluate the value of ECG1 and act accordingly, but
judging by the amount of acpi_install_gpe_handler() calls in kernel
code, I sense this is not the way to go.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1205791

Title:
  Dell Vostro V131: special keys not working

Status in udev - /dev/ management daemon:
  New
Status in linux package in Ubuntu:
  Confirmed

Bug description:
  Bug filed, following conversation on IRC at:

    http://irclogs.ubuntu.com/2013/07/28/%23ubuntu-devel.html#t07:45

  I own a Dell Vostro V131. This model has 3 special hotkeys (quick
  launch keys:

  http://www.notebookcheck.net/fileadmin/_migrated/pics/v131tastatur_01.jpg

  There are documented in page 1 of the manual:

    ftp://ftp.dell.com/Manuals/all-
  products/esuprt_laptop/esuprt_vostro_notebook/vostro-v131_Setup
  %20Guide_en-us.pdf

  as being:

    1. "Windows mobility center" (this hotkey generates [Mod]+[x])
    2. "Dell support center"
    3. "Dell instant launch manager"

  This was previous raised at:

    http://www.mail-archive.com/platform-driver-x86@xxxxxxxxxxxxxxx/msg03124.html
    http://www.mail-archive.com/platform-driver-x86@xxxxxxxxxxxxxxx/msg04444.html

  The "Dell support center" key generates keycode 0xEE, but misses
  release event. I got it working with an udev "keyboard force release"
  quirk, see attached patch in the '4444' email.

  However, the "Dell instant launch manager" key doesn't generate
  anything, neither through dell-wmi nor i8042. It's the rightmost
  button in the right upper corner of the keyboard.  The ACPI interrupt-
  count appears to increment, as seen with:

    http://www.mail-archive.com/platform-driver-x86@xxxxxxxxxxxxxxx/msg03126.html
    watch -n 0,1 cat /proc/interrupts

To manage notifications about this bug go to:
https://bugs.launchpad.net/udev/+bug/1205791/+subscriptions


References