Enable ThinkPad fingerprint sensor 138a:0097 for Ubuntu 20.04

稍微搜尋一下以後,發現 validity-sensors-tools 可以用,裡面指向的 3v1n0/libfprint 有提供 ppa, 但裝起來不動。看一下 log 會發現類似這樣的訊息:

1
Sep 24 20:31:30 ThinkPad-X1.localdomain fprintd[8281]: Expected len: 84, but got 108

找了一下發現這個 patch, 先用 apt-get source 抓 ppa 的 source code 下來,接 著用apt-get build-dep 抓編譯所需的其他 packages. 這邊碰到一個問題,由於上游已 經有比較新的版本了,會變成不需要 libfprint-2-tod-vfs0090, 這只要把相關 packages 版本都先 hold 在 1:1.90.1+tod1-0ubuntu4+vfs0090~f2 就可以解決。

成功抓下來之後,把 patch 打上去,debuild -i -us -uc -b, build 出來裝起來就會動 了。不過 libpam-fprintd 的預設是如果在 pam-auth-update 裡面勾起來,是可以用 來登入,這不是我想要的行為,所以就不勾,直接改 /etc/pam.d/sudo:

1
2
3
auth       sufficient pam_fprintd.so max_tries=1 timeout=5

@include common-auth

這樣 sudo 的時候比較方便,不用打落落長的密碼。