All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: "Michał Kępień" <kernel@kempniu.pl>
Cc: Darren Hart <dvhart@infradead.org>,
	Mario Limonciello <mario_limonciello@dell.com>,
	"Gowda, Srinivas G" <Srinivas_G_Gowda@dell.com>,
	"Brown, Michael E" <Michael_E_Brown@dell.com>,
	"Warzecha, Douglas" <Douglas_Warzecha@dell.com>,
	Matthew Garrett <mjg@redhat.com>,
	"Kabir, Rezwanul" <Rezwanul_Kabir@dell.com>,
	Alex Hung <alex.hung@canonical.com>,
	"platform-driver-x86@vger.kernel.org"
	<platform-driver-x86@vger.kernel.org>
Subject: Re: Dell Vostro V131 hotkeys revisited
Date: Mon, 7 Dec 2015 12:43:20 +0100	[thread overview]
Message-ID: <20151207114320.GC13893@pali> (raw)
In-Reply-To: <20151113101716.GA5458@eudyptula.hq.kempniu.pl>

Hi Michał!

On Friday 13 November 2015 11:17:16 Michał Kępień wrote:
> For those of you playing along at home, I have some news (mostly bad,
> I'm afraid).
> 
> TL;DR: I don't believe there is any way of getting Vostro V131 fully
> supported by the kernel without breaking stuff that already works, so I
> suggest a slightly different approach (see the last paragraph).
> 
> I have recently noticed that backlight control on a Vostro V131 running
> Linux has some glitches as well.  Before WMI gets enabled, pressing
> either the "brightness down" (Fn+F4) or the "brightness up" (Fn+F5) key
> causes two "presses" of the respective keycode (KEY_BRIGHTNESSUP or
> KEY_BRIGHTNESSDOWN) to be reported.  This itself seems buggy to me, but
> whatever.  The worse part is that there is an irritating flickering
> effect as well [1].

From that bug I understood that solution is to use native backlight
control (via acpi_backlight=native). This is something which can be
forced or changed by default per DMI type (for buggy machines like
this). Right?

> But if that wasn't enough, it gets even worse after
> issuing the WMI-enabling SMI call, because the keycode simulated by ACPI
> gets "shifted" by one event while the WMI events are reported correctly.
> Consider the following sequence of key presses:
> 
> Key pressed     Keycode reported        WMI event reported 
> -----------     ----------------        ------------------
> Fn+F4           (none)                  0xe005
> Fn+F4           KEY_BRIGHTNESSDOWN      0xe005
> Fn+F5           KEY_BRIGHTNESSDOWN      0xe006
> Fn+F5           KEY_BRIGHTNESSUP        0xe006
> Fn+Mute         KEY_BRIGHTNESSUP        0x0000
> Fn+Mute         (none)                  0x0000

Hm... I'm not sure if I understood this problem correctly, but those
keycodes are reported on i8042 bus by atk keyboard? Or are reported by
ACPI video.ko module? And problem is only with brightness keys?

What happen if you boot 4.2+ kernel with acpi_backlight=native?

> I determined that both brightness flickering and incorrect keycode
> reporting are caused (the latter indirectly) by ACPI method CESM (and
> later I found out that [1] agrees in regard to flickering).  While I
> haven't found the source of the "shifting" bug (and I am not willing to,
> thanks, I'd rather cut myself with a butter knife), the basic tests I've
> performed indicate that simply overriding that CESM method with a no-op
> does the job, if combined with correct kernel parameters.
> 
> However, all this nonsense makes me come to the conclusion that any
> attempts to fix it by only changing existing kernel code are futile [2].
> Thus, to avoid breaking other Dell devices which already work fine with
> Linux, I devised a "solution" using libsmbios (which in turn uses
> dcdbas) and ACPI method overriding which seems to work fine.  It still
> needs a kernel patch which enables reporting the 0xe025 event as a
> keypress (this event is currently associated with a KE_IGNORE sparse
> keymap entry).  I prepared a patch which adds a module parameter to
> dell-wmi that enables event 0xe025 to be either ignored or not,
> depending on the user's choice.  Does that sound sane or is there a
> better way to do it?  I'll be happy to post the patch once I'm done
> polishing it, given that this route sounds reasonable to the
> maintainers.  If we enable the kernel to react to WMI event 0xe025,
> Vostro V131 users (at least those using kernels compiled with
> CONFIG_ACPI_CUSTOM_METHOD) will actually be able to use all standard
> features of their laptops on Linux without recompiling the kernel, which
> I would consider a win (a Pyrrhic one, but still).
> 
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=100441
> [2] without Dell's assistance
> 

-- 
Pali Rohár
pali.rohar@gmail.com

  reply	other threads:[~2015-12-07 11:43 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-23 11:26 Dell Vostro V131 hotkeys revisited Michał Kępień
2015-06-23 11:46 ` Pali Rohár
2015-06-23 19:40   ` Michał Kępień
2015-06-23 19:47     ` Pali Rohár
2015-06-24 11:18       ` Michał Kępień
2015-06-24 13:23         ` Pali Rohár
2015-06-25  9:02           ` Michał Kępień
2015-06-27 18:50             ` Pali Rohár
2015-06-30  7:38               ` Michał Kępień
2015-06-30  8:00                 ` Pali Rohár
2015-07-01  8:32                   ` Michał Kępień
2015-07-01  8:40                     ` Pali Rohár
2015-07-01 10:11                       ` Michał Kępień
2015-07-01 10:55                         ` Pali Rohár
2015-07-02 20:41                           ` Michał Kępień
2015-07-02 20:58                             ` Pali Rohár
2015-07-03  6:52                               ` Michał Kępień
2015-07-03  7:48                                 ` Pali Rohár
2015-07-03 11:26                                   ` Michał Kępień
2015-07-03 11:43                                     ` Pali Rohár
2015-07-03 13:23                                       ` Michał Kępień
2015-07-03 13:32                                         ` Pali Rohár
2015-07-03 13:50                                           ` Michał Kępień
2015-07-03 14:09                                             ` Pali Rohár
2015-07-03 14:14                                               ` Pali Rohár
2015-07-03 18:22                                                 ` Gabriele Mazzotta
2015-07-03 20:07                                                   ` Michał Kępień
2015-07-03 20:30                                                     ` Gabriele Mazzotta
2015-07-04 19:41                                                   ` Pali Rohár
2015-07-04 20:34                                                     ` Gabriele Mazzotta
2015-07-03 20:55                                               ` Michał Kępień
2015-07-04 19:13                                               ` Pali Rohár
2015-07-04 19:47                                                 ` Pali Rohár
2015-07-27 19:27                                               ` Michał Kępień
2015-07-07 18:36                                   ` Mario Limonciello
2015-07-07 21:01                                     ` Pali Rohár
2015-07-08  3:21                                       ` Michał Kępień
2015-07-08  3:53                                     ` Michał Kępień
2015-07-22  7:35                                       ` Michał Kępień
2015-08-31  9:51                                         ` Michał Kępień
2015-09-10  4:38                                           ` Darren Hart
2015-11-13 10:17                                             ` Michał Kępień
2015-12-07 11:43                                               ` Pali Rohár [this message]
2015-12-16  9:05                                                 ` Michał Kępień
2015-12-16  9:30                                                   ` Pali Rohár
2015-12-16 10:29                                                     ` Hans de Goede
2015-12-17  8:05                                                       ` Michał Kępień
2015-12-17  9:48                                                         ` Hans de Goede
2015-12-17 18:47                                                           ` Pali Rohár
2015-12-17 18:54                                                             ` Hans de Goede
2015-12-19  0:02                                                               ` Darren Hart
2015-12-19  9:59                                                                 ` Pali Rohár
2015-12-18  7:10                                                           ` Michał Kępień
2015-12-18 10:44                                                             ` Hans de Goede
2015-12-19 12:31                                                               ` Michał Kępień
2015-07-04 21:24                                 ` Pali Rohár
2015-07-05  4:51                                   ` Michał Kępień
2015-06-23 12:18 ` Pali Rohár

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151207114320.GC13893@pali \
    --to=pali.rohar@gmail.com \
    --cc=Douglas_Warzecha@dell.com \
    --cc=Michael_E_Brown@dell.com \
    --cc=Rezwanul_Kabir@dell.com \
    --cc=Srinivas_G_Gowda@dell.com \
    --cc=alex.hung@canonical.com \
    --cc=dvhart@infradead.org \
    --cc=kernel@kempniu.pl \
    --cc=mario_limonciello@dell.com \
    --cc=mjg@redhat.com \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.