You are not logged in.
My experience with fprintd and the Verifi P2000 to simply unlock xfce4-screensaver has been hit-or-miss and I am wondering if anyone can offer any suggestions to make it more reliable.
What happens: the device and fprintd do not consistently work to unlock xfce4-screensaver.
I created this drop-in for fprintd.service:
[Service]
Environment=G_MESSAGES_DEBUG=all
StandardOutput=append:/var/log/fprintd-debug.log
StandardError=inheritWhen xfce4-screensaver starts, the dbus call is made to systemd and the service is started. To unlock, I am seeing, "Swipe your right index finger across the fingerprint reader" but about half the time, authentication by fingerprint fails. After it fails, fprintd is running but and xfce4-screensaver only offers a password to unlock.
When this happens, I am seeing lines like the following in the debug log:
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.803: 6666759789: ../libfprint/libfprint/drivers/aes2550.c:145
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.805: transfer completed, len: 0002, data: 83 04
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.805: 6666761209: ../libfprint/libfprint/drivers/aes2550.c:145
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.806: transfer completed, len: 0002, data: 83 84
... (this is repeated hundreds of times
(fprintd:42072): libfprint-device-DEBUG: 07:23:40.806: Device reported finger status change: FP_FINGER_STATUS_NEEDED | FP_FINGER_STATUS_PRESENT
(fprintd:42072): fprintd-DEBUG: 07:23:40.806: Finger present 1
(fprintd:42072): fprintd-DEBUG: 07:23:40.806: Finger needed 1
(fprintd:42072): libfprint-image_device-DEBUG: 07:23:40.806: Image device reported finger status: on
(fprintd:42072): libfprint-image_device-DEBUG: 07:23:40.806: Image device internal state change from FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON to FPI_IMAGE_DEVICE_STATE_CAPTURE
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.806: 6666762244: ../libfprint/libfprint/drivers/aes2550.c:396
(fprintd:42072): libfprint-SSM-DEBUG: 07:23:40.806: [aes2550] CAPTURE_NUM_STATES entering state 0
(fprintd:42072): libfprint-SSM-DEBUG: 07:23:40.806: [aes2550] CAPTURE_NUM_STATES entering state 1
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.851: request completed, len: 0007
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.851: data: db 00
(fprintd:42072): libfprint-SSM-DEBUG: 07:23:40.851: [aes2550] CAPTURE_NUM_STATES entering state 1
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.894: request completed, len: 0007
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.894: data: db 00
(fprintd:42072): libfprint-SSM-DEBUG: 07:23:40.894: [aes2550] CAPTURE_NUM_STATES entering state 1
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.938: request completed, len: 0007
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.938: data: db 00
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.938: Got 3 heartbeats => finger removed
(fprintd:42072): libfprint-SSM-DEBUG: 07:23:40.938: [aes2550] CAPTURE_NUM_STATES entering state 2
(fprintd:42072): libfprint-SSM-DEBUG: 07:23:40.938: [aes2550] SSM CAPTURE_NUM_STATES failed in state 2 with error: The driver encountered a protocol error with the device.
(fprintd:42072): libfprint-SSM-DEBUG: 07:23:40.938: [aes2550] CAPTURE_NUM_STATES completed with error: The driver encountered a protocol error with the device.
(fprintd:42072): libfprint-aes2550-DEBUG: 07:23:40.938: Capture completed
(fprintd:42072): libfprint-image_device-DEBUG: 07:23:40.938: Deactivating image device
(fprintd:42072): libfprint-image_device-DEBUG: 07:23:40.938: Image device internal state change from FPI_IMAGE_DEVICE_STATE_CAPTURE to FPI_IMAGE_DEVICE_STATE_DEACTIVATINGI also tried using libfprint-git from the AUR but I get the same results. Anything thoughts are welcomed.
For reference:
fprintd 1.94.5-1
libfprint 1.94.9-1 or libfprint-git 1.94.9.r8.g596b5f8-1
xfce4-screensaver 4.20.1-1
% lsusb -v
...
Bus 003 Device 003: ID 08ff:2550 AuthenTec, Inc. AES2550 Fingerprint Sensor
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 8
idVendor 0x08ff AuthenTec, Inc.
idProduct 0x2550 AES2550 Fingerprint Sensor
bcdDevice 19.00
iManufacturer 0
iProduct 1 Fingerprint Sensor
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)The only pam.d file I modified is /etc/pam.d/xfce4-screensaver
auth sufficient pam_fprintd.so
auth include system-auth
-auth optional pam_gnome_keyring.soLast edited by graysky (2025-11-08 08:09:04)
Offline
I ended up replacing this with a Digital Persona 88003-001U.are.u 4500 and it just worked. Both devices are listed on the supported hardware page from fprintd btw. For reference:
# lsusb -v
...
Bus 003 Device 003: ID 05ba:000a DigitalPersona, Inc. Fingerprint Reader
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x05ba DigitalPersona, Inc.
idProduct 0x000a Fingerprint Reader
bcdDevice 1.03
iManufacturer 1 DigitalPersona, Inc.
iProduct 2 U.are.U® 4500 Fingerprint Reader
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 200mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 8
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)Last edited by graysky (2025-11-08 08:10:41)
Offline