TBC: How to setup fingerprint scanner on Arch-based Linux (Arch, Manjaro, Antergos etc.)

1. Intro & prerequisites - AUR & yaourt

The easiest way to install a fingerprint scanner software on Arch and Arch-based distros is using AUR (Arch User Repository). AUR is a repository of packages submitted by Arch users community. The package we'll be using in this tutorial is called fingerprint-gui


I recommend installing an AUR helper to deal with packages from this repository as installing them manually is time-consuming and unneeded most of the times.

The AUR helper I personally recommend is yaourt and this is the tool we'll be using in this tutorial.

To install yaourt, run the following commands:

Step-by-step method:


1.1. Login to sudo-enabled user. 
> su admin
NOTE: This user cannot be root 

1.2. Make sure you have both git (downloading packages from AUR) and base-devel (building packages) installed on your system
> sudo pacman -Syu git base-devel

1.3. Create temporary directory for the installation files and enter it
> mkdir /tmp/yaourt
> cd /tmp/yaourt

1.4. Download a copy of package-query git repository and enter it
> git clone https://aur.archlinux.org/package-query.git
> cd package-query

1.5. Build and install the package-query package; exit the directory afterwards
> makepkg -si
> cd ..

1.6. Download a copy of yaourt git repository and enter it
> git clone https://aur.archlinux.org/yaourt.git
> cd yaourt

1.7 Build and install the yaourt package; exit tho /tmp afterwards
> makepkg -si
> cd /tmp

1.8. Clean up unneeded files
> sudo rm -r yaourt

Fuck it, I know how Linux work method:


> sudo pacman -Syu git base-devel

> cd /tmp/ && git clone https://aur.archlinux.org/package-query.git

> cd package-query && makepkg -si && cd /tmp/

> git clone https://aur.archlinux.org/yaourt.git

> cd yaourt && makepkg -si && cd /tmp && mkdir -r /tmp/yaourt

You can find more info about yaourt, syntax, usage, switches etc. here

Yaourt command can be run from a non-sudo user. To install any package from AUR you will have to provide root password when asked by the system (example below):



2. Installing fungerprint-gui from AUR using yaourt

To install fingerprint-gui, a package responsible for scanning fingerprints and passing them to your login manager, all you need to do now is to run a single command with yaourt

> yaourt fingerprint-gui --noconfirm 

Please note you will be asked for your password halfway through the installation as yaourt will enter fakeroot environment. 

I like to add --noconfirm switch to my yaourt commands as most of the time there's no need to edit the configuration files during package installations. You can safely ignore it if you wish to edit something (and/or break something) or see exactly how the installation process from AUR works.


3. Optional: Getting the right drivers for your fingerprint reader

Fingerprint-gui comes by default with a bunch of drivers (fprint library) for the most popular fingerprint readers found in modern. You can check on the following list if your device is supported out-of-the-box. 

VendorExample ProductUSB Vendor IDUSB Product IDDriver
ASUSF3Sv laptop embedded08ff1600aes1610
ASUSR1F tablet embedded04832016upekts
ASUSZ37E laptop embedded147e2016upeksonly
?AuthenTecAES2550 standalone USB scanner08ff2550aes2550
Cherry?SmartTerminal SFR-1244U04832015upektc
CovadisAlya05ba000auru4000
CovadisAtria05ba000auru4000
DigitalPersonaU.are.U 4000 Reader05ba0007uru4000
DigitalPersonaU.are.U 4000B/4500 Reader05ba000auru4000
DigitalPersonaU.are.U Fingerprint Keyboard05ba0008uru4000
Fujitsu-SiemensFP-Sensor S26381-K342-V1 GS:0108ff2580aes2501
Fujitsu-SiemensLifebook S711008ff2580aes2501
HP2510p laptop embedded08ff2580aes2501
HP6510b laptop embedded08ff2580aes2501
HP6710b laptop embedded08ff2580aes2501
HP6910p laptop embedded08ff2580aes2501
HP8710w laptop embedded08ff2580aes2501
HPnc6400 laptop embedded08ff2580aes2501
HPnx6125 laptop embedded08ff2580aes2501
HPnx6325 laptop embedded08ff2580aes2501
HPnw9440 laptop embedded08ff2580aes2501
HPPavilion dv6640ew laptop embedded08ff2580aes2501
HPPavilion HDX9494nr laptop embedded08ff2580aes2501
HPPavilion tx1302au tablet embedded08ff1600aes1610
HPPavilion tx2108ca laptop embedded08ff1600aes1610
IBMThinkPad T43p embedded04832016upekts
IBMThinkPad T61 embedded04832016upekts
IBMThinkPad X41 embedded04832016upekts
IBMThinkPad X60 embedded04832016upekts
LenovoV100 laptop embedded08ff1600aes1610
Lenovo3000 N100 laptop embedded08ff2580aes2501
Lenovo?ThinkPad R61i laptop embedded147e2016upeksonly
MedionMD8526408ff2580aes2501
MicrosoftKeyboard with Fingerprint Reader045e00bburu4000
MicrosoftWireless Intellimouse with Fingerprint Reader045e00bcuru4000
MicrosoftFingerprint Reader045e00bduru4000
MicrosoftFingerprint Reader045e00cauru4000
Precise Biometrics100 XS08ff2580aes2501
SamsungP35 laptop embedded04832015upektc
SamsungX65 laptop embedded08ff1600aes1610
SonySZ61VN embedded147e2016upeksonly
System76Pangolin laptop embedded147e2016upeksonly
TargusPA460U DEFCON Authenticator08ff5501aes4000
ToshibaA-105 laptop embedded04832016upekts
UPEKEikon04832016upekts
Veridicom5thSense061a0110?vcom5s
VerinexXM55005ba000auru4000
VerinexXM57005ba000auru4000

If you don't know your device name/manufacturer/ID, you can run a command lsusb 

> lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 04f3:0903 Elan Microelectronics Corp. 
Bus 001 Device 003: ID 8087:0a2b Intel Corp. 
Bus 001 Device 002: ID 0bda:58e4 Realtek Semiconductor Corp. 
Bus 001 Device 012: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

As you can see, my ASUS UX430 has Elan Microelectronics Corp. fingerprint reader installed with a vendor ID of 04f3 and product ID 0903. This means my fingerprint reader will not work with the default fprint drivers.

If you're out of luck as myself, you can always check the AUR repository for alternative/beta drivers, which in my case turned out to be libfprint-elantech). All I had to do to get my fingerprint reader to work was to run:

> yaourt libfprint-elantech --noconfirm

NOTE: As this package turned out to be a fork of libfprint, I had to remove it during the installation.


To be continued... 


Popular posts from this blog

Setting up a simple Linux VM for internal routing within virtual environment