[Bug 214899] ideapad-laptop: brightness hotkeys not working

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=214899

--- Comment #21 from Johannes P (johannes.penssel@xxxxxxxxx) ---
Thank you for your advice, I really appreciate that you still keep my issue in
mind. Unfortunately, still no success with i8042.dritek=1. 

After digging through Windows Event Viewer, I was able to figure out that the
keys actually do trigger ACPI events there. When pressing brightness up/down,
the corresponding EC query methods _Q12/_Q11 are executed, resulting in an ACPI
brightness event.

            Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P80B = 0x11
                Notify (^^^GFX0.DD1F, 0x87) // Device-Specific
                Notify (VPC0, 0x80) // Status Change
            }

            Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P80B = 0x12
                Notify (^^^GFX0.DD1F, 0x86) // Device-Specific
                Notify (VPC0, 0x80) // Status Change
            }

When calling the methods on Linux through the ACPI kernel debugger, the same
thing happens. A brightness event is generated and the EC debug module prints
this:

[ 1101.374238] ACPI: EC: 2: Increase command
[ 1101.374244] ACPI: EC: Command(WR_EC) started
[ 1101.374247] ACPI: EC: TASK (0)
[ 1101.374271] ACPI: EC: EC_SC(R) = 0x08 SCI_EVT=0 BURST=0 CMD=1 IBF=0 OBF=0
[ 1101.374275] ACPI: EC: EC_SC(W) = 0x81
[ 1101.374497] ACPI: EC: IRQ (1)
[ 1101.374532] ACPI: EC: EC_SC(R) = 0x08 SCI_EVT=0 BURST=0 CMD=1 IBF=0 OBF=0
[ 1101.374537] ACPI: EC: EC_DATA(W) = 0x00
[ 1101.374837] ACPI: EC: IRQ (1)
[ 1101.374872] ACPI: EC: EC_SC(R) = 0x00 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=0
[ 1101.374876] ACPI: EC: EC_DATA(W) = 0x10
[ 1101.375113] ACPI: EC: IRQ (1)
[ 1101.375145] ACPI: EC: EC_SC(R) = 0x00 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=0
[ 1101.375163] ACPI: EC: Command(WR_EC) stopped
[ 1101.375169] ACPI: EC: 1: Decrease command
[ 1101.375301] ACPI: EC: 2: Increase command
[ 1101.375304] ACPI: EC: Command(RD_EC) started
[ 1101.375307] ACPI: EC: TASK (0)
[ 1101.375331] ACPI: EC: EC_SC(R) = 0x00 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=0
[ 1101.375337] ACPI: EC: EC_SC(W) = 0x80
[ 1101.375564] ACPI: EC: IRQ (1)
[ 1101.375599] ACPI: EC: EC_SC(R) = 0x08 SCI_EVT=0 BURST=0 CMD=1 IBF=0 OBF=0
[ 1101.375603] ACPI: EC: EC_DATA(W) = 0x00
[ 1101.375853] ACPI: EC: IRQ (1)
[ 1101.375888] ACPI: EC: EC_SC(R) = 0x01 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=1
[ 1101.375908] ACPI: EC: EC_DATA(R) = 0x00
[ 1101.375922] ACPI: EC: Command(RD_EC) stopped
[ 1101.375926] ACPI: EC: 1: Decrease command
[ 1101.376178] ACPI: EC: 2: Increase command
[ 1101.376182] ACPI: EC: Command(WR_EC) started
[ 1101.376185] ACPI: EC: TASK (0)
[ 1101.376209] ACPI: EC: EC_SC(R) = 0x00 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=0
[ 1101.376214] ACPI: EC: EC_SC(W) = 0x81
[ 1101.376601] ACPI: EC: IRQ (1)
[ 1101.376636] ACPI: EC: EC_SC(R) = 0x08 SCI_EVT=0 BURST=0 CMD=1 IBF=0 OBF=0
[ 1101.376641] ACPI: EC: EC_DATA(W) = 0x00
[ 1101.377350] ACPI: EC: IRQ (1)
[ 1101.377385] ACPI: EC: EC_SC(R) = 0x00 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=0
[ 1101.377389] ACPI: EC: EC_DATA(W) = 0x1a
[ 1101.377671] ACPI: EC: IRQ (1)
[ 1101.377697] ACPI: EC: EC_SC(R) = 0x00 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=0
[ 1101.377712] ACPI: EC: Command(WR_EC) stopped
[ 1101.377715] ACPI: EC: 1: Decrease command
[ 1101.377802] ACPI: EC: 2: Increase command
[ 1101.377805] ACPI: EC: Command(RD_EC) started
[ 1101.377808] ACPI: EC: TASK (0)
[ 1101.377831] ACPI: EC: EC_SC(R) = 0x00 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=0
[ 1101.377836] ACPI: EC: EC_SC(W) = 0x80
[ 1101.378089] ACPI: EC: IRQ (1)
[ 1101.378124] ACPI: EC: EC_SC(R) = 0x08 SCI_EVT=0 BURST=0 CMD=1 IBF=0 OBF=0
[ 1101.378128] ACPI: EC: EC_DATA(W) = 0x00
[ 1101.378445] ACPI: EC: IRQ (1)
[ 1101.378469] ACPI: EC: EC_SC(R) = 0x01 SCI_EVT=0 BURST=0 CMD=0 IBF=0 OBF=1
[ 1101.378489] ACPI: EC: EC_DATA(R) = 0x00
[ 1101.378498] ACPI: EC: Command(RD_EC) stopped
[ 1101.378501] ACPI: EC: 1: Decrease command

But why doesn't this happen when pressing the actual key like on Windows?

As far as I can tell, Windows registers keycodes on the exact same keys as
evtest, i.e. there are no codes registered when I press the brightness keys.
(this also applies to mic mute, rfkill, etc...)

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



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

  Powered by Linux