---
# System prepended metadata

title: 'Update libfprint for device ETU905A88-E (1c7a:0584) Ubuntu 24.04'

---

# Update libfprint for device ETU905A88-E (1c7a:0584) Ubuntu 24.04

## Device specifications

* Acer SwiftGo14 (SFG14-74)
* fingerprint device: `1c7a:0584 LighTuning Technology Inc. ETU905A88-E`
* KDE Neon 6.17.0 (Ubuntu 24.04 based)

## Problem

The default version provided by apt: `1:1.94.7+tod1-0ubuntu5~24.04.5`

However, this version doesn't support device `ETU905A88-E` yet.
![image](https://hackmd.io/_uploads/BkAzN9TFZl.png)

So we need to build from source.

I've tried newer version from official repository (v1.94.10):
https://gitlab.freedesktop.org/libfprint/libfprint/-/releases
However, it seems that this device is only partial supported.

Log shows when verifying enrolled fingerprint: 
```
Print was not found on the devices storage.
```

**In my understanding:**
This is a Match-on-Chip (MoC) fingerprint sensor, 
which means fingerprint data is stored on device itself instead of as system files.
In addition, it requires special protocol to communicate with the device (sdcp),
which it is not officially supported yet by upstream driver.
As a result, though fingerprint enrollment seems completed without error, 
the fingerprint data is never really being written to device storage.

Fortunately, there is a third-party repository that has fixed the issue:
https://github.com/TenSeventy7/libfprint-egismoc-sdcp

## Fix

#### Install dependencies
```nginx!
sudo apt install meson ninja-build build-essential pkg-config libglib2.0-dev libgusb-dev libnss3-dev libpam-dev libudev-dev libusb-1.0-0-dev
```

#### Clone repository & cd into directory
```bash=
git clone https://github.com/TenSeventy7/libfprint-egismoc-sdcp.git
cd libfprint-egismoc-sdcp
```

####  Build & install:
```nginx
meson setup builddir
```
Process might fail with missing dependencies, install them following error outputs.

```nginx
ninja -C builddir
```

then, 
```bash=
sudo ninja -C builddir install
sudo ldconfig
```

#### install fprintd

```nginx
sudo apt install fprintd libpam-fprintd
```

If already installed, restart service
```nginx
sudo systemctl restart fprintd
```

## Check install status

```nginx
ldd /usr/libexec/fprintd | grep fprint
```

make sure it's using `libfprint-2.so.2` file under `/usr/local/lib/` instead of `/lib/`
![image](https://hackmd.io/_uploads/BkKJfoTF-g.png)


## Utilities 

enroll:
```
fprintd-enroll
```

verify:
```
fprintd-verify
```

## Related links

https://www.reddit.com/r/linuxmint/comments/1n774ys/comment/ntv9dfj/
https://github.com/antoskuu/libfprint-egismoc-sdcp-fix?tab=readme-ov-file