Fix Elan Fingerprint Reader
🛠️ Fixing ELAN Fingerprint Reader (04f3:0c00) on Linux (Ubuntu/Fedora)
If you’re using a laptop like the HP 250 G9 with an ELAN fingerprint reader (04f3:0c00) and it’s not showing up or working on Linux, you’re not alone.
Out of the box, most ELAN fingerprint sensors are not supported by the default libfprint driver. But thanks to the awesome work by the community, there’s a working solution using a custom branch!
This guide shows how to clone, build, and install support for ELAN fingerprint readers using the elanmoc2 branch of libfprint.
🔍 Check Your Device
First, confirm your fingerprint device is indeed from ELAN:
1
lsusb | grep -i elan
Example output:
1
Bus 003 Device 002: ID 04f3:0c00 Elan Microelectronics Corp. ELAN:ARM-M4
Take note of the ID (in this case, 04f3:0c00).
📦 Prerequisites
Install build tools and dependencies.
On Ubuntu/Debian:
1
2
3
sudo apt install \
libglib2.0-dev libgusb-dev libgirepository1.0-dev libpixman-1-dev \
libnss3-dev libgudev-1.0-dev gtk-doc-tools meson ninja-build
On Fedora:
1
2
3
sudo dnf install \
glib2-devel libgusb-devel gobject-introspection-devel \
pixman-devel nss-devel libgudev-devel gtk-doc
🧪 Clone and Build the Driver
1
2
3
git clone https://gitlab.freedesktop.org/depau/libfprint.git
cd libfprint
git switch elanmoc2
Then build and install:
1
2
3
4
meson setup builddir
cd builddir
ninja
sudo ninja install
🔧 Fedora-Specific Step
If you’re on Fedora, add this to ensure libraries in /usr/local/lib64 are found:
1
2
echo -e "/usr/local/lib\n/usr/local/lib64" | sudo tee /etc/ld.so.conf.d/local.conf
sudo ldconfig
🔁 Restart the Fingerprint Service
1
sudo systemctl restart fprintd.service
✋ Enroll Your Fingerprint
1
fprintd-enroll
Follow the prompt to scan your finger. If it succeeds — you’re done!
💡 Troubleshooting
❌ Getting “Duplicate” error?
If you get a “duplicate” message when trying to enroll:
- Delete fingerprints manually:
1 2
rm -rf ~/.fprint sudo rm -rf /var/lib/fprint
- Restart the service:
1
sudo systemctl restart fprintd.service - Enroll again:
1
fprintd-enroll
🎉 Success!
You now have your ELAN fingerprint reader working on Linux! You can use it for:
- Logging in
- Unlocking the screen
- Authenticating
sudocommands - And more
Credit: This fix uses the work from depau/libfprint and the elanmoc2 branch.
