On Friday 03 July 2015 08:52:44 Michał Kępień wrote:
> > Can you write which WMI call needs to be called?
> 
> Technically, one needs to call method DoBFn (method ID = 1) using GUID
> A80593CE-A997-11DA-B012-B622A1EF5492. Though if you look at the ACPI
> method this GUID maps to (WMBA), you'll notice that the first two
> arguments passed to it (instance number and method ID) are simply
> ignored and the only one that matters is the buffer passed (third
> argument).
> 
> > Last time when I looked into dell-led.c code it called some WMI
> > functions which are just re-implementation of SMI based SMBIOS
> > functions. From information which I have that is just WMI interface for
> > dell SMBIOS one.
> > 
> > I already asked Alex and other people for official ACPI/WMI Dell
> > documentation, so we would be able to solve these hotkey problems once
> > and for all, but I did not get anything yet.
> > 
> > What I found on internet is just this one out-of-dated documentation:
> > http://vpsservice1.sampo.com.tw/sampo_update/document/jimmy/ACPI-WMI%20.pdf
> > 
> > I would suggest you to read it (it is not long) to see Dell WMI methods
> > are just ACPI "wrapper" around Dell SMBIOS (dcdbas.ko driver) used by
> > dell-laptop.ko.
> 
> Great, thanks. I'll look into it.
>  
> > >  2) Pressing hotkey #3 on a Dell Vostro V131 generates WMI event
> > > 0xe025, but no keycode. Apparently, Dell XPS L502X generates the
> > > same WMI event for a hotkey which also generates a keycode [1].
> > > What's the best way to solve this conflict?
> > > 
> > > [1] commit f1566f0: "dell-wmi: Add keys for Dell XPS L502X"
> > 
> > Look at dell-wmi.c source code. Which event format is that? New one
> > (partially described in above PDF document) when dell_new_hk_type is
> > true? Or old one?
> 
> Vostro V131 is using the legacy keymap.
> 
> > Can you please enable pr_debug() in dell-wmi.c and send dmesg output
> > from dell-wmi.ko (specially dell_wmi_notify)?
> 
> Here's what appears in dmesg after pressing hotkey #3:
> 
> ------------------------------------------------------------------------
> dell_wmi: Received WMI event (02 00 00 00 25 e0 00 00 00 00 00 00 00 00 00 00 
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)
> dell_wmi: Key e025 pressed
> wmi: DEBUG Event GUID: 9DBB5994-A997-11DA-B012-B622A1EF5492
> ------------------------------------------------------------------------
> 

It looks like above buffer has format of *new* event (0002 - length of
event, 0000 - type of event, e025 - data). But when using legacy keymap
then dell-wmi.c parse events with old format (which means type=0000 is
dropped and data=e025 is translated to some key).

This is even harder as I thought. Looks like big mess and now I would
say, without documentation for Dell WMI events we are not able to fix
this correctly without breaking other laptops...

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

CCing kernel Dell developers, can you provide Dell WMI documentation for
events and hotkeys? We have problems with enabling events for additional
buttons/keys on Dell laptops and also parsing WMI events which BIOS/ACPI
generates and send to kernel. Please, I really do not know how to how we
can fix these "hotkey/events" problems.

Something like this document, but updated for new laptops:
http://vpsservice1.sampo.com.tw/sampo_update/document/jimmy/ACPI-WMI%20.pdf

Thanks!

-- 
Pali Rohár
[email protected]
--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" 
in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to