Skip to content

Laptop 12 (13th Gen Intel): internal keyboard and touchpad stop responding until power cycle - on tablet/laptop fold and on resume (S2idle and S3) #222

@prosthetiknow

Description

@prosthetiknow

Device Information

System Model or SKU

  • Framework Laptop 12 (13th Gen Intel® Core™)
  • Framework Laptop 13 (11th Gen Intel® Core™)
  • Framework Laptop 13 (12th Gen Intel® Core™)
  • Framework Laptop 13 (13th Gen Intel® Core™)
  • Framework Laptop 13 (AMD Ryzen™ 7040 Series)
  • Framework Laptop 13 (AMD Ryzen™ AI 300 Series)
  • Framework Laptop 13 (Intel® Core™ Ultra Series 1)
  • Framework Laptop 16 (AMD Ryzen™ 7040 Series)
  • Framework Laptop 16 (AMD Ryzen™ AI 300 Series)
  • Framework Desktop (AMD Ryzen™ AI 300 PRO Series)

SKU FRAPDACP05. Mainboard FRAPMACP05. CPU i5-1334U.

BIOS VERSION

03.07

DIY Edition information

Memory: Crucial CT32G56C46S5. 32 GB DDR5-5600 SODIMM, single module.
Storage: WD Black SN770M 2 TB NVMe.

Port/Peripheral information

Not applicable. The fault is on the internal keyboard and touchpad. No expansion cards or external peripherals are involved.

Standalone Operation (Laptop Only)

  • Yes
  • No

Describe the bug

The built-in keyboard and touchpad stop responding at the same time. Both still enumerate, but produce no input events. Reading each /dev/input/event* node for about 10 seconds while typing and swiping returns 0 bytes. Nothing in the OS brings them back. Only a full power cycle does.

The keyboard is the EC-emulated i8042 device (AT Translated Set 2 keyboard, serio0). The touchpad is the i2c-HID PixArt PIXA3854 on i2c-2.

Steps To Reproduce

There are two separate triggers. Both produce the same fault.

Trigger 1, fold, no sleep:

  1. Boot to the desktop. Keyboard and touchpad work.
  2. Fold the screen back into tablet mode.
  3. Return to laptop mode.
  4. Keyboard and touchpad do not respond.

Trigger 2, suspend and resume:

  1. Suspend the laptop.
  2. Resume.
  3. Keyboard and touchpad do not respond.

Frequency is intermittent. I cannot give a reliable rate. It is not every fold or every resume.

Expected behavior

Keyboard and touchpad keep working after a tablet/laptop fold, and after resume.

Screenshots

Not applicable. Logs can be provided.

Operating System (please complete the following information):

  • OS/Distribution: Fedora Linux 44 (Workstation Edition). Also reproduced on Ubuntu 26.04.
  • Version: Fedora 44.
  • Linux Kernel Version: 7.0.12-201.fc44.x86_64 on Fedora. Ubuntu 26.04 ran its stock 7.x kernel; exact build not recorded.

Additional context

Observed during the fault:

  • Both cros-ec accelerometers read 0,0,0 (in_accel_*_raw).
  • cros-ec-lid-angle reads 500.
  • SW_TABLET_MODE reports 1 when the soc_button_array gpio-keys switch is loaded.

Suspend modes:

  • Occurs after S2idle (S0ix) resume.
  • Occurs after deep S3 resume. I set MemorySleepMode=deep; PM: suspend entry (deep) is confirmed in the log. It still occurs.

Recovery:

  • Only a full power cycle restores the keyboard and touchpad. A reboot re-initialises the sensors and input.
  • ectool reboot_ec RW (EC-only reset over /dev/cros_ec) does not recover it. On a wedged unit it hangs the whole system and forces a 15 second power-button hold.
  • Reading the EC over /dev/cros_ec or cros_ec sysfs while wedged can also hang the whole system.

Tried, no effect:

  • Reload soc_button_array (modprobe -r soc_button_array then modprobe soc_button_array).
  • Unload soc_button_array and leave it out.
  • Unbind and rebind i2c-hid (i2c-PIXA3854:00).
  • Unbind and rebind the intel-lpss controller (0000:00:19.0).
  • Re-probe atkbd on serio0.
  • Reload the cros_ec sensor stack.

Tested and eliminated:

  • RAM hardware: MemTest86 full run, 4 of 4 passes. stressapptest 32 GB - pass.
  • Storage: NVMe SMART clean.
  • OS or kernel specific: occurs on both Fedora 44 (kernel 7.0.12) and Ubuntu 26.04 (stock 7.x kernel).
  • BIOS: occurs on 03.07, the current release, and the shipping release (03.05?).
  • Deep S3 as a workaround: it does not prevent the fault.

Seen in the log on rough resumes:

  • spd5118 PM resume failed -6
  • xHC error in resume

Full dmesg and journal are available on request.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions