unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Nitrokey and udev rules
@ 2018-05-22 10:53 Pierre Neidhardt
  2018-05-22 12:41 ` Ricardo Wurmus
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Pierre Neidhardt @ 2018-05-22 10:53 UTC (permalink / raw)
  To: help-guix@gnu.org

[-- Attachment #1: Type: text/plain, Size: 6143 bytes --]


I'm trying to use my nitrokey on GuixSD.

--8<---------------cut here---------------start------------->8---
> gpg --card-status
gpg: selecting openpgp failed: No such device
gpg: OpenPGP card not available: No such device
--8<---------------cut here---------------end--------------->8---

It turns out that the nitrokey needs some udev rules to be driven by
gpg:

	https://www.nitrokey.com/documentation/installation#p:nitrokey-start&os:linux

Thus I tried to configure the following rule:

--8<---------------cut here---------------start------------->8---
(define %nitrokey-udev-rule
  (udev-rule
   "41-nitrokey.rules"
   (string-append "ACTION==\"add\", SUBSYSTEM==\"usb\", "
                  "ATTR{idVendor}==\"20a0\", ATTR{idProduct}==\"4211\", "
                  "ENV{ID_SMARTCARD_READER}=\"1\", ENV{ID_SMARTCARD_READER_DRIVER}=\"gnupg\", GROUP+=\"users\", TAG+=\"uaccess\"")))

; ...
 (modify-services
   %desktop-services
   (udev-service-type config =>
                      (udev-configuration
                       (inherit config)
                       (rules (append (udev-configuration-rules config)
                                      (list %nitrokey-udev-rule))))))
--8<---------------cut here---------------end--------------->8---

I've tried the "plugdev" (as suggested on the website) and "users"
GROUP, to no avail: I get the same error from `gpg --card-status`.

I tried testing the rule with udevadm:

--8<---------------cut here---------------start------------->8---
sudo udevadm test ${udevadm info -q path -n /dev/bus/usb/001/008}
calling: test
version 3.2.5
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          3
file size:         7431994 bytes
header size             80 bytes
strings            1901394 bytes
nodes              5530520 bytes
Load module index
timestamp of '/gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/etc/udev/rules.d' changed
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-block.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-drm.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-evdev.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-sensor.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/60-serial.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/70-mouse.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/75-net-description.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/80-drivers.rules
Reading rules file: /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/80-net-name-slot.rules
rules contain 24576 bytes tokens (2048 * 12 bytes), 8930 bytes strings
1035 strings (15626 bytes), 649 de-duplicated (7083 bytes), 387 trie nodes used
IMPORT builtin 'usb_id' /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/50-udev-default.rules:13
IMPORT builtin 'hwdb' /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/50-udev-default.rules:13
MODE 0664 /gnu/store/if6kkgnbwx1lmb5wp8p8g68i8s9hqs58-eudev-3.2.5/lib/udev/rules.d/50-udev-default.rules:43
handling device node '/dev/bus/usb/001/008', devnum=c189:7, mode=0664, uid=0, gid=0
preserve permissions /dev/bus/usb/001/008, 020664, uid=0, gid=0
preserve already existing symlink '/dev/char/189:7' to '../bus/usb/001/008'
created db file '/run/udev/data/c189:7' for '/devices/pci0000:00/0000:00:14.0/usb1/1-4'
ACTION=add
BUSNUM=001
DEVNAME=/dev/bus/usb/001/008
DEVNUM=008
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-4
DEVTYPE=usb_device
DRIVER=usb
ID_BUS=usb
ID_MODEL=Nitrokey_Start
ID_MODEL_ENC=Nitrokey\x20Start
ID_MODEL_ID=4211
ID_REVISION=0200
ID_SERIAL=Nitrokey_Nitrokey_Start_FSIJ-1.2.6-67143146
ID_SERIAL_SHORT=FSIJ-1.2.6-67143146
ID_USB_INTERFACES=:0b0000:
ID_VENDOR=Nitrokey
ID_VENDOR_ENC=Nitrokey
ID_VENDOR_FROM_DATABASE=Clay Logic
ID_VENDOR_ID=20a0
MAJOR=189
MINOR=7
PRODUCT=20a0/4211/200
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=924747532
Unload module index
--8<---------------cut here---------------end--------------->8---

As you can see, 41-nitrokey.rules does not show here.  In fact I can't
find it on the filesystem.  I don't understand how GuixSD manages the
udev rules.  Am I missing something?

-- 
Pierre Neidhardt

Jenkinson's Law:
	It won't work.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2018-05-26  1:22 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-22 10:53 Nitrokey and udev rules Pierre Neidhardt
2018-05-22 12:41 ` Ricardo Wurmus
2018-05-22 14:30   ` Pierre Neidhardt
2018-05-22 15:42 ` Marius Bakke
2018-05-23  8:47   ` Pierre Neidhardt
2018-05-23  9:09     ` Pierre Neidhardt
2018-05-23  9:51       ` Pierre Neidhardt
2018-05-24  4:30 ` Mike Gerwitz
2018-05-24 14:04   ` Pierre Neidhardt
2018-05-25  1:44     ` Mike Gerwitz
2018-05-25  5:22       ` Ricardo Wurmus
2018-05-25 13:37         ` Pierre Neidhardt
2018-05-25 14:46           ` Pierre Neidhardt
2018-05-26  1:22             ` Mike Gerwitz
2018-05-26  1:16         ` Mike Gerwitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).