https://bugzilla.kernel.org/show_bug.cgi?id=214899 --- Comment #31 from Johannes Penßel (johannes.penssel@xxxxxxxxx) --- Thank you for your help! The kernel ships with a tool to read / write to the EC. It is built by running "make ec" inside tools/power/acpi and relies on the module ec_sys (enabled by CONFIG_ACPI_EC_DEBUGFS). To enable EC write support, this module must be loaded with the parameter "write_support=1". Writing to a register works by running "./ec -w [offset] -v [value]". Replacing all the OSYS if-conditionals inside _REG with just "Local0 = 0x06" indeed fixes the issue. Looks like _REG somehow does not receive a correct value for OSYS. I've tried changing _SB.PC00._INI so it unconditionally sets OSYS to 0x07DF, but this does not fix _REG. When executed in step-by-step mode with the kernel AML debugger, _SB.PC00._INI seems to function correctly by default anyway. Here comes the interesting part: When running _REG (with arguments 0x03 and 0x01) inside the kernel AML debugger with unmodified ACPI tables, the method executes correctly and the keys start working. My understanding of ACPI is limited, but my guess would be that for some reason, \_SB.PC00.LPCB.EC0._REG gets evaluated before _SB.PC00._INI, thus leaving the former with an incorrect value for OSYS. AFAICT, this does not look too dissimilar from the issue in the bugzilla thread you linked. -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.