knipp30
November 18, 2025, 4:26am
1
Haven’t messed with the keyboard website in a while, after going to it today, I cant seem to manage my keyboard or numpad?
Errors below:
22:21:31.713
* NotAllowedError: Failed to open the device.
* Device: Framework Laptop 16 Keyboard Module - ANSI
* Vid: 0x32AC
* Pid: 0x0012
22:21:31.740
* Received invalid protocol version from device
* Device: Framework Laptop 16 Keyboard Module - ANSI
* Vid: 0x32AC
* Pid: 0x0012
Any ideas?
2 Likes
knipp30
November 19, 2025, 2:15am
2
I tried messing with the permissions of /dev/hidraw12 and that worked… once
I tried qmk udev rules, I tried the Framework udev rules, neither seems to work..
Downgraded the keyboard firmware - same issue.
knipp30
November 20, 2025, 8:56pm
3
Just a bump on this - can someone running Fedora, on the current firmware, confirm if they can access keyboard.frame.work?
Daniil
November 20, 2025, 11:09pm
4
I have no problems on Bazzite (very fancy Fedora Silverblue/Kinoite).
Framework Laptop 16"
Bazzite Linux 43 (GNOME) (whatever the latest minor version is, I have it)
UEFI/BIOS 4.0.2
ANSI Keyboard (1st gen) firmware 0.31
Numpad (1st gen) firmware 0.31
knipp30
November 21, 2025, 2:50am
5
I assume you did the udev rules?
Can you give me the output of:
ls -l /dev/hidraw*
And:
ls -l /etc/udev/rules.d/
knipp30
November 21, 2025, 3:39am
6
So I finalyl got this fixed.
I pulled the udev rules provided from the guides here - provided by @Matt_Hartley :
wget https://raw.githubusercontent.com/qmk/qmk_firmware/master/util/udev/50-qmk.rules && sudo cp 50-qmk.rules /etc/udev/rules.d/ && sudo udevadm control --reload-rules && sudo udevadm trigger
And, even after following the guide, it wouldn’t work (I did this guide like 15 times… just saying)
I am not sure whats going on, but I did notice a couple things:
1. VendorID 32ac is not in the above list
2. hidraw for me is all owned by "root:root" and I do not have a goup "plugdev"
So I finally decided to append the following to the udev rules:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", TAG+="uaccess"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", TAG+="uaccess"
And it worked.. Not sure what changed, and why I had to add that manually now - but might be worth adding this to the official guide if the other one is going to be finicky.
2 Likes
Daniil
November 21, 2025, 3:43am
7
I don’t understand what that means, so I think no.
The only time I touch terminal was to enable Bluetooth LE Audio and LC3 codec (edit: except fwupdmgr related commands). Even then I believe I did not execute commands, only edited config files.
knipp30:
ls -l /dev/hidraw*
crw-rw-rw-. 1 root root 241, 0 Nov 21 04:53 /dev/hidraw0
crw-rw-rw-+ 1 root root 241, 1 Nov 21 02:30 /dev/hidraw1
crw-rw-rw-+ 1 root root 241, 10 Nov 21 02:30 /dev/hidraw10
crw-rw-rw-+ 1 root root 241, 11 Nov 21 06:29 /dev/hidraw11
crw-rw-rw-+ 1 root root 241, 2 Nov 21 02:30 /dev/hidraw2
crw-rw-rw-+ 1 root root 241, 3 Nov 21 02:30 /dev/hidraw3
crw-rw-rw-+ 1 root root 241, 4 Nov 21 02:30 /dev/hidraw4
crw-rw-rw-+ 1 root root 241, 5 Nov 21 02:30 /dev/hidraw5
crw-rw-rw-+ 1 root root 241, 6 Nov 21 02:30 /dev/hidraw6
crw-rw-rw-+ 1 root root 241, 7 Nov 21 02:30 /dev/hidraw7
crw-rw-rw-+ 1 root root 241, 8 Nov 21 02:30 /dev/hidraw8
crw-rw-rw-+ 1 root root 241, 9 Nov 21 02:30 /dev/hidraw9
knipp30:
ls -l /etc/udev/rules.d/
total 0
Daniil
November 21, 2025, 3:46am
8
Any chance this is fixed in fwupd 2.0.17? They fiddled with Framework hardware in that version too. Or that is not tied to fwupd in any way?
Sorry, I had a brain fart and mixed forum threads in my head.
knipp30
November 21, 2025, 4:02am
9
No worries!!
If you check above, I figured it out w/my udev rules.
I haven’t mess w/Bazzite much - but I wonder if your setup (Atomic) keeps you from needing the udev rules
Either way, a slight change to the udev rules fixed me up
1 Like
MJ1
December 4, 2025, 4:33am
11
knipp30:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", TAG+="uaccess"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", TAG+="uaccess"
That covers the USA/ansi keyboard and the numpad.
All of the current FWL16 keyboards:
USB [VendorID]:[ProductID] “[Manufacturer][Product name]”
32ac:0012 “Framework Laptop 16 Keyboard Module - ANSI”
32ac:0013 “Framework Laptop 16 RGB Macropad”
32ac:0014 “Framework Laptop 16 Numpad Module”
32ac:0018 “Framework Laptop 16 Keyboard Module - ISO”
32ac:0019 “Framework Laptop 16 Keyboard Module - JIS”
So, to cover all:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", TAG+="uaccess"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0013", TAG+="uaccess"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", TAG+="uaccess"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0018", TAG+="uaccess"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0019", TAG+="uaccess"
1 Like
knipp30
December 4, 2025, 5:23am
12
@Destroya I was unable to find this documented anywhere - and the previous method Framework-provided was not sufficient with the new firmware
Can we get a new post thats pinned with these udev rules for linux users?
As more ppl are getting around to upgrading their firmware, this is likely to be asked more
1 Like
MJ1
December 4, 2025, 7:44am
13
Looks like this may be a systemd bug issue, which has bitten many many people. And the best solution for qmk hasn’t been decided yet
opened 01:06AM - 02 Dec 25 UTC
bug
help wanted
### Describe the Bug
A change to systemd with version 258 seems to have [broken… a lot of people's udev rules](https://bbs.archlinux.org/viewtopic.php?id=308380), and now the provided [udev rule file](https://github.com/qmk/qmk_firmware/blob/master/util/udev/50-qmk.rules) no longer works. I managed to solve this issue by finding [someone in a similar situation and using their fix](https://www.reddit.com/r/Fedora/comments/1op05i8/upgrading_to_fc43_broke_udev_rules/), but I don't know enough about udev rules or how things are supposed to work to propose a PR with this fix or any other potential fix. All I know is it seems this change by systemd is [intentional and not being reverted anytime soon](https://github.com/systemd/systemd/issues/39056#issuecomment-3325002518), so I thought to bring it up and hopefully help others avoid the headache I just spent all day figuring out.
### Keyboard Used
_No response_
### Link to product page (if applicable)
_No response_
### Operating System
_No response_
### qmk doctor Output
```text
```
### Is AutoHotKey / Karabiner installed
- [ ] AutoHotKey (Windows)
- [ ] Karabiner (macOS)
### Other keyboard-related software installed
_No response_
### Additional Context
_No response_
TAG+="uaccess" does sound like the way to go though.
opened 01:02AM - 21 Sep 25 UTC
udev
not-supported
### systemd version the issue has been seen with
258
### Used distribution
Ar… ch
### Linux kernel version used
6.16.8-arch1-1
### CPU architectures issue was seen on
None
### Component
systemd-udevd
### Expected behaviour you didn't see
Nodes in `/dev/` are owned by users and groups as set in udev rules with OWNER and GROUP keys.
### Unexpected behaviour you saw
```
systemd-udevd[509]: /etc/udev/rules.d/99-usbasp.rules:1 User 'dimich' is not a system user, ignoring.
```
and many more.
### Steps to reproduce the problem
Create udev rule to set device node ownership, for example `/etc/udev/rules.d/99-usbasp.rules `:
```
SUBSYSTEMS=="usb", ACTION=="add|change", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", OWNER="dimich"
```
Reload udev rules and plug in the device.
### Additional program output to the terminal or log subsystem illustrating the issue
Please, revert [f5cdf9515aceca2e91f9a33b74267e0cf5a5b7e8](https://github.com/systemd/systemd/commit/f5cdf9515aceca2e91f9a33b74267e0cf5a5b7e8).
It breaks working setups.
1 Like