-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add rules for accessing HID devices with libusb #6
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The rules work fine for me using hidapi v0.14.0.post4. Checked with |
daringer
approved these changes
Jan 3, 2025
sosthene-nitrokey
approved these changes
Jan 6, 2025
Tested and works. |
Successfully tested on NixOS 24.11. Overlay (final: prev: {
nitrokey-udev-rules = prev.nitrokey-udev-rules.overrideAttrs (finalAttrs: prevAttrs: {
src = pkgs.fetchFromGitHub {
owner = "Nitrokey";
repo = "nitrokey-udev-rules";
rev = "5ffac5d0d9dc776f241a9553be5e92656585bd53";
hash = "sha256-ZALVjSiIGRK+DlFscOhbnZJbjXP15bfgV+ZOqQQ6h7A=";
};
dontBuild = true;
doCheck = false;
});
}) |
HID devices can be accessed with libusb or with hidraw. So far, we have mostly been using hidraw and our udev rules only apply to hidraw devices. This patch adds rules for access with libusb as recommended by the hidapi developers: https://github.com/libusb/hidapi/blob/ff67c77daddbd8e61ad3873ac16f8edc005f943f/udev/69-hid.rules
5ffac5d
to
0f459f5
Compare
cypheon
added a commit
to cypheon/nitrokey-documentation
that referenced
this pull request
Jan 23, 2025
The udev rules file `41-nitrokey.rules` is crucial to the devices' functioning under Linux. The canonical and maintained version of these rules seems to be the one at https://github.com/Nitrokey/nitrokey-udev-rules The documentation contained several links to older, unmaintained versions at different URLs, which are missing some recent fixes, e.g. [nitrokey-udev-rules PR Nitrokey#6](Nitrokey/nitrokey-udev-rules#6). Make sure the documentation always links to the maintained version at https://raw.githubusercontent.com/Nitrokey/nitrokey-udev-rules/main/41-nitrokey.rules
cypheon
added a commit
to cypheon/nitrokey-documentation
that referenced
this pull request
Jan 23, 2025
The udev rules file `41-nitrokey.rules` is crucial to the devices' functioning under Linux. The canonical and maintained version of these rules seems to be the one at https://github.com/Nitrokey/nitrokey-udev-rules The documentation contained several links to older, unmaintained versions at different URLs, which are missing some recent fixes, e.g. [nitrokey-udev-rules PR Nitrokey#6](Nitrokey/nitrokey-udev-rules#6). Make sure the documentation always links to the maintained version at https://raw.githubusercontent.com/Nitrokey/nitrokey-udev-rules/main/41-nitrokey.rules
cypheon
added a commit
to cypheon/nitrokey-documentation
that referenced
this pull request
Jan 23, 2025
The udev rules file `41-nitrokey.rules` is crucial to the devices' functioning under Linux. The canonical and maintained version of these rules seems to be the one at https://github.com/Nitrokey/nitrokey-udev-rules The documentation contained several links to older, unmaintained versions at different URLs, which are missing some recent fixes, e.g. [nitrokey-udev-rules PR Nitrokey#6](Nitrokey/nitrokey-udev-rules#6). Make sure the documentation always links to the maintained version at https://raw.githubusercontent.com/Nitrokey/nitrokey-udev-rules/main/41-nitrokey.rules
daringer
pushed a commit
to Nitrokey/nitrokey-documentation
that referenced
this pull request
Jan 27, 2025
The udev rules file `41-nitrokey.rules` is crucial to the devices' functioning under Linux. The canonical and maintained version of these rules seems to be the one at https://github.com/Nitrokey/nitrokey-udev-rules The documentation contained several links to older, unmaintained versions at different URLs, which are missing some recent fixes, e.g. [nitrokey-udev-rules PR #6](Nitrokey/nitrokey-udev-rules#6). Make sure the documentation always links to the maintained version at https://raw.githubusercontent.com/Nitrokey/nitrokey-udev-rules/main/41-nitrokey.rules
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
HID devices can be accessed with libusb or with hidraw. So far, we have mostly been using hidraw and our udev rules only apply to hidraw devices. This patch adds rules for access with libusb as recommended by the hidapi developers:
https://github.com/libusb/hidapi/blob/ff67c77daddbd8e61ad3873ac16f8edc005f943f/udev/69-hid.rules
You can use the following code for testing:
With hidapi v0.14.0 and v0.14.0.post4, this uses libusb. With hidapi v0.14.0.post1 to v0.14.0.post3, this uses hidraw. (This only applies if hidapi is installed from the PyPI wheels – packaged versions or manual builds may behave differently.) From my experience, a reboot is required to properly apply the new rules.