Skip to content

KoushikEng/libfprint-elan-04f3-0c00

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

libfprint ELAN:ARM-M4 (04f3:0c00) Fingerprint Driver

This repository contains a set of scripts to seamlessly build and install a patched libfprint driver for ELAN fingerprint sensors (specifically 04f3:0c00).

Special thanks to @Depau for the elanmoc2 branch making this possible.

To avoid cluttering your host system with build dependencies, the compilation happens entirely inside an ephemeral Ubuntu Docker container.

Prerequisites

  • Docker installed and running
  • sudo privileges

⚠️ Important Notes (don't skip)

  • Experimental: This does NOT guarantee your sensor works reliably.
  • Manual Installation: You're installing a patched driver outside the package manager (via /usr/local/).
  • Future Breakage: System updates to your distribution may break it later. You may occasionally need to run this build/install process again.

Detailed Steps

1. Install fprintd and PAM module

sudo apt update
sudo apt install fprintd libpam-fprintd

2. Build the driver

Simply run the build script. By default, it automatically detects your host's Ubuntu version using lsb_release or /etc/os-release and matches the container base image accordingly.

./build-libfprint-docker.sh

(Optional: You can manually override the target container version by passing it as the first argument, e.g., ./build-libfprint-docker.sh 22.04)

3. Install the driver

Once the Docker compilation is finished, the build script will interactively ask if you want to install it on your host machine.

If you choose Y, it will automatically trigger the install.sh sequence (which requires sudo). The installer does all the heavy lifting:

  • Copies artifacts into /usr/local/
  • Refreshes your linker cache (ldconfig)
  • Restarts the fingerprint daemon (systemctl restart fprintd)
  • Offers a workspace cleanup.

(If you skip this, you can always install it later manually using sudo ./install.sh or manually proceed with the steps below)

cd ~/libfprint-build/output
sudo cp -r usr/local/* /usr/local/
sudo ldconfig
sudo systemctl restart fprintd

4. Test your sensor

Try to enroll your fingerprint to ensure the daemon is actively picking up hardware calls:

fprintd-enroll
fprintd-verify

5. Enable Fingerprint Authentication

To allow unlocking your machine and authenticating sudo prompts with your fingerprint, update your host's Pluggable Authentication Modules (PAM):

sudo pam-auth-update

In the text menu that appears, make sure the "Fingerprint authentication" box has an asterisk [*] inside it (toggle with Spacebar), then hit Enter/Ok to save.

Enjoy! On your next login screen or sudo prompt, you can swipe your finger instead of typing a password.


⏪ How to revert (Clean rollback)

If the driver doesn't work, causes issues, or you just want to revert back to your operating system's stock setup, run these commands to cleanly remove the patched version:

sudo rm -rf /usr/local/lib/libfprint*
sudo ldconfig
sudo apt reinstall libfprint-2-2 fprintd

About

libfprint driver for ELAN 04f3:0c00 build with docker and install

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages