r/linux • • 3d ago

Tips and Tricks Found a guide on installing the driver for Elan fingerprint sensor 04f3:0c4b on Lenovo laptops (OpenSSL 3 required)

Original guide for Arch. Worked for a colleague on a different distro.

You can find two proprietary driver versions on the Lenovo website. One is the "Linux version" which requires OpenSSL 1.1 and the other is the "Ubuntu version" which requires OpenSSL 3. Both are .so libraries that work on any distro if the requirements are satisfied. Use the second one.

Depending on your distro, you also need to choose one way to obtain the libfprint-2-tod.so.1 library. Alternatively, you can build it from this source using meson/ninja.

Necessary udev rules:

SUBSYSTEM=="usb", ATTRS{idVendor}=="04f3", ATTRS{idProduct}=="0c4b", ATTRS{dev}=="*", TEST=="power/control", ATTR{power/control}="auto", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04f3", ATTRS{idProduct}=="0c4b", ENV{LIBFPRINT_DRIVER}="Elan Fingerprint Sensor"

this goes to /etc/udev/rules.d/60-libfprint-2-tod1-elan.rules.

After installing and restarting the services (or rebooting), you can use any usual ways to enroll fingerprint.

Just wanted to post this so that people with similar issues see.

11 Upvotes

2 comments sorted by

4

u/Strange_Professor497 3d ago

Worth flagging that those Lenovo .so blobs are tied to specific kernel versions, so you may get symbol errors after a kernel bump and have to reinstall them.

2

u/Choice-Notice-5491 3d ago

oh nice, been struggling with this sensor for months on my thinkpad. the openssl version mismatch was driving me crazy, never occured to me there's two different drivers on lenovo site

saved this for later, thanks