Bug 2246559

Summary: Stored fingerprints disappear after failed auth
Product: [Fedora] Fedora Reporter: knirirr
Component: libfprintAssignee: Benjamin Berg <benjamin-fedora>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 38CC: benjamin-fedora
Target Milestone: ---Keywords: Desktop
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
fprintd logs from the affected system. none

Description knirirr 2023-10-27 13:06:24 UTC
This is using Silverblue, version as follows:

```
‚óŹ fedora:fedora/38/x86_64/silverblue
                  Version: 38.20231025.0 (2023-10-25T00:53:32Z)
               BaseCommit: d433b09204bb172f05ccf9b753bb499efb2fe20373235d6590522e0dfdc292fb
             GPGSignature: Valid signature by 6A51BBABBA3D5467B6171221809A8D7CEB10B464
          LayeredPackages: distrobox fastfetch ffmpeg-free fortune-mod gnome-shell-extension-appindicator gnome-tweaks langpacks-en_GB libinput-utils
                           lshw neovim openssl podman-compose python3-pip rclone sg3_utils zsh
```

It's on a Thinkpad Z16.

Forum post here: https://discussion.fedoraproject.org/t/disappearing-fingerprints/94134



Reproducible: Always

Steps to Reproduce:
1. Add one or more fingerprints to my user account. 
2. Attempt to log in using a fingerprint. 
3. Authentication fails. 
4. Log in with password. 
Actual Results:  
After logging in with a password fingerprint authentication has been disabled on my account, and all stored fingerprints deleted. 

Expected Results:  
Fingerprint login should be successful, and the stored fingerprints should still be present.

Comment 1 Benjamin Berg 2023-10-27 13:11:16 UTC
1. Please provide fprintd logs
2. Is this a dual boot machine?
3. Is there any relation to you rebooting into windows or something like that?

Comment 2 knirirr 2023-10-27 13:20:59 UTC
Created attachment 1995807 [details]
fprintd logs from the affected system.

Comment 3 knirirr 2023-10-27 13:21:55 UTC
I've attached the fprintd logs.
This machine was supplied from the manufacturer without any OS and has only ever run Fedora Silverblue.

Comment 4 Benjamin Berg 2023-10-27 14:00:59 UTC
Have you checked that there is no firmware update available?

Other than that, this keeps happening:

Oct 23 13:05:16 ulthar fprintd[246430]: Deleted stored finger 7 for user gvurrdon as it is unknown to device.

Which implies the device does not know the print. It is a goodix device, I have this hunch that we could get that into a bad state where it kept storing prints with the wrong ID. A full reset solved that. Try running this script:


"""
#!/usr/bin/python3

import gi

gi.require_version('FPrint', '2.0')
from gi.repository import FPrint, GLib

ctx = GLib.main_context_default()

c = FPrint.Context()
c.enumerate()
devices = c.get_devices()

d = devices[0]
del devices

d.open_sync()
d.clear_storage_sync()
d.close_sync()
"""

Comment 5 knirirr 2023-10-27 15:47:00 UTC
The output of that script was:

```
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: warning [libusb_exit] device 3.4 still referenced
libusb: warning [libusb_exit] device 3.3 still referenced
libusb: warning [libusb_exit] device 3.1 still referenced
```

After running it I was able to add a fingerprint, lock the screen, and unlock again with that fingerprint.
There doesn't seem to be a newer firmware available than the one I installed a few days ago.