Open ismay opened 3 months ago
After debugging and help in the voidlinux channel I found out that the problem occurs because I'm not using systemd. In that case, TAG+="uaccess"
does not have any effect. Instead, what works for users who don't use systemd is adding MODE="0660", GROUP="plugdev"
. Strangely enough this is already present for one rule: https://github.com/qmk/qmk_firmware/blob/master/util/udev/50-qmk.rules#L71, but not for the other ones.
For these udev rules to be fully compatible with both systemd based distros and other distros, both methods should be present. So for the moonlander for example, the full rule should be:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess", MODE="0660", GROUP="plugdev"
I'll leave a link to this discussion: https://github.com/qmk/qmk_firmware/pull/12828#pullrequestreview-666164167, where the addition of the one rule that does add MODE and GROUP was discussed. What was omitted from that discussion is that TAG+="uaccess"
only has an effect for distros built on top of systemd. Since not everyone uses systemd, MODE and GROUP should still be present.
Alternatively, you could install the elogind
package (and reboot after that) to make the existing udev rules work.
Alternatively, you could install the
elogind
package (and reboot after that) to make the existing udev rules work.
Sure. Though you'll probably need to do more than just install it, and you've probably not got it installed because you want to use something else. In all likelihood, users will either not know why this is breaking and have to debug it, or know why it's breaking and add the group and mode themselves. So it's mostly inconvenient to end users when it's quite easily fixed for everyone with a couple minor additions on qmk's side.
In its current form we cannot accept this PR. This invalidates other distro's that don't set up a plugdev
group -- anything systemd-based should be running with TAG+="uaccess"
instead, as per the systemd developers (https://bugzilla.redhat.com/show_bug.cgi?id=815093#c2).
For example, with my main Fedora machine I don't have a plugdev
group -- if we merge this PR should I subsequently raise a bugfix PR reverting to TAG+="uaccess"
as that fixes my system?
The vast majority of distros use systemd nowadays, and whilst you may not find that selection palatable, you're the outlier.
From your perspective I'd suggest manually modifying the rules and installing that as per your system requirements, or figuring out an automated way to select one of two different rules files -- with preference being the TAG+="uaccess"
route wherever available.
EDIT: Whoops, should've been on the PR. I have too many tabs open, sigh.
Describe the Bug
The udev rule in https://github.com/qmk/qmk_firmware/blob/master/util/udev/50-qmk.rules#L23 does not allow my moonlander to be flashed. When trying to do it fails with:
This is after moving
50-qmk.rules
to/etc/udev/rules.d
and rebooting. All in all it seems that the default udev rules shipped with qmk_firmware are not sufficient for flashing a moonlander with my setup.Keyboard Used
zsa/moonlander
Link to product page (if applicable)
No response
Operating System
Void Linux
qmk doctor Output
Is AutoHotKey / Karabiner installed
Other keyboard-related software installed
No response
Additional Context
No response