Opened 8 years ago

Closed 7 years ago

#1687 closed defect (fixed)

keyboard/touchpad not working properly as wakeup sources

Reported by: marcelo Owned by: dilinger
Priority: blocker Milestone: Trial-2
Component: kernel Version:
Keywords: power, resume Cc: jordan.crouse@…, wmb@…, rsmith,
Blocked By: Blocking:
Deployments affected: Action Needed:
Verified: yes

Description

The keyboard/touchpad are not working properly as wakeup sources.

Change History (14)

comment:1 Changed 8 years ago by wmb@…

This bug needs a lot more detail.

comment:2 Changed 8 years ago by cjb

  • Milestone changed from Untriaged to Trial-2
  • Priority changed from high to blocker

The EC code hasn't been written to have keyboard/touchpad events generate wakeup events yet.

comment:3 Changed 8 years ago by cjb

  • Owner changed from rsmith to David.Lin

comment:4 Changed 8 years ago by David.Lin

I will add this function on next version.

comment:5 Changed 8 years ago by jg

  • Keywords power added

comment:6 follow-up: Changed 8 years ago by kimquirk

  • Milestone changed from Trial-2 to BTest-4

Would like to fix this on the B4 boards.

comment:7 in reply to: ↑ 6 Changed 8 years ago by rsmith

Replying to kimquirk:

Would like to fix this on the B4 boards.

We tested some pre-release EC code from Quanta and wakeup from keyboard worked but wakeup from touchpad did not.

Also on wakeup from keyboard the character that was pressed for the wakeup was not delivered to the kernel.

comment:8 follow-up: Changed 8 years ago by jg

  • Milestone changed from BTest-4 to BTest-3

comment:9 in reply to: ↑ 8 Changed 7 years ago by rsmith

  • Component changed from distro to kernel
  • Keywords resume added
  • Owner changed from David.Lin to dilinger
  • Verified set

I have test code from quanta where this works.

A test .rom is at

http://dev.laptop.org/~rsmith/q2cd71.rom

Touchpad events wake up correctly.

The EC properly sends up a key on wake from keypress. You can test this with openFirmware by going into suspend with 's' and then pressing a key. That keypress will show up on the command line when OFW resumes.

The kernel however still does not register the keypress. Re-assigning as a kernel bug.

comment:10 Changed 7 years ago by wmb@…

One idea: Perhaps the problem is that the keyboard driver is not waking up because there is no PS2 interrupt in the wakeup case. On a keyboard wakeup, the wakeup happens via the SCI interrupt, and there is no hardware interrupt on the PS2 IRQ (and there cannot be one because the interrupt controller is powered off when the event happens).

comment:11 Changed 7 years ago by jg

  • Cc rsmith added
  • Milestone changed from BTest-3 to Trial-2

comment:12 follow-up: Changed 7 years ago by dilinger

This is now working correctly in the kernel. Note that one of the issues we have is that we don't wake up quickly enough for touchpad interaction to be smooth, but we'll have to tweak that later.

Should we wait for a firmware release that includes support before closing this?

comment:13 in reply to: ↑ 12 Changed 7 years ago by cjb

Replying to dilinger:

This is now working correctly in the kernel.

I think #2401 is a dealbreaker for using this.

comment:14 Changed 7 years ago by jg

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in C20 firmware and current builds

Note: See TracTickets for help on using tickets.