Re: Dell Vostro V131 hotkeys revisited

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday 04 July 2015 21:41:51 Pali Rohár wrote:
> On Friday 03 July 2015 20:22:22 Gabriele Mazzotta wrote:
> > On Friday 03 July 2015 16:14:54 Pali Rohár wrote:
> > > On Friday 03 July 2015 16:09:01 Pali Rohár wrote:
> > > > Yes, "vendor does not say anything" is also what could happen...
> > > > 
> > > > Then in your case, I would need to know format of *all* events which can
> > > > your laptop via WMI receive. If we collect as more as possible events
> > > > from different laptops we can try to abstract format/interface.
> > > > 
> > > 
> > > CCing Gabriele, can you please provide buffers of all possible WMI
> > > events which can be received on your dell machine via dell-wmi.ko?
> > > (just enable pr_debug() in dell-wmi.c)
> > 
> > Hi,
> > 
> > here below there's what I could get from my XPS13 9333.
> > 
> > [ 6115.412615] wifi - disable/enable
> > [ 6115.710966] dell_wmi: Received WMI event (06 00 00 00 08 e0 1d 03 0a 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6115.710972] dell_wmi: Key e008 pressed
> > [ 6116.766483] dell_wmi: Received WMI event (06 00 00 00 08 e0 1d 03 09 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6116.766483] dell_wmi: Key e008 pressed
> > [ 6121.555618] battery health
> > [ 6122.093304] dell_wmi: Received WMI event (02 00 00 00 07 e0 1d 03 08 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6122.093313] dell_wmi: Key e007 pressed
> > [ 6128.550329] brightness down
> > [ 6129.739787] dell_wmi: Received WMI event (03 00 00 00 05 e0 0e 00 08 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6129.739799] dell_wmi: Key e005 pressed
> > [ 6134.469814] brightness up
> > [ 6134.853151] dell_wmi: Received WMI event (03 00 00 00 06 e0 0f 00 08 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6134.853157] dell_wmi: Key e006 pressed
> > [ 6143.153178] keyboard illumination - level 2 1 0
> > [ 6143.056422] dell_wmi: Received WMI event (03 00 00 00 0c e0 02 00 09 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6143.056427] dell_wmi: Key e00c pressed
> > [ 6143.768556] dell_wmi: Received WMI event (03 00 00 00 0c e0 01 00 09 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6143.768566] dell_wmi: Key e00c pressed
> > [ 6144.340347] dell_wmi: Received WMI event (03 00 00 00 0c e0 00 00 09 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6144.340357] dell_wmi: Key e00c pressed
> > [ 6176.922331] volume down
> > [ 6177.325737] dell_wmi: Received WMI event (02 00 00 00 2e e0 01 00 08 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6177.325746] dell_wmi: Key e02e pressed
> > [ 6182.892971] volume up
> > [ 6183.240709] dell_wmi: Received WMI event (02 00 00 00 30 e0 01 00 08 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6183.240715] dell_wmi: Key e030 pressed
> > [ 6188.932940] mute
> > [ 6190.453967] dell_wmi: Received WMI event (02 00 00 00 f7 e0 01 00 08 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> > [ 6190.453975] dell_wmi: Key e0f7 pressed
> 
> Hi!
> 
> I have looked at your DSDT table which you sent me months ago and I see
> that your ACPI code does not clear WMI buffer before sending it to OS
> driver (buffer named INFO, and u16* values in INF0, INF1, ... INF7).
> 
> And I see that your ACPI code always send one "message" in WMI buffer,
> not like on my E6440 when I receive one "message" for keypress event and
> appended "message" that keyboard backlight was changed.
>
> Because your ACPI code does not clear buffer before filling it, it is
> impossible to parse correctly on both machines (my and your)... :-(

I guess this is because the size of the meaningful data is stored at
the beginning of the buffer (INF0, the first 2 bytes in the output here
above) and so there's no need to clear it entirely.

> But I see that on your machine ACPI set "WMI Interface Version" to 0x0.
> On my machine and Michał's too it is set to 0x1. (See ACPI-WMI%20.pdf)
> So maybe this information is important?
> 
> Anyway your ACPI DSDT code contains all possible WMI events (for your
> machine) as they are generated by ACPI and not by EC/firmware...

Yes, there are some events that I don't even know how to trigger.

Here an additional event that I get from time to time:
[20052.604628] dell_wmi: Received WMI event (02 00 00 00 0e e0 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
[20052.604634] dell_wmi: Unknown key e00e pressed

According to my acpi table, this has to do with battery related stuff.
On a side note, I guess this event can be added to the "ignore list" of
the legacy keymap.

Anyway, I think that reading the acpi dump of my laptop is easier
than collecting and reading these logs. However, things are implemented
in a different way (probably this is the difference between "WMI
Interface Version" 0 and 1), so I don't know how helpful it can be.

In any case, here the acpidump in case someone is interested:
https://bugzilla.kernel.org/attachment.cgi?id=178381
--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux