-
Notifications
You must be signed in to change notification settings - Fork 18
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
fprintd-enroll list_devices failed: #3
Comments
Hi, thanks for submitting this issue and for providing your system configuration! I might have run into this issue before when switching from fprintd to open-fprintd. If you have not been running I am a bit busy at the moment, but I'll take a look at this within the next week. |
Also, please remove I only tested this flake for NixOS stable / NixOS 22.11 and as I just found out through this issue, this flake unfortunately is currently not compatible with NixOS unstable. If you remove the I'll update the ReadMe regarding this shortly. |
That did not fix my issue however I did find something that could be of use:
|
Oh yeah just to confirm I did remove the line and I'm pretty sure it at least backdated the packages to the correct versions, restarting the services seemingly has no affect. |
/nix/store/izphf8rk8r8gdpcc2c3pj44j68k9i6pn-python3.10-python-validity-0.14/share/python-validity/6_07f_lenovo_mis_qm.xpfwext so this file not existing appears to be a problem, the directory is there just up to the file which isn't there. I have discovered by trying to execute random script these errors come from a python script called validity-sensor-firmware. Now I realize that I get this same output from the python-validity-dbus-service script. I'm not sure if this is useful, you probably already know this but my findings could be useful |
Any ideas for what is wrong? |
I did take a rough look again at the python-validity source code, and it looks like the As to when it is executed, and why it might have failed, I need to check. EDIT
Ah I see you have also found it |
Ok, I think I now understand what is happening, and why I never ran into this issue. The firmware downloaded by Now, the firmware has already been flashed on my fp sensor, probably before I even started work on this repository, likely when I was still using python-validity on Arch Linux before the switch to Nix. The next part of this problem is that the firmware is not downloaded as part of the installation process, i.e. So as the next step, I either need to adapt the build process to download the firmware, or patch |
I think I might have a fix ready now. If you want, you can try out the fix like this: url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/fix-missing-firmware"; Then do a After that try downloading the firmware like this (run as root): systemctl stop python3-validity
validity-sensors-firmware
systemctl start python3-validity Then you can continue in the Readme where you last stopped. Some background info on what I changed: python-validity contains functionality to recognize the available fp sensor hardware, download the correct firmware, and upload it to the sensor. Hardware recognition and download is implemented by the bin/validity-sensors-firmware script and it is actually meant to be executed during package installation on distributions like debian. However, the hardware recognition does not seem to work in a Nix build environment (likely due to unavailable permissions/capabilities). Furthermore, it is probably not good to introduce these sort of side-effects when building a package. There are two ways to resolve this:
I opted for the second option, since the first option is prone to user error. Also, it makes the flake harder to maintain because if the firmware recognition and download code changes in python-validity, we have to update the package input options, too. Having to call |
fprintd-enroll did work so I think its working. You should add validity-sensors-firmware too the path though if you choose to do the second option. also add that to the readme. |
Good to hear!
Hmm.. I actually did adapt the module so that services.python-validity.enable = true; It seems to work on my system, does it not automatically appear on your path?
Of course. If everything is working for you now, I'll add some information about calling |
fprintd-enroll and fprintd-verify do work but I can't get authentication done now. When I try to do step 4 I get this error:
when I go to the bingch driver i get this error:
Is there a problem with my flake? {
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
hyprland.url = "github:hyprwm/Hyprland";
stardustxr.url = "github:StardustXR/server";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-06cb-009a-fingerprint-sensor.url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor";
};
outputs = {
self,
nixpkgs,
home-manager,
hyprland,
nixos-06cb-009a-fingerprint-sensor,
...
}: let
system = "x86_64-linux";
in {
nixosConfigurations = {
silverdev2482 = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hardware-configuration.nix
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.silverdev2482 = {
imports = [./home.nix];
};
}
hyprland.nixosModules.default
{programs = {
hyprland.enable = true;
};
}
# nixos-06cb-009a-fingerprint-sensor.nixosModules.open-fprintd
# nixos-06cb-009a-fingerprint-sensor.nixosModules.python-validity
];
};
};
};
} |
Can you try out the following changes:
Then the variable |
Your advice works, I have the bingch driver working now. For some reason it wasn't immediately working after reboot. however messing with restarting systemd stuff seemed to fix it. I'm not sure why this happened but it working now. Maybe I just made a false observation. If you don't mind I actually feel like hunting down t480 owners with NixOS. |
I'm not sure if I understand, you mean you want to find more T480 users for testing the sensor on NixOS? |
Yeah, just by searching t480 on NixOS forms. |
Sounds like a good idea. Through this single issue you already helped me uncovered multiple problems with the flake / readme. Btw. do you consider this issue completed? Then I would close it |
Yes |
Ah, btw. I already merged the |
I have followed the first part of the instructions up to step 3. However i get the error:
list_devices failed:
I am on a thinkpad t480.
I see this similar issue: uunicorn/open-fprintd#6
I have the inputs modules and services enabled for open-fprintd and python-validity.
I don't have the services or packages for fprintd installed or enabled.
Here are my config files, sorry for messed up formatting
flake.nix
The text was updated successfully, but these errors were encountered: