Custom keyboard config stopped working

Which Linux distro are you using?

Arch

If rolling release, last date updated?

Now, Dec. 2

Which kernel are you using?

6.17.9-arch1-1

Which BIOS version are you using?

03.07/04.02

Which Framework Laptop 16 model are you using? (AMD Ryzenβ„’ 7040 Series)

I just updated my keyboard and numpad firmware but not my BIOS version, and since then my custom keyboard layout was wiped and I am unable to use keyboard.frame.work to change it any more. I have since updated my BIOS but it still does not work. (I used KDE Discover to install the updates so the BIOS update didn’t show up until after I had installed the keyboard firmware)

Errors on keyboard.frame.work
12:15:31.641
NotAllowedError: Failed to open the device.
Device: Framework Laptop 16 Keyboard Module - ANSI
Vid: 0x32AC
Pid: 0x0012
12:15:31.651
NotAllowedError: Failed to open the device.
Device: Framework Laptop 16 Numpad Module
Vid: 0x32AC
Pid: 0x0014
12:15:31.653
Received invalid protocol version from device
Device: Framework Laptop 16 Keyboard Module - ANSI
Vid: 0x32AC
Pid: 0x0012
12:15:31.661
Received invalid protocol version from device
Device: Framework Laptop 16 Numpad Module
Vid: 0x32AC
Pid: 0x0014
`fwupdmgr get-history`
β”œβ”€Laptop 16 Numpad Module:
β”‚ β”‚   Device ID:          [idk if this is sensitive info]
β”‚ β”‚   Previous version:   0.29
β”‚ β”‚   Update State:       Success
β”‚ β”‚   GUID:               [idk if this is sensitive info]
β”‚ β”‚   Device Flags:       β€’ Internal device
β”‚ β”‚                       β€’ Updatable
β”‚ β”‚                       β€’ Supported on remote server
β”‚ β”‚                       β€’ Unsigned Payload
β”‚ β”‚                       β€’ Can tag for emulation
β”‚ β”‚ 
β”‚ └─Laptop 16 Numpad Keyboard Update:
β”‚       New version:      0.31
β”‚       Remote ID:        lvfs
β”‚       Release ID:       121691
β”‚       Summary:          Firmware for the Framework Laptop 16 Numpad
β”‚       License:          Proprietary
β”‚       Size:             77.8 kB
β”‚       Created:          2025-08-05 00:00:00
β”‚       Urgency:          High
β”‚         Tested:         2025-09-12 00:00:00
β”‚         Distribution:   nixos 25.11
β”‚         Old version:    0.29
β”‚         Version[fwupd]: 2.0.15
β”‚       Vendor:           Framework
β”‚       Duration:         2 minutes
β”‚       Release Flags:    β€’ Trusted payload
β”‚                         β€’ Trusted metadata
β”‚       Description:      
β”‚       This is the first firmware update since the launch of Framework 16.
β”‚       
β”‚       It includes the following changes:
β”‚       
β”‚       β€’ Remove useless KC_SYRQ. PRT SCR functions as sysrq.
β”‚       β€’ Use sleep_l pin to indicate only lid state. Together with updated BIOS this prevents the system from waking by keypress when the lid is closed.
β”‚       
β”‚       It's compatible with:
β”‚       
β”‚       β€’ Framework Laptop 16 AMD Ryzen 7040 Series BIOS 4.02 or later
β”‚       β€’ Framework Laptop 16 AMD AI 300 Series (Any BIOS version)
β”‚       Checksum:         691b6e498bb15155c3dea1f3b7aff8721752d2ea880799e5e51c079bbb2b4ef8
β”‚     
β”œβ”€Laptop 16 Keyboard Module - ANSI:
β”‚ β”‚   Device ID:          [idk if this is sensitive info]
β”‚ β”‚   Previous version:   0.29
β”‚ β”‚   Update State:       Success
β”‚ β”‚   GUID:               [idk if this is sensitive info]
β”‚ β”‚   Device Flags:       β€’ Internal device
β”‚ β”‚                       β€’ Updatable
β”‚ β”‚                       β€’ Supported on remote server
β”‚ β”‚                       β€’ Unsigned Payload
β”‚ β”‚                       β€’ Can tag for emulation
β”‚ β”‚ 
β”‚ └─Laptop 16 Keyboard - ANSI Keyboard Update:
β”‚       New version:      0.31
β”‚       Remote ID:        lvfs
β”‚       Release ID:       121571
β”‚       Summary:          Firmware for the Framework Laptop 16 Keyboard - ANSI
β”‚       License:          Proprietary
β”‚       Size:             123.9 kB
β”‚       Created:          2025-08-05 00:00:00
β”‚       Urgency:          High
β”‚         Tested:         2025-11-05 00:00:00
β”‚         Distribution:   arch
β”‚         Old version:    0.29
β”‚         Version[fwupd]: 2.0.16
β”‚         Tested:         2025-09-12 00:00:00
β”‚         Distribution:   ubuntu 25.04
β”‚         Old version:    0.30
β”‚         Version[fwupd]: 2.0.17
β”‚         Tested:         2025-09-12 00:00:00
β”‚         Distribution:   nixos 25.11
β”‚         Old version:    0.29
β”‚         Version[fwupd]: 2.0.15
β”‚         Tested:         2025-08-20 00:00:00
β”‚         Distribution:   fedora 42 (workstation)
β”‚         Old version:    0.31
β”‚         Version[fwupd]: 2.0.14
β”‚       Vendor:           Framework
β”‚       Duration:         2 minutes
β”‚       Release Flags:    β€’ Trusted payload
β”‚                         β€’ Trusted metadata
β”‚       Description:      
β”‚       This is the first firmware update since the launch of Framework 16.
β”‚       
β”‚       It includes the following changes:
β”‚       
β”‚       β€’ Remove useless KC_SYRQ. PRT SCR functions as sysrq.
β”‚       β€’ Use sleep_l pin to indicate only lid state. Together with updated BIOS this prevents the system from waking by keypress when the lid is closed.
β”‚       
β”‚       It's compatible with:
β”‚       
β”‚       β€’ Framework Laptop 16 AMD Ryzen 7040 Series BIOS 4.02 or later
β”‚       β€’ Framework Laptop 16 AMD AI 300 Series (Any BIOS version)
β”‚       Checksum:         14e34154b028dfc1a29697084bc2b5ef5e6ea8f2b2b6c029a229bf4dd8258e4e

Had this happen to me too, but in my case reflashing the firmware restored my keyboard functionality.

Someone should eventually point you the right way.

Also stopped for me after updating the bios. I get the same errors from keyboard.frame.work

I posted on this a couple weeks ago, no one gave me any info - but I did finally solve it.

1 Like