Thinkpad T480s/X1c 2018 Manjaro Sway(ArchLinux)安装指纹(ID 06cb:009a)

前提

我给旧的设备安装了Thinkpad X1C 2018安装了Manjaro Sway(Manjaro是基于ArchLinux的发行版,Sway是基于Wayland的平铺桌面)操作系统,但是指纹模块一直不能够正常工作,后来按照教程安装了fprintd,但是并不支持这款机器。

解决方案

查看设备

sudo pacman -S usbutils
lsusb
ID 06cb:009a Synaptics, Inc Metallica MIS Touch Fingerprint Reader

请查看下设备ID是否与我的机器一致,来判断接下来的步骤适不适合你的机器。如果不适合可以从网上搜索你的型号。对于其他Linux发行版可以查看文章底部的参考链接,也许有更方便的配置方案。

安装yay

接下来需要使用yay来安装AUR(Arch User Repository)下的一些包,在此之前我们先来安装yay。

sudo pacman -S yay

安装open-fprintd

在此之前请确保fprintd已经被卸载

sudo pacman -R libfprint
sudo pacman -R fprintd

使用yay安装open-fprintd

yay -S open-fprintd fprintd-clients python3-validity

这个过程可能会由于某些以来问题报错,根据报错信息安装相关依赖即可。

指纹读取器驱动

创建响应的文件

sudo touch /usr/share/python-validity/backoff
sudo touch /usr/share/python-validity/calib-data.bin

这里需要注意关闭防火墙比如firewalld,防火墙某些策略可能会导致下载失败

sudo systemctl stop firewalld

停止python3-validity服务,这一步特别重要

systemctl stop python3-validity

下载驱动

sudo validity-sensors-firmware

执行脚本程序

sudo python3 /usr/share/python-validity/playground/factory-reset.py
sudo chmod 0755 /usr/share/python-validity/6_07f_lenovo_mis_qm.xpfwext

可能某些原因导致在进行此操作的时候python3-validity重启,此时会提示device busy的错误,如果遇到这种情况,python3-validity github主页是这样说的

# At some of the above points you may get a 'device busy' error,
# depending on how systemctl plays along. Kill offending processes if
# necessary, or re-run the systemctl stop python3-validity command, 
# in case it has automatically been restarted, or or kill other
# offending processes.

你只需要再一次执行systemctl stop python3-validity即可解决问题。

最后启动服务

sudo systemctl enable python3-validity open-fprintd-resume open-fprintd-suspend
sudo systemctl start python3-validity open-fprintd-resume open-fprintd-suspend

登陆配置

到了这里,你的指纹模块应该能正常工作了,但是还不能用于登陆等身份验证,需要配置linux的相关文件

将pam_fprintd.so模块添加在/etc/pam.d/system-local-login文件auth字段最顶端,你可以用vim来编辑它

sudo vim /etc/pam.d/system-local-login

内容如下

auth      sufficient pam_fprintd.so
auth      include   system-login
...

这会首先尝试使用指纹登录,如果失败或在给定用户的主目录中找不到指纹数据,则继续进行密码登录。

如果你使用了GUI并采用其他桌面环境,此步骤还没完成,你需要继续对其他文件进行配置,请务必参考fprint - Arch Linux Wiki

录入指纹

同fprintd使用以下命令来录入指纹

fprintd-enroll

按照提示需要多次录入,直到出现completed即为完成。

验证指纹可以使用以下命令:

fprintd-verify

参考

最后修改:2025 年 02 月 07 日
如果觉得我的文章对你有用,请随意赞赏