Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,47 @@ $ sudo apt install open-fprintd fprintd-clients python3-validity
$ fprintd-enroll
```

### Error situations
If `fprintd-enroll` returns with `list_devices failed:`, you can check
the logs of the `python3-validity` daemon using `$ sudo systemctl status python3-validity`.
If it's not running, you can enable and/or start it by substituting `status` with `enable` or `start`.

It `systemctl status python3-validity` complains about errors on startup, you may need to factory-reset the fingerprint chip. Do that like so:
```
$ sudo systemctl stop python3-validity
$ sudo validity-sensors-firmware
$ sudo python3 /usr/share/python-validity/playground/factory-reset.py

# 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

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

$ fprintd-enroll
```

For even more error procedures, check [this Arch comment thread](https://aur.archlinux.org/packages/python-validity/#comment-755904) or [this python-validity bug comment thread](https://github.com/uunicorn/python-validity/issues/3).

## Enabling fingerprint for system authentication
To enable fingerprint login, if it doesn't come automatically, run
```
$ sudo pam-auth-update
```
and use the space-bar to enable fingerprint authentication.
The change will take effect immediately. At this point, the fingerprint
will be tried first, and only if that fails or times out will you see
a password prompt. Take note of the led-stripe above the fingerprint
sensor to see whether it is active.

### The actual change from pam-auth-update
The above mentioned command `$ sudo pam-auth-update` simply makes a small modification to /etc/pam.d/common-auth:

```
# In /etc/pam.d/common-auth, the following line is added, and the next line changed.
# The end result (apart from other things that may be in the file) is this:
auth [success=2 default=ignore] pam_fprintd.so max_tries=1 timeout=10 # debug
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
```

## Playground

This package contains a set of scripts you can use to do a low-level debugging of the sensor protocol.
Expand Down