libera/#eudev/ Sunday, 2021-10-31

Nuc1eoNHello guys, I am on eudev 3.2.10 and I am desperately trying to get my fido2 device (SoloKey) to work. I have tried everything according to the official docs: https://docs.solokeys.io/udev/20:13
Nuc1eoNBut the udev rules just do not make it work.20:13
Nuc1eoNE.g. this is my eudev rule: https://bpa.st/Z6VA20:13
Nuc1eoNI have even tested it with the command `udevadm test $(udevadm info --query=path --name=hidraw6)` and it appears to correctly fire the eudev rule: https://bpa.st/2NTQ20:13
Nuc1eoNBut still, I can only access my fido2 device when I am root. My user is also in the plugdev group. But nothing makes it work.20:13
Nuc1eoNDo you guys have any suggestions? I am trying to get this to work for months...20:14
rktaI can't really help, but is this message about not being able to create the temporary db file expected?20:17
rworkmanI'm about to have to run, but it's possible that you'll need the rule that sets GROUP of the device node; see the text "Older versions of udev use rules such as" on the solokeys.io page20:20
rworkmanIn essence, if the device node doesn't allow your user access, then you have to modify it to give that access. Making that device node be mode g+w and owned by group plugdev is one way to do that20:21
rworkmanMaybe see "Which rule should I use, and how do I do it?" and (mostly) follow the advice in the first line below (Yubico's rule file)20:24
rworkmanIt looks like it will "just work" after that, based on a casual glance at the rules in that file (disclaimer: I do not have a solokey, so I can't say for sure)20:24
rworkmanafk now20:24
bb|hcbNuc1eoN: You say that the device works as root? So it seems that is a permission problem, and in your udev rules I do not see permissions specified; can you also share how the /dev entry looks like?20:28
Arsenshow the rules you added20:31
Nuc1eoNWith rworkman's advice I got it to work, I have copied the legacy rules file https://github.com/solokeys/solo/blob/master/udev/70-solokeys-legacy-access.rules to /lib/udev/rules.d. Thank you rworkman20:36
Nuc1eoNOne issue is still left though. The rule did not work when I put it into /etc/udev/rules.d, and I found out using `udevatm test` that it did not process that directory at all. Is my eudev maybe set up incorrectly? Why wouldnt it look through /etc/udev/rules.d?20:36
Arsenhm, it certainly does for me20:37
ArsenI'm not sure that path is adjustable20:38
Nuc1eoNMaybe dudring compile time?20:38
Arsenit is adjustable at compile time, defaults to /etc/udev: https://github.com/eudev-project/eudev/blob/master/configure.ac#L17420:39
Nuc1eoNArsen, would it use the subfolder /etc/udev/rules.d ?20:40
Nuc1eoNEudev definitely uses /etc/udev for me (there are some files belonging to eudev), but it does not seem to use the subfolder rules.d under that directory20:44
Arsenhttps://github.com/eudev-project/eudev/blob/226a9f4dedae29d22e333c215d32d25292da0a78/src/udev/udevd.c#L1308 definitely should be on20:46
bb|hcb${prefix}/etc/udev/rules.d is processed by default; the rest depends on how eudev is compiled and also what is in its config file20:46
bb|hcbNuc1eoN: what is your OS?20:46
bb|hcbI am guessing here: in case --prefix=/usr and there is no --sysconfdir=/etc, then it will look in /usr/etc/udev/rules.d/20:52
Arsenoh, huh, that sounds a bit insane20:54
bb|hcbI have also verified that my eudev is processing /etc/udev/rules.d20:57
Nuc1eoNbb|hcb, thanks for the help. Frankly it is a bit esoteric, Im on GoboLinux, and here is the recipe I have used to build eudev https://github.com/gobolinux/Recipes/blob/master/Eudev/3.2.10/Recipe20:57
bb|hcbHow does $settings_target resove there?20:58
Nuc1eoNThats the funny part on gobo, here as an example you see how it works:21:00
Nuc1eoNhttps://bpa.st/X2GA21:00
Nuc1eoN /etc/udev is symlinked to /Programs/Eudev/Settings/udev21:00
Nuc1eoNHowever it does not seem to include rules.d for whatever reason21:01
Nuc1eoNWhich is what I just noticed21:01
bb|hcbMaybe it looks in /Programs/Eudev/Settings/udev/rules.d instead? (I am guessing again, this is the first time I heard about GoboLinux)21:03
Nuc1eoNIf I fiddle around enough maybe I manage to fix it, or I am gonna write to the gobolinux forums to get it fixed. I guess this topic is a bit outside of this irc channel. But it is awesome that we could debug the issue and actually get my solokey working, that is worth a lot to me already :)21:04
Nuc1eoNBefore, I hadnt really a place to ask becasue eudev was abandoned21:05
bb|hcbyw (and I learned something new) :)21:06
Nuc1eoNbb|hcb, maybe if I figure it out I'll let you know what the issue was^^21:07
Nuc1eoNbut I guess it is something gobo specific21:07
Nuc1eoNif not, I am gonna come back anyways^^21:08
Nuc1eoNAlso if you ever feel like trying out something new I can recommend GoboLinux. It is actually a very well thought out distro. Only thing is you are more or less on your own :P21:10
Nuc1eoNBut you learn a whole lot about linux21:10
bb|hcbIt is, my advice is to mkdir /Programs/Eudev/Settings/udev/rules.d and symlink it to /etc/udev21:10
Nuc1eoNyes maybe that should have been symlinked, now I need to be careful though since /etc/udev/rules already contains rules by other programs. I guess I will move them to /Programs/Eudev/Settings/udev/rules.d first and then symlink (so that they dont disappear)21:21
Nuc1eoNfor reference https://bpa.st/GJAA21:21
Nuc1eoNBut those rules probably then never worked either^^21:22
rworkmanNuc1eoN: glad you got it figured out. This is definitely something to discuss with GoboLinux maintainers - the rulesdir in /etc should absolutely be fixed. For information's sake, there's a (typically) /lib/udev/rules.d/ for rules that are installed with packages, and /etc/udev/rules.d/ for rules provided by sysadmins21:29
bb|hcbrworkman: it will take some time before all packages do follow the above rule ;)21:33
Nuc1eoNrworkman, yes I will speak with the other gobo maintainers about it:)21:38
Nuc1eoNAnd yeah, Fuse and Hplip seem not to follow the above rule^^21:38
rworkmanbb|hcb: indeed. I generally do patches and an MR/PR for projects when I come across them, but that's only if they have a contribution process that's easy to discover. If I have to spend more than a minute or so figuring how where to get source, where to send patches, etcetera, then oh well. I just fix it in our distro package and move on.21:40
rworkmanNuc1eoN: for hplip, something like this in installation process fixes it:  make install DESTDIR=$PKG rulesdir=/lib/udev/rules.d21:42
rworkmanFor fuse, we move them manually in our packaging process.21:43
rworkmanI wonder why I didn't push a patch to either of those :/21:43
bb|hcbFrom what i have seen, the paths are fixed in distro packaging, while upstream packages install the rules in /etc/...21:49
Nuc1eoNThis has been fixed in Fuse3 it seems. Some other packages also do it correctly -> https://bpa.st/7J6Q21:55
Nuc1eoNBut still Fuse2 is required by a lot of programs. AppImage for instance.21:55
Nuc1eoNshould probably be backported21:56
Nuc1eoN(At least I see 99-fuse3.rules is in the correct dir, while 99-fuse.rules isnt)21:57

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!