Skip to content

[RFC] fwk: lotus: debounce input deck power-off - #97

Open
arthurvanh wants to merge 1 commit into
FrameworkComputer:fwk-tulip-29169from
arthurvanh:pr-inputdeck-debounce
Open

arthurvanh wants to merge 1 commit into
FrameworkComputer:fwk-tulip-29169from
arthurvanh:pr-inputdeck-debounce

Conversation

@arthurvanh

Copy link
Copy Markdown

Untested – not built or flashed; I didn't want to flash the EC on my work laptop.

A single full scan in which any hub board ID channel misreads cuts input deck power immediately, while power-on is already debounced by INPUT_MODULE_POWER_ON_DELAY. On affected units this power-cycles the keyboard and touchpad every few seconds in Auto mode.

Require the deck to read as not fully populated for more than INPUT_MODULE_DISCON_DEBOUNCE before powering it off.

Evidence (Laptop 16, Ryzen AI 7 350, BIOS 04.01, EC tulip-4.0.1-9b2a0b1)

  • 639 keyboard USB disconnects in 24 h in Auto mode. 87% were back within 1 s, consistent with one bad scan followed by the 300 ms power-on delay.
  • Reproducible at runtime: framework_tool --inputdeck-mode auto → drops within seconds; --inputdeck-mode on → stable immediately.
  • framework_tool --inputdeck reports the same modules (Pos 1 FullWidth, touchpad present) even in snapshots taken while the deck state is Disconnected/TurningOn.
  • Always on (BIOS or --inputdeck-mode on) works around it.

Possibly related: https://community.frame.work/t/framework-16-keyboard-numpad-and-touchpad-disconnect-stop-working/67132/18

Note: I used AI to help write the commit message and analysis.

BRANCH=fwk-tulip-29169
BUG=input deck power-cycles every few seconds in Auto mode
TEST=none; not built or flashed (work machine). Needs verification on hardware: Auto mode should show no keyboard USB disconnects, and removing a module should still power the deck off.

A single full scan in which any hub board ID channel misreads cuts
input deck power immediately, while power-on is already debounced by
INPUT_MODULE_POWER_ON_DELAY. On affected units this power-cycles the
keyboard and touchpad every few seconds in Auto mode.

Require the deck to read as not fully populated for more than
INPUT_MODULE_DISCON_DEBOUNCE before powering it off.

BRANCH=fwk-tulip-29169
BUG=input deck power-cycles every few seconds in Auto mode
TEST=none; not built or flashed (work machine). Needs verification on
hardware: Auto mode should show no keyboard USB disconnects, and
removing a module should still power the deck off.

Signed-off-by: Arthur <avanhoorebeke@gmail.com>
@arthurvanh
arthurvanh marked this pull request as ready for review October 30, 2026 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants