Skip to content

Give a clear diagnosis when libfprint has no driver for the detected fingerprint reader - #11842

Open
busbyjon wants to merge 1 commit into
omacom:quattrofrom
busbyjon:fingerprint-no-driver-diagnosis
Open

busbyjon wants to merge 1 commit into
omacom:quattrofrom
busbyjon:fingerprint-no-driver-diagnosis

Conversation

@busbyjon

Copy link
Copy Markdown

Summary

  • Fixes Fingerprint setup gives no diagnosis when libfprint has no driver for the detected reader #11841: omarchy setup security fingerprint sends readers with no libfprint driver at all (e.g. Goodix TLS-encrypted sensors like 27c6:55b4 on the ThinkPad L13 Yoga Gen 3) through fprintd-enroll and tells the user to "try again" on failure — advice that can never work, since libfprint has nothing to enroll against.
  • Adds an fprintd-list "$USER" check before enrollment. It reliably exits 1 with "No devices available" when libfprint has no driver for the detected reader (verified against fprintd's own source). On that path, print a clear message pointing at the supported-devices list and the Discord instead of attempting enrollment.
  • This generalizes a case the script already anticipated in a comment for Elan MOC sensors outside the elanmoc table — same failure mode, different vendor.

Test plan

  • Added fprintd-list stub and a new case to test/shell.d/fingerprint-package-test.sh covering the zero-driver path
  • bash test/shell.d/fingerprint-package-test.sh — all 6 cases pass
  • bash test/shell (full shell suite) — no new failures; the 5 pre-existing failures (config-test.sh, snapper-test.sh, unowned-system-paths-test.sh, locate-test.sh, bar-widget-contract-test.sh) reproduce identically on a clean checkout with this change stashed out, and are caused by environment setup unrelated to this change (missing OMARCHY_PKGS_PATH checkout, a stray non-UTF8 file, and one flaky run)
  • Reproduced and fixed on real hardware: ThinkPad L13 Yoga Gen 3, Goodix 27c6:55b4

🤖 Generated with Claude Code

https://claude.ai/code/session_01SMHmPqFQQroLFtP5t8Athe

omarchy-hw-fingerprint only proves a reader is present, not that
libfprint can drive it. Readers like Goodix TLS-encrypted sensors
(27c6:55b4, found on the ThinkPad L13 Yoga Gen 3) or an Elan MOC sensor
outside the elanmoc table enumerate on USB but have no libfprint driver
at all, so enrollment fails no matter how many times it's retried.

Check fprintd-list before attempting enrollment and bail with a clear
message when it reports zero devices, instead of sending the user
through fprintd-enroll and telling them to try again.

Fixes omacom#11841

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SMHmPqFQQroLFtP5t8Athe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fingerprint setup gives no diagnosis when libfprint has no driver for the detected reader

1 participant