Nothin' but Slackware

バイクとLinuxに戯れる日々

2020年07月

HP EliteBook folio 1020 G1 修理・レスキュー

とある事情で不注意から HP folio 1020 G1 のマザーボードがお亡くなりになり、
修理・復旧したメモ。

1) 同機種マザーボードの入手
 ヤフオクにて「難あり」(BIOSパスワードロック品)のマザーボードを格安にて入手。
2) とりあえず組む。
3) 試しに電源ONしてみると、電源は入るが、確かにBIOSパスワードロックがかかっていて
 OSは起動できない状態。
 予想通りだが、修理前の電源すら入らない状態からは一歩前進。

ここからが本番。
※何があっても自己責任。

4) まずは、おまじないみたいなもんだが、CMOS情報をクリアする
 4-1. PCの裏カバーを外す。
 4-2. マザーボードからバッテリーコネクタを外す。
   注記)このとき金属製ピンセットやドライバーで誤ってMB基板とバッテリー端子
      などを短絡してしまうとMBがお亡くなりになる可能性があるので、
      爪以外のバー等を使う際は非導電性のものを使う事。
      前回はこれで失敗してMBを壊した。
 4-3. マザーボードからCMOS電池コネクタを外す。
 4-4. この状態でPCの電源ボタンを長押しする(念のため1分以上押したまま保持)。
   これでMBにあるCMOS情報がクリアされるはず。
 4-5. TPMとか
   HP folio 1020 G1 はTPM技術といわれるセキュリティー機能がMBに内蔵されて
   おり、BIOSパスワード情報もこれに含まれている。なので、CMOS クリア
   しただけではBIODSパスワードがかかったままなのだ。
   HP TPM

   以下の方法が適切なのか他のHP PCでも通用するのかまったくわからないが、
   とりあえずこうしたらTPMのBIOSパスワードがリセットできたという方法。

   4-4. でCMOSクリアされた状態で, AC電源のみ接続して(バッテリー、CMOS
   電池は外したまま)PC電源ON。
   CMOS情報が失われたとのメッセージ画面が出る。
   ただ、この状況では再度電源ONするしか選択肢はない。

   ・再度電源ON。
   ・F10キーを押す。
   ・BIOSセットアップメニューにUSERとして入るかどうか聞かれる。
    ここで、もし「いいえ」を選択してしまうと、管理者としてメニューに入る
    ことになり、結局は管理者パスワードを促す画面になるのでUSERとして
    メニューに入る。
   ・BIOS設定を工場出荷状態に戻す
    BIOS F10
   ・変更を保存して再起動
   ・TPMをリセットするかの同意画面が出る(F1キーで accept )
   ・accept後、BIOSパスワードを聞かれることなく起動した。
   ・電源OFF して、CMOS電池コネクタ、バッテリーコネクタをMBに接続。
    (短絡注意)

以上。
他のHP PCでも機能するかどうかまったく不明。繰り返すが、自己責任で。

   


Slackware64 on Thinkpad X230

lenovo ThinkPad X230 にSlackware64-current をインストールし、指紋認証デバイスの動作を確認した。

1. Slackwareのインストールは正常に完了。 grubにてWindows10とのデュアルブート設定も実行した。
2. Slackware起動後、Fingerprint Readerのデバイス情報を確認。
# lsusb
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 5986:0294 Acer, Inc
Bus 003 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
Bus 003 Device 003: ID 147e:2020 Upek TouchChip Fingerprint Coprocessor (WBF advanced mode)
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hu

3. libfprint でサポートされているデバイスか libfprintサイトの supported devices情報で確認する。
https://fprint.freedesktop.org/supported-devices.html
supported-device_147e2020
ということで、サポートされているようだ。
Slackware64-currentはsystemdを採用していないので、インストール可能な libfprint / fprintd の
バージョンは libfprint-1.0 / fprintd-0.8.1 までである。
libfprint-1.0のソースをダウンロードして展開し、ソース中の driversフォルダーを参照して
デバイス UPEK 147e:2020 が含まれているか確認する。

# cat upektc_img.c |grep 2020
        upektc_img_submit_req(ssm, dev, upek2020_init_capture, sizeof(upek2020_init_capture),
        upektc_img_submit_req(ssm, dev, upek2020_ack_00_28, sizeof(upek2020_ack_00_28),
        upektc_img_submit_req(ssm, dev, upek2020_ack_08, sizeof(upek2020_ack_08),
        upektc_img_submit_req(ssm, dev, upek2020_ack_frame, sizeof(upek2020_ack_frame),
        upektc_img_submit_req(ssm, dev, upek2020_deinit, sizeof(upek2020_deinit),
        upektc_img_submit_req(ssm, idev, upek2020_init_1, sizeof(upek2020_init_1),
        upektc_img_submit_req(ssm, idev, upek2020_init_2, sizeof(upek2020_init_2),
        upektc_img_submit_req(ssm, idev, upek2020_init_3, sizeof(upek2020_init_3),
        upektc_img_submit_req(ssm, idev, upek2020_init_4, sizeof(upek2020_init_4),
    if (dsc->idProduct == 0x2020 && dsc->bcdDevice == 1)
    { .vendor = 0x147e, .product = 0x2020 },

大丈夫そうな感じ。

4. libfprint-1.0 / fprintd-0.8.1 をインストールする。
5. pam を自前ビルドのパッケージに\切り替え
 理由は分からないが、経験からpam パッケージが slackwareデフォルトパッケージだと
 libfprint / fprintd が上手く動かないので、
 デフォルトの pam-1.4.0-x86_64-1 から自前のpam-1.4.0-x86_64-1_dlackにアップデートする。

5. /etc/pam.d/system-auth 編集
 system-auth の先頭に
    auth    sufficient     pam_fprintd.so
 を追加。

6. PC Reboot
7. 指紋登録
 # fprintd-enroll root
    # fprintd-enroll <USER>
 デバイスが正常に認識され、指紋登録も無事完了。

8. 再ログインにて指紋認証で問題なくログインできることを確認した。
 その後も安定して動作中。

ギャラリー
  • 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"