Skip to content

Problem with Fingerprint Registration on ThinkPad T470 (2017) with EndeavourOS (Arch Linux) #1

@bc09880

Description

@bc09880

Problem with Fingerprint Registration on ThinkPad T470 (2017) with EndeavourOS (Arch Linux)

Problem Description

Hello, I encountered an issue when trying to register fingerprints on a ThinkPad T470 (2017) running EndeavourOS (based on Arch Linux). After following all the recommended steps from the Arch Linux Wiki and the repository ThinkPad-fingerprint-auth on GitHub, I faced a failure when trying to register the right index finger.

  • Error: enroll-failed when trying to register right-index-finger
  • Log error: Exception: Failed: 04c3 in python3-validity service

The left index finger registered without any issues, but the right index finger failed consistently.

Diagnosis

The 04c3 error in the python-validity service indicates a problem with the internal database of the sensor, likely due to previous corrupted registrations. After further investigation, I found that completely clearing the database fixed the problem.

Solution That Worked

1. Clear the Fingerprint Database

The first thing I tried was deleting all registered fingerprints, as this is a common step for resolving issues with corrupted records. This is necessary after successfully enabling the python3-validity service:

fprintd-delete $USER

Expected result: Fingerprints deleted on DBus driver

2. Verify that No Fingerprints Were Registered

After clearing the database, I checked that no fingerprints remained registered by running:

fprintd-verify

Expected result: No fingers enrolled for this device.

3. Try Registering the Fingerprints Again

After clearing the database and confirming it was empty, I resumed the fingerprint registration process. I first registered the left index finger (which worked without issues), then I tried registering the right index finger.

Register Left Index Finger:
fprintd-enroll -f left-index-finger

Expected result: enroll-completed (successful registration)

Register Right Index Finger (after clearing the database):
fprintd-enroll -f right-index-finger

Expected result: enroll-completed (successful registration after clearing the database)

Lessons Learned

What DIDN'T Work:

  • Simply running fprintd-enroll did not resolve the issue. The fingerprint registration wouldn’t complete, and the error kept occurring.
  • Trying to register right-index-finger multiple times without clearing the database.
  • Using the incorrect command sudo fprintd-delete right-index-finger (instead of clearing the entire database with $USER).
  • Restarting the services alone without clearing the database.

What DID Work:

  • Completely clearing the database with fprintd-delete $USER.
  • Starting fresh with all records deleted.
  • First registering the finger that worked (left index), and then the problematic one (right index).

Key Commands to Remember

Here are some of the most useful commands when working with fingerprints in Linux and fprintd:

# List registered fingerprints
fprintd-list $USER

# Delete all fingerprints for the user
fprintd-delete $USER

# Register a specific fingerprint
fprintd-enroll -f [finger-name]

# Verify registered fingerprints
fprintd-verify

# Check service status
sudo systemctl status python3-validity

Common Problems and Solutions

1. Error Failed: 04c3 During Registration

This error is typically related to communication issues between the sensor and the system, likely due to corrupted data in the database.

Solution:

  1. Clear the database:

    fprintd-delete $USER
  2. Verify that the database is empty:

    fprintd-verify

2. Finger Compatibility Issues

Sometimes, some fingers register without issues, while others fail.

Solution:

  • The fingerprint pattern of each finger may vary. It's recommended to register the finger that works well first, and then proceed with the others.

3. USB Timeout Errors

You might encounter errors related to USB, such as:

ERROR:root[655]: Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/validitysensor/usb.py", line 130, in wait_int
resp = self.dev.read(131, 1024, timeout=100)

Solution: These errors are often intermittent and do not affect the overall functioning of the sensor.

Final Results

  • Successful registration of the left index finger.
  • Successful registration of the right index finger after clearing the database.
  • Verification works correctly.
  • ✅ The python3-validity service is stable and functioning properly.

Useful Diagnostic Commands

If you need to diagnose further issues or check the sensor's status, these commands may be useful:

# View real-time logs
journalctl -u python3-validity -f

# Check detailed status of the python-validity service
sudo systemctl status python3-validity

# List connected USB devices
lsusb | grep -i validity

# Verify registered fingerprints
fprintd-verify

Important Notes

  • Syntax error in commands: The fprintd-delete command should be used with the username, not with the fingerprint name.
  • Permissions: Some commands require sudo, while others should not be run as superuser.
  • USB errors persistence: USB communication errors are common but do not affect the general functionality of the sensor.
  • Compatibility: Different fingers may have different success rates with the same sensor.

Final Lessons

  1. Always clear previous data when experiencing registration errors.
  2. Some fingers register better than others, so it's useful to try different ones.
  3. Intermittent USB errors do not affect the overall functioning of the sensor.
  4. Patience is key: Some fingers may require multiple attempts.
  5. Verify the system status after each change to ensure the process is working.

With this solution, the fingerprint sensor on my ThinkPad T470 is now functioning steadily and reliably for fingerprint authentication on EndeavourOS.

Working:

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions