You are not logged in.

#1 2025-11-05 12:43:05

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,721
Website

Inconsistent functionality of Verifi P2000 with fprintd [solved]

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=inherit

When 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_DEACTIVATING

I 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.so

Last edited by graysky (2025-11-08 08:09:04)

Offline

#2 2025-11-08 08:08:47

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,721
Website

Re: Inconsistent functionality of Verifi P2000 with fprintd [solved]

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

Board footer

Powered by FluxBB