Re: Dell Vostro V131 hotkeys revisited

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

 



On Thursday 25 June 2015 11:02:06 Michał Kępień wrote:
> > Can you try to load wmi.ko with params debug_event=1 and
> > debug_dump_wdg=1 if you can see something in dmesg?
> 
> I tried that too, to no avail (well, debug_dump_wdg obviously caused
> the parsed contents of _WDG to be printed out, but there was only
> one event GUID - the one already present in dell-wmi). Even
> inserting a pr_info() call at the beginning of acpi_wmi_notify()
> didn't make a difference.
> 
> > Maybe we really need some hack/hook if this is firmware issue...
> 
> Probably, but I have no elegant solution (note my lack of kernel and
> ACPI expertise, though), only two unholy abominations:
> 
>  a) install a GPE 0x17 handler which would imitate the actions taken
> by the NEVT method and also handle any additional values which may
> be returned by ECG1; the 0x0400 branch would come out pretty
> lengthy, though,
> 
>  b) override the ECG1 method (using ACPI method customization) so
> that it notifies some otherwise unused ACPI device [1] just before
> it returns if an event code not already handled by NEVT is detected;
> then implement a standard notify handler for that device; this
> requires CONFIG_ACPI_CUSTOM_METHOD or installing a precompiled DSDT
> using acpi_install_method(), which would just add to the insanity.
> 
> [1] Creating a new one solely for this purpose sounds utterly
> bonkers.

Hi again,

now I looked deeply at your problem. I read that part of ACPI code and 
it really looks like that NEVT method does not handle all possible 
events.

But how can windows driver handle that? In my opinion it either do some 
init magic so NEVT will receive event with mask 0x0800 or it overwrite 
some ACPI method and handle it locally...

You can try to play with overwriting ACPI function NEVT at runtime and 
patch it to call WMIA also for other masks.

Are you 100% sure that keypress is not sent to i8042 controller and that 
linux kbd driver does not filter it somehow? Ideally test events with 
userspace application input-events and not with some X utility (to be 
sure that X does not consume that keypress too).

-- 
Pali Rohár
pali.rohar@xxxxxxxxx

Attachment: signature.asc
Description: This is a digitally signed message part.


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

  Powered by Linux