4

I'm trying to use the fingerprint sensor of my HP Envy 04f3:0c4c Elan Microelectronics Corp. It seems to be supported in a branch of fprint:

If you have a 04f3:0c4c or a 04f3:0c00 use the experimental package libfprint-elanmoc2-newdrvs-gitAUR from libfprint-elanmoc2-newdrvs waiting to be merged into libfprint-elanmoc2 which is also waiting to be merged into the main libfprint.

https://wiki.archlinux.org/title/Fprint

I successfully compiled the driver...and now it's sitting in the build dir and I don't know how to add it to my Ubuntu 22.04. Can someone point me to the next step? Thanks!

2 Answers2

1

Here are my build and install steps. Verified on HP Envy 17

#apt install meson ninja ninja-build libgusb-dev libgirepository1.0-dev libnss3-dev libgudev-1.0-dev gtk-doc-tools valgrind
#ldconfig
$git clone https://gitlab.freedesktop.org/geodic/libfprint.git
$cd libfprint/
$git switch elanmoc2
$git pull
$meson build
$cd build
$ninja
$sudo ninja install
Uvigii
  • 11
1

I have a Lenovo that has the same fingerprint reader built into the power button. The following link is the method I have shared on this forum that it working for my laptop.

https://askubuntu.com/a/1488580/1737945

How to enable 0c4b ELAN FingerPrint Driver for Ubuntu 22.04 64bit. A common fingerprint reader on Lenovo laptops.

Confirm the device in a terminal.

$ lsusb |grep Elan
Bus 003 Device 002: ID 04f3:0c4b Elan Microelectronics Corp. ELAN:Fingerprint

or

$ hwinfo | grep Fingerprint
Device: usb 0x0c4b "ELAN:Fingerprint"

After confirming your device is the 0c4b, download the drive from the Lenovo support site.

Google search: "ELAN FingerPrint Driver for Ubuntu 22.04 - ThinkPad E14 Gen ..."

or

use the following link: https://support.lenovo.com/us/en/downloads/ds560939-elan-fingerprint-driver-for-ubuntu-2204-thinkpad-e14-gen-4-e15-gen-4

Download the driver "ELAN FingerPrint Driver r1slf01w.zip"

The site will ask for a serial number on the first try, ignore this by clicking cancel on the pop-up screen & click download again. On the second try it will download the zip file without the popup asking for a serial number.

Extract the zip file & open a terminal in the extracted folder. The only contents of the folder should be "libfprint-2-tod1-elan.so".

In the terminal:

(Assumed location of download, may be different on your system)

$ cd ~/Download/r1slf01w/libfprint-2-tod1-elan_0.0.8_Ubuntu22.04

(best practice before any new install of applications)

$ sudo apt-get update && sudo apt-get upgrade

(This installs the fprint library & ssl tools. Note that libssl3 should already be installed on Ubuntu 22.04 fresh install, so may be no need to install libssl3)

$ sudo apt install libfprint-2-tod1 libssl3

(Create a directory for the system to access the driver)

$ sudo mkdir -p /usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/

(Copy the driver into the new folder)

$ sudo cp libfprint-2-tod1-elan.so /usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/

(Restart the fprint service to load the new driver)

$ sudo systemctl restart fprintd.service

(Exit the terminal)

$ exit

Go to settings, select "Users" & enable "fingerprint login". Click the marker to the right of "Enabled" & Enroll fingerprints.

  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review – sotirov Oct 10 '23 at 16:51
  • @leroygbiv May I ask if you are using a Multi-Boot-Enviroment (like me)? I think I remember that the experimental fprint-driver always deletes the enrolled fingerprints so the fingerprint reader stops working in Windows... – wintermute Oct 12 '23 at 07:44
  • @wintermute No, my system is Linux only. Its never dropped a scan yet, I have had no issues with it. The process above is the recommend install via Lenovo. The only thing is they only provide it for the models that come OEM installed with Ubuntu 22.04 LTS. – leroy gbiv Oct 13 '23 at 09:39