Re: ideapad_laptop tablet mode toggle detection

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

 



On Sun, Mar 5, 2023 at 1:40 PM Armin Wolf <W_Armin@xxxxxx> wrote:
>
> Hi,
>
> could it be that bit 5 is set to disable the touchpad when the device switches
> to tablet mode? I suspect that the query handler does the following:
> 1. Notify VPC0 to disable the touchpad.
> 2. Notify ACPI WMI, which does submit the necessary scancode for switching to tablet mode.

I think you're right about this notification being for the touchpad,
although at least on my machine
there is no other touchpad switch. So this is identical for my machine
specifically. In this function
from the decompiled ACPI dump you can see VCP0 and WM00 notified:

Method (_Q44, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
{
   P80B = 0x44
   Notify (VPC0, 0x80) // Status Change
   WEID = 0xF4
   Notify (WM00, 0x80) // Status Change
}

This WM00 device sounds like the WMI you're talking about, however I'm
getting those errors
about this device not existing in journalctl still. I was asking
before about how to create this
missing device but it's not clear to me if that is possible.

kernel: ACPI BIOS Error (bug): Could not resolve symbol
[\_SB.PC00.LPCB.EC0._Q44.WM00], AE_NOT_FOUND

I searched in my .dsl files from the acpidump and wasn't able to find
any of the 3 ideapad_wmi_ids
listed in the driver. Maybe you have an idea of how to interface with
this missing WM00 object though.

>
> Could you provide the output of "acpidump"? Because i suspect that the virtual key handling
> is done using ACPI WMI, as many modern devices are using this approach. In this case, you
> could experiment with ideapad_wmi_notify(), and maybe take a look at ideapad_wmi_ids[].
>
> Armin Wolf

Here is the raw acpidump output: https://la.ask.systems/temp/acpidump.out

- Andrew




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

  Powered by Linux