linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 0/1] platform/x86: dell-wmi: Uncomment events that were
       [not found] <20190316010942.6448-1-renatoys08@gmail.com>
@ 2019-03-16  9:17 ` Pali Rohár
  2019-03-17 18:30   ` Renato Soma
  0 siblings, 1 reply; 4+ messages in thread
From: Pali Rohár @ 2019-03-16  9:17 UTC (permalink / raw)
  To: Renato Soma; +Cc: platform-driver-x86, linux-kernel, Mario Limonciello

[-- Attachment #1: Type: text/plain, Size: 1646 bytes --]

On Friday 15 March 2019 22:09:41 Renato Soma wrote:
> Hello,
> 
> I noted that by pressing the "Dell Audio with Preset Switch" on my Dell
> 5420, notification messages are displayed at dmesg.
> That is happening because the keys are commented out and marked as
> untested.
> Since the logs purpose are there only for notification and considering
> the history of cases similar to this one, this patch aims to ignore
> those logs. Furthermore, this patch fixes the comments related to the
> keys, since they are marked as "Windows Mobility Center" button, which
> is incorrect.
> 
> Do note that the event 0xe02a is generated when pushing the button and
> the event 0xe02b is generated when releasing the button, hence the
> comment on the code.
> 
> Finally, as explained earlier, this was tested on an Inspiron 5420, but
> this model shares the specifications of the Inspiron 7520.
> 
> Thanks,
> Renato
> 
> Renato Soma (1):
>   platform/x86: dell-wmi: Uncomment events that were untested
> 
>  drivers/platform/x86/dell-wmi.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)

Hello!

Looks like that those keys are not as obvious as you wrote. Look at my
email with some investigation about Dell Audio With Preset Switch key:
https://www.spinics.net/lists/platform-driver-x86/msg15593.html

Also there is another user who wrote about 0xe02c key generated by
Inspirion 7520: https://ubuntuforum-br.org/index.php?topic=105434.0

You can a testing machine 5420, can you prove that behavior described in
my previous email match also your machine?

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/1] platform/x86: dell-wmi: Uncomment events that were
  2019-03-16  9:17 ` [PATCH 0/1] platform/x86: dell-wmi: Uncomment events that were Pali Rohár
@ 2019-03-17 18:30   ` Renato Soma
  2019-03-18 12:00     ` Pali Rohár
  0 siblings, 1 reply; 4+ messages in thread
From: Renato Soma @ 2019-03-17 18:30 UTC (permalink / raw)
  To: Pali Rohár; +Cc: platform-driver-x86, linux-kernel, Mario Limonciello

Hello,

On Sat, Mar 16, 2019 at 10:17:56AM +0100, Pali Rohár wrote:
> 
> Looks like that those keys are not as obvious as you wrote. Look at my
> email with some investigation about Dell Audio With Preset Switch key:
> https://www.spinics.net/lists/platform-driver-x86/msg15593.html
> 
> Also there is another user who wrote about 0xe02c key generated by
> Inspirion 7520: https://ubuntuforum-br.org/index.php?topic=105434.0
> 
> You can a testing machine 5420, can you prove that behavior described in
> my previous email match also your machine?
> 

Thanks for the feedback, I was unaware of this issue.
I've performed some tests in my machine and this is what I've found so far:

=====================================================================

----------------------------------------
Left WMI key: Windows Mobility Center
Press:    'x'
Hold:     -
Release:  -

In my machine (Inspiron 5420), whenever I press this key, the key
outputs the character "x". I've seen nothing on dmesg even if I
keep this key pressed for longer amounts of time. I'm still trying
to understand why this is hapenning.


----------------------------------------
Middle WMI key: Dell Audio With Preset Switch
Press:    Key with type 0x0000 and code 0xe02a pressed
Hold:     -
Release:  Key with type 0x0000 and code 0xe02b pressed

Differently from what you saw on a Inspiron 7520, I could not
reproduce the behavior that you reported on the first link above.
In my case, when I press the key, the code 0xe02a is shown at dmesg
only once. Also, even though I keep it pressed for longer than ~30
seconds or so, I could not see the entry 0xe02c apper. More on that
behavior later on. When releasing the key, I can see the code 0xe02b
show up at dmesg.

----------------------------------------
Right WMI key: Dell Instant Launch
Press:    -
Hold:     -
Release:  -

This key is with a really weird behavior on my machine.
When testing, I would normally press and relase so that the following
messages would pop-up:

[ 2830.499420] atkbd serio0: Unknown key pressed (translated set 2,
code 0x60 on isa0060/serio0).
[ 2830.499422] atkbd serio0: Use 'setkeycodes 60 <keycode>'
to make it known.

But what I realized was that, if I kept this button pressed for about
~3 seconds or so (like when your experiment in the link above), dmesg
would not ouput anything untill those ~3 seconds elapsed. When they
did, then dmesg log would have the following entries:

[ 3058.494003] atkbd serio0: Unknown key pressed (translated set 2,
code 0x60 on isa0060/serio0).
[ 3058.494008] atkbd serio0: Use 'setkeycodes 60 <keycode>'
to make it known.
[ 3058.501494] dell_wmi: Unknown key with type 0x0000 and code
0xe028 pressed

The last message being the weirdest, It would seem that only after
about 3 seconds or so, the driver is being notified of it.

=====================================================================

Anyway, It's clear now that this patch trully makes no sense since the
hardwares (Inspiron 7520 x Inspiron 5420) are behaving somewhat
differently on these keys.

Either way, It seems that at both of them, there are three behaviors
that are strange. I'm still trying to learn kernel development (I'm a
newbie) so could you please point out whether this is worth it to
investigate, or if should I leave this as is?

In the meantime, I'll try to find out why the first button is outputting
an "x" character on my machine.

Thanks!
Renato

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/1] platform/x86: dell-wmi: Uncomment events that were
  2019-03-17 18:30   ` Renato Soma
@ 2019-03-18 12:00     ` Pali Rohár
  2019-03-19  2:21       ` Renato Soma
  0 siblings, 1 reply; 4+ messages in thread
From: Pali Rohár @ 2019-03-18 12:00 UTC (permalink / raw)
  To: Renato Soma; +Cc: platform-driver-x86, linux-kernel, Mario Limonciello, mistave

Hello!

On Sunday 17 March 2019 15:30:49 Renato Soma wrote:
> Hello,
> 
> On Sat, Mar 16, 2019 at 10:17:56AM +0100, Pali Rohár wrote:
> > 
> > Looks like that those keys are not as obvious as you wrote. Look at my
> > email with some investigation about Dell Audio With Preset Switch key:
> > https://www.spinics.net/lists/platform-driver-x86/msg15593.html
> > 
> > Also there is another user who wrote about 0xe02c key generated by
> > Inspirion 7520: https://ubuntuforum-br.org/index.php?topic=105434.0
> > 
> > You can a testing machine 5420, can you prove that behavior described in
> > my previous email match also your machine?
> > 
> 
> Thanks for the feedback, I was unaware of this issue.
> I've performed some tests in my machine and this is what I've found so far:
> 
> =====================================================================
> 
> ----------------------------------------
> Left WMI key: Windows Mobility Center
> Press:    'x'
> Hold:     -
> Release:  -
> 
> In my machine (Inspiron 5420), whenever I press this key, the key
> outputs the character "x". I've seen nothing on dmesg even if I
> keep this key pressed for longer amounts of time. I'm still trying
> to understand why this is hapenning.

This is strange. Is not also some Alt/Meta/Ctrl or other modifier sent
too? Because Meta+X could be some windows shortcut...

> 
> ----------------------------------------
> Middle WMI key: Dell Audio With Preset Switch
> Press:    Key with type 0x0000 and code 0xe02a pressed
> Hold:     -
> Release:  Key with type 0x0000 and code 0xe02b pressed
> 
> Differently from what you saw on a Inspiron 7520, I could not
> reproduce the behavior that you reported on the first link above.
> In my case, when I press the key, the code 0xe02a is shown at dmesg
> only once. Also, even though I keep it pressed for longer than ~30
> seconds or so, I could not see the entry 0xe02c apper. More on that
> behavior later on. When releasing the key, I can see the code 0xe02b
> show up at dmesg.
> 
> ----------------------------------------
> Right WMI key: Dell Instant Launch
> Press:    -
> Hold:     -
> Release:  -
> 
> This key is with a really weird behavior on my machine.
> When testing, I would normally press and relase so that the following
> messages would pop-up:
> 
> [ 2830.499420] atkbd serio0: Unknown key pressed (translated set 2,
> code 0x60 on isa0060/serio0).
> [ 2830.499422] atkbd serio0: Use 'setkeycodes 60 <keycode>'
> to make it known.

This means that you have not configured atkbd keycodes yet. Run
setkeycodecs and assign some keycode for that scancode 60. After that
kernel atkbd (PS/2 keyboard) starts sending events to userspace.

> But what I realized was that, if I kept this button pressed for about
> ~3 seconds or so (like when your experiment in the link above), dmesg

That experiment is not my, Mistave did it. Now I'm CCing.

> would not ouput anything untill those ~3 seconds elapsed. When they
> did, then dmesg log would have the following entries:
> 
> [ 3058.494003] atkbd serio0: Unknown key pressed (translated set 2,
> code 0x60 on isa0060/serio0).
> [ 3058.494008] atkbd serio0: Use 'setkeycodes 60 <keycode>'
> to make it known.
> [ 3058.501494] dell_wmi: Unknown key with type 0x0000 and code
> 0xe028 pressed
> 
> The last message being the weirdest, It would seem that only after
> about 3 seconds or so, the driver is being notified of it.

There are two ways how Dell firmware can inform operating system that
key was pressed. Notebook keyboard is connected to motherboard via
classic PS/2 port (of PS/2 port is emulated for OS). So operating system
sees PS/2 keyboard and key pressed are received by PS/2 atkbd driver.
For some (unknown/strange?) reasons firmware send some keys not via PS/2
keyboard port, but via ACPI interface, hence needs for dell_wmi driver
which handle them.

So some keypress events come via PS/2, some via ACPI-WMI. Linux kernel
then send all keypress events to userspace.

When debugging problems with hot keys, you always need to look at all
possible sources...

> =====================================================================
> 
> Anyway, It's clear now that this patch trully makes no sense since the
> hardwares (Inspiron 7520 x Inspiron 5420) are behaving somewhat
> differently on these keys.
> 
> Either way, It seems that at both of them, there are three behaviors
> that are strange. I'm still trying to learn kernel development (I'm a
> newbie) so could you please point out whether this is worth it to
> investigate, or if should I leave this as is?

dell-wmi.c is a driver for receiving APCI-WMI events; atkbd.c is a PS/2
keyboard driver.

In dell-wmi.c is a function dell_wmi_events_set_enabled which is needed
to call on some Dell machines to start receiving those ACPI-WMI events.
You can try to call it for your laptop, maybe it is needed too.
Currently it is called only for two laptop models, see table
dell_wmi_smbios_list.

> In the meantime, I'll try to find out why the first button is outputting
> an "x" character on my machine.

Check that you caught all keypresses. X11 tools just print keys known to
X server, not all which are supported by Linux kernel.

You can use e.g. input-events utility. And also check all input devices,
as wrote some keys are send via PS/2 keyboard input device, some via
ACPI-WMI input device.

> Thanks!
> Renato

Also I added Mario from Dell to list of receivers, maybe he could have
more details about this problem...

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/1] platform/x86: dell-wmi: Uncomment events that were
  2019-03-18 12:00     ` Pali Rohár
@ 2019-03-19  2:21       ` Renato Soma
  0 siblings, 0 replies; 4+ messages in thread
From: Renato Soma @ 2019-03-19  2:21 UTC (permalink / raw)
  To: Pali Rohár
  Cc: platform-driver-x86, linux-kernel, Mario Limonciello, mistave

On Mon, Mar 18, 2019 at 01:00:32PM +0100, Pali Rohár wrote:
> > =====================================================================
> > 
> > ----------------------------------------
> > Left WMI key: Windows Mobility Center
> > Press:    'x'
> > Hold:     -
> > Release:  -
> > 
> > In my machine (Inspiron 5420), whenever I press this key, the key
> > outputs the character "x". I've seen nothing on dmesg even if I
> > keep this key pressed for longer amounts of time. I'm still trying
> > to understand why this is hapenning.
> 
> This is strange. Is not also some Alt/Meta/Ctrl or other modifier sent
> too? Because Meta+X could be some windows shortcut...
> 
> > 
> > ----------------------------------------
> > Middle WMI key: Dell Audio With Preset Switch
> > Press:    Key with type 0x0000 and code 0xe02a pressed
> > Hold:     -
> > Release:  Key with type 0x0000 and code 0xe02b pressed
> > 
> > Differently from what you saw on a Inspiron 7520, I could not
> > reproduce the behavior that you reported on the first link above.
> > In my case, when I press the key, the code 0xe02a is shown at dmesg
> > only once. Also, even though I keep it pressed for longer than ~30
> > seconds or so, I could not see the entry 0xe02c apper. More on that
> > behavior later on. When releasing the key, I can see the code 0xe02b
> > show up at dmesg.
> > 
> > ----------------------------------------
> > Right WMI key: Dell Instant Launch
> > Press:    -
> > Hold:     -
> > Release:  -
> > 
> > This key is with a really weird behavior on my machine.
> > When testing, I would normally press and relase so that the following
> > messages would pop-up:
> > 
> > [ 2830.499420] atkbd serio0: Unknown key pressed (translated set 2,
> > code 0x60 on isa0060/serio0).
> > [ 2830.499422] atkbd serio0: Use 'setkeycodes 60 <keycode>'
> > to make it known.
> 
> This means that you have not configured atkbd keycodes yet. Run
> setkeycodecs and assign some keycode for that scancode 60. After that
> kernel atkbd (PS/2 keyboard) starts sending events to userspace.

All right, I'll investigate and try these approaches, thanks!

> 
> There are two ways how Dell firmware can inform operating system that
> key was pressed. Notebook keyboard is connected to motherboard via
> classic PS/2 port (of PS/2 port is emulated for OS). So operating system
> sees PS/2 keyboard and key pressed are received by PS/2 atkbd driver.
> For some (unknown/strange?) reasons firmware send some keys not via PS/2
> keyboard port, but via ACPI interface, hence needs for dell_wmi driver
> which handle them.
> 
> So some keypress events come via PS/2, some via ACPI-WMI. Linux kernel
> then send all keypress events to userspace.
> 
> When debugging problems with hot keys, you always need to look at all
> possible sources...
> 
> 
> dell-wmi.c is a driver for receiving APCI-WMI events; atkbd.c is a PS/2
> keyboard driver.
> 
> In dell-wmi.c is a function dell_wmi_events_set_enabled which is needed
> to call on some Dell machines to start receiving those ACPI-WMI events.
> You can try to call it for your laptop, maybe it is needed too.
> Currently it is called only for two laptop models, see table
> dell_wmi_smbios_list.
> 
> > In the meantime, I'll try to find out why the first button is outputting
> > an "x" character on my machine.
> 
> Check that you caught all keypresses. X11 tools just print keys known to
> X server, not all which are supported by Linux kernel.
> 
> You can use e.g. input-events utility. And also check all input devices,
> as wrote some keys are send via PS/2 keyboard input device, some via
> ACPI-WMI input device.
> 

Ok, I was unaware of this, I'll keep this in mind when reasearching.

I think that now I'm going to take my time in order to process all that
you explained to me and study this issue a little more, then possibly
start a new thread regarding my findings.

Thanks for your attention and time,

Renato

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-03-19  2:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20190316010942.6448-1-renatoys08@gmail.com>
2019-03-16  9:17 ` [PATCH 0/1] platform/x86: dell-wmi: Uncomment events that were Pali Rohár
2019-03-17 18:30   ` Renato Soma
2019-03-18 12:00     ` Pali Rohár
2019-03-19  2:21       ` Renato Soma

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).