Update README.md - #17
Merged
Merged
Conversation
Add some failure recovery instructions, and instructions on how to enable pam fingerprint authentication.
uunicorn
reviewed
Jul 16, 2020
| # At this point you may or may find the device busy, depending on | ||
| # how systemctl plays along. Kill offending processes if necessary. | ||
|
|
||
| $ sudo systemctl start python3-validity |
Owner
There was a problem hiding this comment.
factory-reset.py causes the USB device to be disconnected and then reconnected back. I think udev rule will start the python3-validity automatically whenever it is reconnected even if you've stopped it manually before, so this line may not be required. But no harm in starting it twice anyway.
Owner
|
Thanks! |
SimpleX-T
added a commit
to SimpleX-T/python-validity
that referenced
this pull request
Jul 7, 2026
0xd51 / 0x969 chips can enter a "wedged capture-quality gate" state after long uptime + heavy dev cycles: every captured frame is rejected by the on-chip quality gate and no capture-complete interrupt is ever emitted, so sensor.identify() loops in wait_int() indefinitely. Nothing the daemon can do from userspace clears this — even sensor.cancel() only unblocks wait_int; the wedge itself survives systemctl restart. Recovery is a real cold power cycle (shutdown, unplug charger, hold power ~15s, boot). Historically the daemon-side identify() thread would keep running past pam_fprintd's 10s timeout, and diagnosing the state took ~30 minutes of guessing because the journal just showed retry-scan repetitions with no summary. Add a retry-count watchdog to VerifyStart's update_cb: after 25 consecutive retries with no capture-complete (typically 12-15s), log a specific warning naming the wedge condition and the required recovery path, and call sensor.cancel() to unblock the identify() thread. The outer except in run() then emits verify-no-match cleanly. 25 is empirically past the tail of a healthy verify (~2 retries typical, p95 = 2 in the task uunicorn#17 benchmark) with comfortable margin. Enrollment path is left alone — its retry-scans are per-stage user actions, not the same signature. Diagnosed on the maintainer's own 840 G5 (0xd51) after 4 days of uptime + a diagnostic init.open() that didn't clean up.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add some failure recovery instructions, and instructions on how to enable pam fingerprint authentication.