[RESPONDED] Keyboard randomly stops working - Not OS, but not hardware either?

Just chiming in to do my part.

Got a Framework 16 DIY. I put it all together and got to the BIOS with everything working. Inserted a USB and the keyboard and touchpad stopped working (therefore not OS). I plugged in a USB mouse/keyboard which worked, but didn’t magically fix my problem. I installed Fedora 39, rebooted a bunch of times, and left the laptop turned off but nothing fixed it.

I just reset the BIOS then rebooted and now both work. I am running the BIOS that 16 Batch 1 shipped with.

dmidecode 
/* */
BIOS Information
	Vendor: INSYDE Corp.
	Version: 03.02
	Release Date: 01/23/2024
/* */

If you’d bothered to read the thread you’d know that none of those are the cause of the errors described in this thread.

Finally I find someone experiencing the same thing! I suppose I’ve missed this thread in the past.

I also have this exact problem. It’s very intermittent and there seems to be no rhyme or reason. I have also tried a number of invasive and non invasive things to fix it, with zero repeatability.

It happens to me sporadically. From once every few weeks to every few months.

And the only thing that seems to fix it consistently, like the OP said, is letting the computer sit for a couple hours.

On my Framework 13, 12th gen intel, Dual booting ubuntu and windows

The solution is buried in the middle of the thread a bit, but note that I DID solve it! Turned out there were two issues:

If you have an intermittent keyboard-non-responsive problem:
Is the screen still on or did it turn itself off at the same time the keyboard stopped working?

  • If the screen is off, then the problem is likely the lid-closed sensor falsely triggering. This can be caused by placing one Framework on top of another, or placing a Framework on top of another device that uses a magnetic lid, like an iPad. Look for nearby magnets that might be setting off the lid closed sensor and avoid them.
  • If the screen remains on, then the problem is NOT the lid-closed sensor or nearby magnets. The only thing that fixed this problem for me (and I tried a LOT of things) was going into the BIOS setting and selecting “reset to defaults”.

Resetting the BIOS to defaults didn’t fix the issue for me. I have noticed that the issue shows up in the browser, notepad, windows search, etc, but not while playing a couple of games that I’ve tried.
Running Windows 11 with bios 3.05 on the framework 16

I solved the issue on Windows 11 by disabling the PCI Express power savings.
Search for ‘power’ and select Edit Power Plan
click Change Advanced Power Settings →
PCI Express → Link State Power Management →
I turned both Off (on battery & plugged in)

I am having the same issue with a brand new FW16 running on Linux. This is very frustrating… :sad_but_relieved_face:
If this can help at all, here is the output of dmesg when the issue happens, and the very same happens on a regular basis (I am now using an external keyboard instead :frowning: )

[  297.842889] usb 1-4.3: USB disconnect, device number 11
[  298.930332] usb 1-4.3: new full-speed USB device number 12 using xhci_hcd
[  299.021162] usb 1-4.3: unable to get BOS descriptor set
[  299.042154] usb 1-4.3: New USB device found, idVendor=32ac, idProduct=0018, bcdDevice= 0.29
[  299.042180] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  299.042184] usb 1-4.3: Product: Laptop 16 Keyboard Module - ISO
[  299.042186] usb 1-4.3: Manufacturer: Framework
[  299.042188] usb 1-4.3: SerialNumber: FRAKDKEN0100000000
[  299.260140] input: Framework Laptop 16 Keyboard Module - ISO as /devices/pci0000:00/0000:00:08.1/0000:c1:00.3/usb1/1-4/1-4.3/1-4.3:1.0/0003:32AC:0018.0017/input/input36
[  299.420413] hid-generic 0003:32AC:0018.0017: input,hidraw3: USB HID v1.11 Keyboard [Framework Laptop 16 Keyboard Module - ISO] on usb-0000:c1:00.3-4.3/input0
[  299.428157] hid-generic 0003:32AC:0018.0018: hiddev97,hidraw4: USB HID v1.11 Device [Framework Laptop 16 Keyboard Module - ISO] on usb-0000:c1:00.3-4.3/input1
[  299.436155] input: Framework Laptop 16 Keyboard Module - ISO System Control as /devices/pci0000:00/0000:00:08.1/0000:c1:00.3/usb1/1-4/1-4.3/1-4.3:1.2/0003:32AC:0018.0019/input/input37
[  299.487161] input: Framework Laptop 16 Keyboard Module - ISO Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:c1:00.3/usb1/1-4/1-4.3/1-4.3:1.2/0003:32AC:0018.0019/input/input38
[  299.487220] input: Framework Laptop 16 Keyboard Module - ISO Wireless Radio Control as /devices/pci0000:00/0000:00:08.1/0000:c1:00.3/usb1/1-4/1-4.3/1-4.3:1.2/0003:32AC:0018.0019/input/input39
[  299.487269] input: Framework Laptop 16 Keyboard Module - ISO Keyboard as /devices/pci0000:00/0000:00:08.1/0000:c1:00.3/usb1/1-4/1-4.3/1-4.3:1.2/0003:32AC:0018.0019/input/input40
[  299.597202] hid-generic 0003:32AC:0018.0019: input,hidraw5: USB HID v1.11 Keyboard [Framework Laptop 16 Keyboard Module - ISO] on usb-0000:c1:00.3-4.3/input2
[  299.606082] hid-generic 0003:32AC:0018.001A: hiddev98,hidraw6: USB HID v1.11 Device [Framework Laptop 16 Keyboard Module - ISO] on usb-0000:c1:00.3-4.3/input3

So, turning off link state power management wasn’t a fix. I had to reinstall windows and this time turning off the power management didn’t solve the issue. I did notice that I didn’t seem to see any issues when playing a game. So, I installed MS Sudoku from the store and leave it running in the background. MOST of the issue has gone away. I will still occasionally see a temporary kb/touchpad glitch, but not oftern and not for long.

Try reinstalling the keyboard firmware

I’m not sure what you mean. I have re-seated the keyboard and touchpad modules multiple times. I have also just installed the newest bios update. Is there a particular usb module you think I should reseat? The behavior is very odd because I have NEVER had a problem with the keyboard while playing a game.

It is surely interesting, it happened to me yesterday, and it could not have come at a worse time. I was at an exam, coding and it just started not doing anything…

I believe a similar thing happened to my Framework 16. My keyboard backlight flickers and everything becomes unresponsive as soon as I touch the keyboard. Kernel logs seem to suggest rapid connecting/disconnecting. Tried with two different Linuxes and also witnessed it in the bios. Curiously enough, I seem to have maybe found a way to fix it though? I was spamming Fn+Space and now it seems to have been fixed. Below is the output of my cross_ec/console_log

gister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
[50.844600 power button pressed]
[50.845500 PB pressed]
[50.846200 PB task 1 = pressed]
[50.847300 PB task 3 = t1, wait 34640]
[50.850300 SW 0x07]
[50.851200 event set 0x0000000000000004]
PORT80: 0003
[50.883200 PB task 3 = t1]
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
[54.814400 PB task 4 = held, wait 65535]
[54.856000 Battery 49% (Display 48.0 %) / 3h:9 to empty]
[54.881600 PB task 4 = held]
[54.882800 PB task 12 = need-shutdown, wait 1204]
[54.885500 PB task 12 = need-shutdown]
[56.007400 power button released]
[56.008400 PB released]
[56.009100 PB task 6 = released]
[56.009900 PB task 0 = idle, wait 65535]
[56.012300 SW 0x05]
PORT80: 3900
[56.076700 PB task 0 = idle]
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
[76.886900 Battery 49% (Display 47.9 %) / 3h:13 to empty]
I: hid target unregister:0
I: Input modules on
I: hid target register:0
I: Input modules off
I: hid target unregister:0
I: Input modules on
[81.641300 Battery 48% (Display 47.9 %) / 3h:13 to empty]
PORT80: 0002
PORT80: 0005
PORT80: 0005
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0002
PORT80: 0002
PORT80: 0005
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0005
PORT80: 0005
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0005
PORT80: 0005
PORT80: 0002
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0004
PORT80: 0005
PORT80: 0005
PORT80: 0004
PORT80: 0002
PORT80: 0005
PORT80: 0002
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0004
PORT80: 0005
PORT80: 0004
PORT80: 0004
[91.526700 HC 0x011d]
[91.528100 HC 0x011d err 1]
[91.529100 HC 0x000b]
[91.530200 HC 0x400b]
[91.531000 HC 0x400b err 1]
[91.532100 HC 0x0008]
[91.533000 HC 0x0008 err 3]
+[91.534900 HC 0x008d]
[91.539400 HC 0x00a9]
PORT80: 3F70
PORT80: 0005
PORT80: 0005
PORT80: 0004
PORT80: 0004
PORT80: 0004
[91.653200 HC 0x000d]
[91.655200 HC 0x002b err 1]
[91.656400 HC 0x0134]
[91.657200 HC 0x0134 err 1]
[91.662100 HC 0x0070]
[91.663800 HC 0x0008]
PORT80: 0000
[91.665600 HC 0x0093]
+[91.668800 HC 0x00d3]
[91.670400 HC 0x0008]
[91.672300 HC 0x0070]
[91.673400 UCSI PPM_RESET]
+[91.680800 HC 0x0093]
+[91.685900 event set 0x0400000000000000]
0]
[91.980200 event set 0x0400000000000000]
[92.005100 event set 0x0400000000000000]
[92.029600 event set 0x0400000000000000]
[92.054700 event set 0x0400000000000000]
[92.081000 event set 0x0400000000000000]
PORT80: 003B
[92.105500 event set 0x0400000000000000]
PORT80: 003B
[92.131800 event set 0x0400000000000000]
PORT80: 003B
[92.156400 event set 0x0400000000000000]
PORT80: 003B
PORT80: 0002
[92.211600 event set 0x0400000000000000]
[92.223500 cypd_write_reg8_wait_ack C:0 0x2004 response 0xd]
[92.225000 CYPD: change PDOs list fail at step 2]
PORT80: 003B
[92.239800 event set 0x0400000000000000]
[92.250000 CYPD_RESPONSE_PD_CONTRACT_NEGOTIATION_COMPLETE 2]
PORT80: 003B
[92.263100 event set 0x0400000000000000]
[92.281800 event set 0x0400000000000000]
PORT80: 003B
[92.301700 event set 0x0400000000000000]
PORT80: 003B
[92.320500 event set 0x0400000000000000]
PORT80: 003B
PORT80: 003B
[92.345000 event set 0x0400000000000000]
PORT80: 003B
[92.369800 event set 0x0400000000000000]
PORT80: 003B
[92.396000 event set 0x0400000000000000]
PORT80: 003B
[92.420900 event set 0x0400000000000000]
PORT80: 0002
[92.447000 event set 0x0400000000000000]
PORT80: 003B
[92.471900 event set 0x0400000000000000]
PORT80: 0002
[92.497100 event set 0x0400000000000000]
PORT80: 003B
[92.522000 event set 0x0400000000000000]
[92.549600 event set 0x0400000000000000]
PORT80: 003B
[92.574100 event set 0x0400000000000000]
PORT80: 003B
[92.600200 event set 0x0400000000000000]
PORT80: 003B
[92.624900 event set 0x0400000000000000]
PORT80: 003B
[92.651100 event set 0x0400000000000000]
PORT80: 0002
PORT80: 003B
[92.675800 event set 0x0400000000000000]
PORT80: 003B
[92.702000 event set 0x0400000000000000]
PORT80: 003B
[92.726700 event set 0x0400000000000000]
PORT80: 003B
[92.752900 event set 0x0400000000000000]
PORT80: 003B
[92.777800 event set 0x0400000000000000]
PORT80: 003B
[92.802500 event set 0x0400000000000000]
PORT80: 003B
[92.827100 event set 0x0400000000000000]
PORT80: 003B
[92.853100 event set 0x0400000000000000]
[92.871400 event set 0x0400000000000000]
PORT80: 003B
PORT80: 0002
[92.897600 event set 0x0400000000000000]
PORT80: 003B
[92.922400 event set 0x0400000000000000]
PORT80: 003B
[92.947000 event set 0x0400000000000000]
PORT80: 003B
[92.971600 event set 0x0400000000000000]
PORT80: 003B
[92.997800 event set 0x0400000000000000]
[93.022500 event set 0x0400000000000000]
[93.048000 event set 0x0400000000000000]
[93.070000 event set 0x0400000000000000]
PORT80: 003B
PORT80: 003B
[93.095800 event set 0x0400000000000000]
PORT80: 0002
[93.120400 event set 0x0400000000000000]
PORT80: 003B
[93.145000 event set 0x0400000000000000]
PORT80: 003B
[93.170200 event set 0x0400000000000000]
PORT80: 003B
[93.192500 event set 0x0400000000000000]
PORT80: 003B
[93.218300 event set 0x0400000000000000]
PORT80: 0002
[93.244500 event set 0x0400000000000000]
PORT80: 003B
[93.269400 event set 0x0400000000000000]
PORT80: 003B
[93.295900 event set 0x0400000000000000]
PORT80: 0002
PORT80: 003B
[93.320800 event set 0x0400000000000000]
PORT80: 003B
[93.346900 event set 0x0400000000000000]
PORT80: 003B
[93.371700 event set 0x0400000000000000]
PORT80: 003B
[93.397700 event set 0x0400000000000000]
PORT80: 003B
[93.422700 event set 0x0400000000000000]
PORT80: 003B
[93.449000 event set 0x0400000000000000]
PORT80: 003B
[93.473800 event set 0x0400000000000000]
PORT80: 003B
[93.499900 event set 0x0400000000000000]
PORT80: 003B
[93.525200 event set 0x0400000000000000]
PORT80: 003B
[93.553600 event set 0x0400000000000000]
PORT80: 003B
[93.581600 event set 0x0400000000000000]
PORT80: 003B
[93.917300 event set 0x0400000000000000]
PORT80: 003B
[93.939700 event set 0x0400000000000000]
PORT80: 003B
[93.965700 event set 0x0400000000000000]
PORT80: 003B
[93.991000 event set 0x0400000000000000]
PORT80: 003B
[94.015100 event set 0x0400000000000000]
[94.030800 event set 0x0400000000000000]
PORT80: 003B
PORT80: 003B
[94.055800 event set 0x0400000000000000]
[94.080700 event set 0x0400000000000000]
PORT80: 003B
PORT80: 0DB7
PORT80: 3D08
[97.064000 Battery 48% (Display 47.8 %) / 2h:24 to empty]
PORT80: 0002
PORT80: 0DB5
PORT80: 3D00
PORT80: 3D08
PORT80: 3F54
PORT80: 3F58
PORT80: 3F64
PORT80: 3F68
[113.084900 Battery 48% (Display 47.7 %) / 2h:16 to empty]
PORT80: 0DB7
[132.108200 Battery 48% (Display 47.6 %) / 2h:41 to empty]
[152.132400 Battery 48% (Display 47.5 %) / 2h:22 to empty]
PORT80: 0DB5
PORT80: 0DB7
[169.407000 Battery 48% (Display 47.4 %) / 2h:25 to empty]
[189.433800 Battery 48% (Display 47.3 %) / 2h:23 to empty]
[206.456100 Battery 48% (Display 47.2 %) / 2h:18 to empty]
[217.468000 Battery 48% (Display 47.1 %) / 1h:52 to empty]
[235.492700 Battery 48% (Display 47.0 %) / 2h:2 to empty]
[250.760500 Battery 48% (Display 46.9 %) / 2h:6 to empty]
[253.515000 Battery 47% (Display 46.9 %) / 2h:7 to empty]
PORT80: 0DB5
[265.781600 Battery 47% (Display 46.8 %) / 2h:3 to empty]
PORT80: 0DB7
[283.806100 Battery 47% (Display 46.7 %) / 2h:7 to empty]
[298.824000 Battery 47% (Display 46.6 %) / 2h:6 to empty]
[314.840200 Battery 47% (Display 46.5 %) / 1h:57 to empty]
[331.119900 Battery 47% (Display 46.4 %) / 2h:5 to empty]
[346.133300 Battery 47% (Display 46.3 %) / 2h:8 to empty]
[367.166300 Battery 47% (Display 46.2 %) / 2h:17 to empty]
[384.188500 Battery 47% (Display 46.1 %) / 2h:20 to empty]
[402.462500 Battery 47% (Display 46.0 %) / 2h:27 to empty]
[424.240400 Battery 46% (Display 46.0 %) / 2h:25 to empty]
[424.492700 Battery 46% (Display 45.9 %) / 2h:25 to empty]
[441.513500 Battery 46% (Display 45.8 %) / 2h:25 to empty]
[457.533400 Battery 46% (Display 45.7 %) / 2h:8 to empty]

What is interesting is that mine still had the trackpad and the backlight working.