Framework 16: keyboard and numpad drop out every minute (and how to stop it)
Symptom: on a Framework Laptop 16 (AMD Ryzen AI 300, Ubuntu 26.04), the keyboard and
numpad disconnect together every 20–60 seconds, then come back a second later. If a key is
down at the moment of the drop, the key-up is lost and the character repeats (aaaaaaa).
Cause: the embedded controller (EC) cuts power to the whole input deck when its “deck populated / chassis closed” detection flickers. It is not a kernel, USB, or driver problem.
Workaround: sudo framework_tool --inputdeck-mode on. Permanent fix in BIOS:
Advanced → “Force Power for Input Modules”.
What it looks like from Linux
journalctl -k -f shows both USB devices leaving and returning at the same instant:
usb 3-3.2: USB disconnect, device number 48
usb 3-4.2: USB disconnect, device number 49
usb 3-3.2: new full-speed USB device number 50 using xhci_hcd
usb 3-4.2: new full-speed USB device number 51 using xhci_hcd
3-3.2 is the keyboard module (32ac:0012), 3-4.2 the numpad module (32ac:0014).
They sit on different internal hub ports, so a single flaky connector can’t explain both
dropping in the same millisecond. Something upstream is removing power from both.
Things that looked plausible and were not the cause:
- USB autosuspend (
/sys/module/usbcore/parameters/autosuspend): disabling it changed nothing. - Keyboard firmware (0.3.1) and BIOS (04.01) were current.
- Kernel version: it happened on the Ubuntu 7.0 OEM kernel and is not a regression.
What it looks like from the EC
Framework’s EC is open source and ships a host tool,
framework_tool. Its --console
option reads the EC’s own log:
sudo framework_tool --console recent
Around every drop it prints an Input modules off followed by Input modules on. The EC has a detect switch for the input deck and powers the modules down when it reads “not populated”. On this unit the switch flickers, so the deck gets power-cycled.
framework_tool --versions shows the module positions the EC thinks are present:
Laptop 16 Keyboard Module - ANSI
Firmware Version: 0.3.1
Location: [X] [ ] [ ] [ ] [ ]
Laptop 16 Numpad Module
Firmware Version: 0.3.1
Location: [ ] [ ] [ ] [X] [ ]
Stopping it
The EC can be told to ignore the detect switch:
sudo framework_tool --inputdeck-mode on
The drops stop immediately. The setting resets to auto on every reboot, so either run it
each boot (I keep it as a shell alias) or set it in the BIOS: Advanced → Force Power for
Input Modules, which survives reboots.
Both treat the symptom. The underlying detect switch or module seating problem is still open; re-seating the modules (slide the input deck latch, lift, re-insert) is the first thing to try, and a Framework support ticket is the next.
If you want to check yours
journalctl -k -fand wait for a paired disconnect of32ac:0012and32ac:0014.sudo framework_tool --console recentand look for Input modules off/on.sudo framework_tool --inputdeck-mode onand confirm the drops stop.