Nothin' but Slackware

バイクとLinuxに戯れる日々

2019年08月

HP EliteBook 840 G1 の指紋認証デバイス(まとめへの追記)

3機種目の指紋認証デバイス付きラップトップ( HP EliteBook 2560p)を入手して、これまで確認したインストール手順が通用するか確認した。

lsusb の出力によるデバイス認識結果は
 ID 138a:003c  Validity Sensors, Inc.  VFS471 Fingerprint Reader
※プロプライエタリなドライバが無いとどう再しないデバイス

これまでと同様に、 Slackware64-currentをインストールした環境に Linux-pam,  プロプライエタリドライバー、libfprint w/ validity patch, fprintd をインストールして、結果、指紋認証によるログインが動作することを確認できた。
これで、
1) Device ID 138a:003f   Validity Sensors, Inc. VFS495 (HP EliteBook 840G1)
2) Device ID 138a:0017  Validity Sensors, Inc. VFS5011 (ThinkPad X250)
3) Device ID 138a:003c  Validity Sensors, Inc. VFS471 (HP EliteBook 2560p)
の3種のデバイスでの動作を確認した。
1),3) はプロプライエタリなデバイス。 2)は libfprint upstreamのサポートデバイスである。
少なくとも Slackwareにおけるインストール手順、考え方は間違っていないであろう。

ただ、入手可能なプロプラなドライバは VFS495以前の枯れたハードウェアであり、2018年モデルの
 ThinkPad X1 Carbonとか HPの最新のラップトップなどは未だにLinuxでは動作不可である。
libfprint upstreamでのリバースエンジニアリングに期待するしかないか。

gcc-9.2.0 from Slackware64-current upstream

Slackware64-current のgccが9.2.0にアップデートされたので、現環境にインストールして
カーネル5.2.8をコンパイルした。問題無し。

Patは慎重派なのでglibcのupstream がアップデートしてもなかなかslackware64-currentには導入してくれない。
いま動作検証中だとは思うけど、新しいglibcは令和元号対応なので早く取り入れてほしいところ。

閑話休題
最近Plamolinuxがバージョン7.0リリース以降、頑張っている。PlamoはSlackware起源なのでSlackwareと
新和性は高いと考えられたので、バージョン7.0以降からSlackwareと同じPCにインストールして検証している。
今週からPlamo-MLに参加して検証結果を情報共有している。
MLにはPlamoの開発者も返信してくれるので、いろいろと勉強になる。

ちなみに、fingerprint deviceまわりのパッケージ作成をPlamoでしてみると、qt5, python, imagemagick関連で
コンパイルが止まってしまうことにしばしば遭遇した。
新和性は確かに高いと思われるが、いちどハマってしまうと知識のないわたしには解決策が見出せないことも多々ある。
しばらくは検証を続ける。

HP EliteBook 840 G1 の指紋認証デバイス(まとめのようなもの)

まさか、(その9)まで書くことになるとは思っていなかったので、情報が散逸しているため「まとめ」的なメモを残すことにした。

<A> vfs495(ID: 138a:003f)、vfs301(ID: 138a:0005)、vfs451(ID: 138a:0007)、vfs471(ID: 138a:003c)、vfs491(ID: 138a:003d)、vfs5111(ID: 138a:0010)、vfs5011(ID: 138a:0011)、vfs5131(ID: 138a:0018)のいずれかのみがサポートされればよい場合
[Step-1] Linux-Pam をインストールする

[Step-2] pam関連パッケージ作成とインストール
 必要に応じて、shadow, sudo, ConsoleKit, cracklib, screen, openssh, openvpn, xlockmore, xscreensaver 等をpamサポートオプションを付けてビルド&アップデート(cracklibは新規インストール)。
 筆者は、 shadow, sudo, cracklib, ConsoleKit, screen, xlockmore, xscreensaver, openssh, openvpn, polkit を入れた。

[Step-3] SuSE用プロプライエタリドライバをtxzに変換してインストール
 変換した txz形式パッケージはこれ。
 インストール後、 /usr/lib64/以下にシンボリックリンクを作成する。
# cd /usr/lib64
# ln -s libcrypto.so.1.1 libcrypto.so.0.9.8
# ln -s libssl.so.1.1 libssl.so.0.9.8

[Step-4] libfprint-0.0.6 with validity-patch をインストール
 vfs495.tar を入手する。(元ソースの場所)(念のためのローカルバックアップ
 1) libfprint-0.0.6 ソースにパッチを当ててインストール。パッケージ作成用の SlackBuild
 2) pam_fprint をインストール(作成したパッケージ
 3) fprint_demo をインストール(作成したパッケージ

[Step-5] pam 設定ファイル作成
 1) /etc/pam.d/system-auth
  エディタで /etc/pam.d/system-auth を開いて、最上位に以下の行を追加する。
  auth     sufficient     pam_fprint.so
 2) /etc/pam.d/system-local-login
  エディタで /etc/pam.d/system-local-login ファイルを作成する。
  下記一行を記述する。
  auth     sufficient     pam_fprint.so

[Ste-6] /usr/lib64/security 以下にシンボリックリンクを作成する。
# cd /usr/lib64/security
# ln -s ../../../lib/security/pam_fprint.so pam_fprint.so
# ln -s ../../../lib/security/pam_ckconnector.so
# ln -s ../../../lib/security/pam_ckconnector.la

[Step-7] プロプライエタリドライバの実行ファイル /usr/bin/vcsFPService機動用デーモン設定
 /etc/rc.d/に rc.vcsFPServiceDaemon を配置する。

[Step-8] 指紋データ登録
 1) PC再起動
 2) root にパスワード・ログイン
 3) # pam_fprint_enroll
 4) 一般ユーザーにパスワード・ログイン
 5) $ pam_fprint_enroll


<B> 上記<A>にlibfingerprint upstream の supported-devicesを加えた統合的なドライバをインストールしたい場合

※{Step-1]~[Step-3]までは同じ
[Step-9] プロプライエタリ・デバイスを含んだ統合的な libfprint-0.99.0 をインストール
 integrated_libfprint-buildを用いてライブラリを作成しインストールする

[Step-10] fprintd-0.8.1 をインストール
 fprintd-0.8.1をビルド&インストールする。(これにpamモジュールも含まれている)

[Step-11] pam 設定ファイル作成
 1) /etc/pam.d/system-auth
  エディタで /etc/pam.d/system-auth を開いて、最上位に以下の行を追加する。
  auth     sufficient     pam_fprintd.so
 2) /etc/pam.d/system-local-login
  エディタで /etc/pam.d/system-local-login ファイルを作成する。
  下記一行を記述する。
  auth     sufficient     pam_fprintd.so

[Step-12] 指紋データ登録
 1) PC再起動
 2) root にパスワード・ログイン
 3) # fprintd-enroll
 4) # fprintd-enroll <一般ユーザー名>

[Step-13](Optional) fingerprint-GUI
 qt5 がインストールされている環境であれば、 fingerprint-GUI ツールを使うことも出来る。
$ git clone https://github.com/Tilka/fingerprint-gui
$ cd fingerprint-gui
$ sh qmake.sh
$ make 
$ su -
# mkdir <PKG-DIR>
# make install INSTALL_ROOT=<PKG-DIR>
# cd <PKG-DIR>
# makepkg ../fingerprint-gui-1.09-x86_64-1.txz

[Step-14] pam設定
 # nano /etc/pam.d/su
 下記の一行をTOPに追加
 auth    sufficient    pam_fingerprint-gui.so

04_fprint-fingerprint-gui
 

(関連リンク)

HP EliteBook 840 G1 の指紋認証デバイス(その9)

今更ではあるが、libfprint-0.0.6に摘要するパッチ(libfprint-validity.patch)の内容をよく見ると、下記のような記述箇所があった。

+#define VALIDITY_VENDOR_ID          0x138A
+#define VALIDITY_PRODUCT_ID_301     0x0005 
+#define VALIDITY_PRODUCT_ID_451     0x0007
+#define VALIDITY_PRODUCT_ID_5111    0x0010
+#define VALIDITY_PRODUCT_ID_5011    0x0011
+#define VALIDITY_PRODUCT_ID_471      0x003c
+#define VALIDITY_PRODUCT_ID_5131    0x0018
+#define VALIDITY_PRODUCT_ID_491      0x003d
+#define VALIDITY_PRODUCT_ID_495      0x003f
+#define VALIDITY_DRIVER_FULLNAME    "Validity Sensors"
+#define VALIDITY_FP_COMPONENT       "Validity"

つまり、このプロプラなドライバは筆者所有の HP840G1の指紋認証デバイス vfs495(ID: 138a:003f)だけじゃなくて、vfs301(ID: 138a:0005)、vfs451(ID: 138a:0007)、vfs471(ID: 138a:003c)、vfs491(ID: 138a:003d)、vfs5111(ID: 138a:0010)、vfs5011(ID: 138a:0011)、vfs5131(ID: 138a:0018)にも対応するのではないかということ。
気付くの遅すぎだが、自分のPC以外のことには無関心だったからね。
ということで、上記デバイスを持つPCユーザーにとっては希望が持てると思う次第。

ThinkPad X250 液晶を‘FHD(1920x1080)化および天板交換

ThinkPad X250 の駅sh付トップカバー(所謂、天板)があまりに傷だらけだったので、新品に交換。 で、どうせ液晶をむき出しにするならついでに、ということで液晶も従来のHD(1366x768)からFHD(1920x1080)に交換した。
 液晶取り外し、天板取り外し作業はそれほど難しくはないが、元通りに戻すことを念頭に置きながら
部品を外して整理しておくことが重要。
作業は問題なく終了し、外観的には新品同様になった。だが、B5ノートサイズでのFHDはコンソール文字サイズがかなり小さくなり、老眼のわたしにはちょっと無理があったかも。
 そのうち、英語キーボードに交換・・・という悪魔の囁きが聞こえる。(その方向に走り過ぎると本体を格安で入手した意味がなくなる。)

glibc-2.30 released at upstream

新元号「令和」をサポートしているバージョンです。 Slackware64-current に取り込まれるのを心待ちにしています。
このバージョンのもとでは、下記 date コマンドを入力するとこのように表示されます。

$ date +%Ex
令和元年08月02日
ギャラリー
  • deepl-clip.sh で簡単翻訳 [更新:2025-04-29]
  • Avidemux 2.8.2_20250323_7cf15b3
  • Avidemux 2.8.2_20250323_7cf15b3
  • Avidemux 2.8.x with Qt6 GUI
  • Avidemux 2.8.x with Qt6 GUI
  • MEGAcmd-2.0.0_Linux
  • gcolor3 with Japanese menu and LC_MESSAGES
  • avidemux2 TEST package from the latest git source (on jul.23.2024)
  • fcitx5-mozc-2.29.5135.102.1 (15jw) -- Added "merge-ut-dictionaries"