Skip to content

Fingerprint reader fails on resume; insufficient resume strategy: proposal fix #254

@sidneijp

Description

@sidneijp

feat(systemd): add robust resume service for sensor re-initialization

Problem

Fingerprint sensor fails to re-initialize correctly after system suspend/hibernate on modern kernels. The python3-validity service loses its connection to the hardware or enters an inconsistent state, preventing fingerprint authentication upon resume.

Solution

Add a dedicated systemd resume service python3-validity-resume.service that explicitly restarts python3-validity.service and open-fprintd.service when the system wakes up. This ensures a clean state for the driver and the fprintd bridge.

Environment Information

Hardware

  • Device: Synaptics, Inc. Metallica MIS Touch Fingerprint Reader
  • USB ID: 06cb:009a
  • Host System: ThinkPad T480 (Model: <GENERIC_LAPTOP_MODEL>)

Software

  • OS: Ubuntu 26.04 LTS (Resolute Raccoon)
  • Kernel: 7.0.0-15-generic
  • Display Manager: SDDM 0.21.0 (KDE Plasma/Breeze)
  • PAM: libpam-modules 1.7.0, libpam-systemd 259.5
  • Related Services:
    • open-fprintd (0.7~ppa2)
    • python3-validity (0.15+)

Changes

  • Created debian/python3-validity-resume.service to trigger on resume targets.
  • Includes a D-Bus 'readiness gate' via ExecStartPost to ensure the driver is responsive before the service is marked finished.

Steps to Reproduce

  1. Complete hardware/firmware setup and enroll fingerprints.
  2. Verify initial fingerprint authentication works (e.g., sudo or login).
  3. Suspend the system (Sleep/Hibernate).
  4. Resume the system.
  5. Attempt fingerprint authentication.
    • Observed Behavior (without fix): Sensor is unresponsive or returns USBError [Errno 19]. User is forced to use password fallback.

Validation Steps

  1. Install the updated package including python3-validity-resume.service- from feat(systemd): add robust resume service for sensor re-initialization #255 .
  2. Suspend the system.
  3. Resume the system.
  4. Verify the python3-validity-resume.service triggered successfully: systemctl status python3-validity-resume.service.
  5. Verify fingerprint authentication works at the login/lock screen.
  6. Verify sudo <command> correctly prompts for fingerprint authentication (if enabled in PAM).

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