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
