I had such a bad experience with the fingerprint setup that I disabled it after a couple days.
It works, it uses the fingerprint and unlocks the screen, or even sudo in the terminal, which is super convinient.
The problem is when your laptop is closed and you’re using a screen. It literally didn’t allow me to type the password in the gdm/login screen. In the terminal is a bit inconvinent, you need to crlt+c the fingerprint prompt, but at least then you have an option.
@tscolari – How exactly did you get the actual fingerprint reader to unlock the screen, work with sudo, etc. I followed these steps, and any other references I can find, and I can only enroll fingers using sudo, which defeats the purpose, and every other time I get errors about either no devices found, or not authorized to enroll fingerprints. Pullin my hair out over here…!
Hey sorry, I didn’t see your reply before!
I literally followed the steps above, on my dell laptop I had to use one driver, on lenovo the other one - but if you can enroll fingerprints I think you got the correct one already.
Everything else just worked out of the box from that point. I’m using gnome.
Some people pointed out that it needs to be enabled in the gnome / profile GUI configuration, but I had no such option there.
Thanks tscolari, I did find that in my research. I’m guessing there should also be some code added to the hardware configuration if it’s not being recognized?
Is it possible to just run two different kernels or running a primary with a spliced in custom code? I’m not exactly sure how kernels work, but I thought it was one at a time.
I see in the wiki it seems to be possible to run custom kernel, but I’m likely to screw that up as I’m new to that part of Linux.
Can running a custom kernel or add-on kernel be as easy as adding a few lines to the config?
Just to add my experience. My system: NixOS 24.05.20240228.9099616 (Uakari); Laptop Thinkpad X1 gen 9. I run Flake and home-manager. In addition to adding fprintd package I added this to my configuration.nix:
FYI, I also just switched my Framework laptop to NixOS. To get the fingerprint reader working, all I had to do was add services.fprintd.enable = true; to configuration.nix (and do a rebuild switch, of course) and it just worked - “Configure Fingerprint Authentication” appeared in the settings UI, under Users (Plasma DM.)
edit: lsusb shows ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC for the reader.
I’m a bit of a noob on Linux and NixOS, but I’ve been trying to work out the fingerprint reader.
I’ve installed fprintd and it seems to be working, without any error messages.
I can enrol a finger both via terminal (fprintd-enrol) and via the GUI on Gnome (System > Users)
But when it prompts for the password, my fingerprint will NOT work.
If I try to do fprintd-verify, it doesn’t give me any errors, but it goes straight through:
Thanks for that.
I ran dmesg and this is what i found regarding the fingerprint reader:
[ 1.642504] usb 5-3: new full-speed USB device number 4 using xhci_hcd
[ 1.780673] usb 5-3: New USB device found, idVendor=0483, idProduct=2016, bcdDevice= 0.01
[ 1.780678] usb 5-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.780680] usb 5-3: Product: Biometric Coprocessor
[ 1.780682] usb 5-3: Manufacturer: STMicroelectronics
Enrolling fingerprints works fine, but it doesn’t “read” it when doing the fprintd-verify OR just when a password is needed.
For those with Dell laptops (presumably using the tod.driver = pkgs.libfprint-2-tod1-broadcom; package), is your fingerprint reader currently working?
fprintd is working for me, but it does not detect my fingerprint reader, despite that package being explicitly made for Dell Latitude 7300. Checking Bus 001 Device 003: ID 0a5c:5842 Broadcom Corp. 58200, I do have the correct fingerprint reader.
# Fingerprint sensor
## https://wiki.archlinux.org/title/Fprint
services.fprintd = {
enable = true;
package = pkgs.fprintd-tod;
tod.enable = true;
# Search for "libfprint" in packages to find other drivers
tod.driver = pkgs.libfprint-2-tod1-broadcom;
};