Ticket #1687 (closed defect: fixed)

Opened 7 years ago

Last modified 7 years ago

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,
Action Needed: Verified: yes
Deployments affected: Blocked By:
Blocking:

Description

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

Change History

  Changed 7 years ago by wmb@…

This bug needs a lot more detail.

  Changed 7 years ago by cjb

  • priority changed from high to blocker
  • milestone changed from Untriaged to Trial-2

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

  Changed 7 years ago by cjb

  • owner changed from rsmith to David.Lin

  Changed 7 years ago by David.Lin

I will add this function on next version.

  Changed 7 years ago by jg

  • keywords power added

follow-up: ↓ 7   Changed 7 years ago by kimquirk

  • milestone changed from Trial-2 to BTest-4

Would like to fix this on the B4 boards.

in reply to: ↑ 6   Changed 7 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.

follow-up: ↓ 9   Changed 7 years ago by jg

  • milestone changed from BTest-4 to BTest-3

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

  • keywords power, resume added; power removed
  • owner changed from David.Lin to dilinger
  • verified set
  • component changed from distro to kernel

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.

  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).

  Changed 7 years ago by jg

  • cc rsmith, added
  • milestone changed from BTest-3 to Trial-2

follow-up: ↓ 13   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?

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.

  Changed 7 years ago by jg

  • status changed from new to closed
  • resolution set to fixed

Fixed in C20 firmware and current builds

Note: See TracTickets for help on using tickets.