Achimd1
Hi , There
Troubleshooting Steps (CachyOS + Fish Shell + EH577 / 1c7a:0577 Fingerprint)
Root issue first:
fprintd.socket unit does not exist on your system. Stop running systemctl enable --now fprintd.socket, this command will always fail. We will use direct fprintd launch instead of socket activation.
Step 1 Remove conflicting official libfprint
sudo pacman -Rns libfprint
pacman -Qs libfprint
Delete any extra libfprint variants like libfprint-tod / libfprint-elanmoc2 if listed.
Step 2 Clean and recompile eh577-libfprint driver
cd ~/eh577-libfprint
bash setup.sh clean
bash setup.sh
Watch the log carefully. Confirm the EgisTec Windows firmware DLL downloads completely without errors. The sensor will not initialize if firmware download fails.
Step 3 Create valid udev rule (Fish compatible, clean ASCII characters)
sudo mkdir -p /etc/udev/rules.d
echo ‘SUBSYSTEM==“usb”, ATTRS{idVendor}==“1c7a”, ATTRS{idProduct}==“0577”, MODE=“0664”, GROUP=“input”, TAG+=“systemd”’ | sudo tee /etc/udev/rules.d/60-egis-eh577.rules
Verify rule content
cat /etc/udev/rules.d/60-egis-eh577.rules
sudo udevadm control –reload-rules
sudo udevadm trigger
Step 4 Configure user permissions & full reboot
sudo usermod -aG input $USER
sudo reboot
Full system reboot is required. Screen lock only will NOT apply group permissions.
Step 5 Debug mode (Do NOT use fprintd.socket command anymore)
After reboot:
Terminal 1 (keep this window open):
sudo systemctl stop fprintd
sudo fprintd -v
Terminal 2 (new separate window):
fprintd-list $USER
Share the full verbose log from Terminal 1 if the fingerprint device is still missing.
Optional: Persistent auto-start service (If device works in debug mode)
Create custom systemd service to auto-launch fprintd on boot:
sudo nano /etc/systemd/system/fprintd-auto.service
Paste below content:
[Unit]
Description=Fprintd Fingerprint Service
After=udev.service
[Service]
ExecStart=/usr/bin/fprintd
Restart=on-failure
[Install]
WantedBy=multi-user.target
Save and exit (Ctrl+O → Enter → Ctrl+X)
sudo systemctl daemon-reload
sudo systemctl enable –now fprintd-auto.service
Extra verification commands
lsusb -d 1c7a:0577
ls -l /dev/bus/usb/$(lsusb -d 1c7a:0577 | awk ‘{print $2″/"substr($4,1,length($4)-1)}’)
Check USB device read/write permissions for the input group.
Important Notes
- The red highlighted
1c7a:0577 in lsusb output is just terminal syntax highlighting. Your fingerprint USB hardware is detected normally.
- Never copy commands directly from forum web pages. Web pages replace normal dash
- with unicode long dash – and cause command failures. Type manually or copy plain text only.
- Do not mix this custom eh577-libfprint driver with other third-party libfprint packages from AUR, conflicts will break functionality.