Beelink CS-Ian Chan
Hello Ian,
now it stucks here…
a never ending story
❯ rm -rf ~/eh577-libfprint
~
❯ git clone https://github.com/OMGrant/eh577-libfprint.git ~/eh577-libfprint
Klone nach ‘/home/achimd/eh577-libfprint’…
remote: Enumerating objects: 114, done.
remote: Counting objects: 100% (114/114), done.
remote: Compressing objects: 100% (85/85), done.
remote: Total 114 (delta 56), reused 83 (delta 28), pack-reused 0 (from 0)
Empfange Objekte: 100% (114/114), 622.73 KiB | 8.90 MiB/s, fertig.
Löse Unterschiede auf: 100% (56/56), fertig.
~
❯ cd ~/eh577-libfprint
~/eh577-libfprint main
❯ bash setup.sh clean
EH577 fingerprint driver — build & install
Fetches the EgisTec EH577 driver from Microsoft’s official Update Catalog
(your own licensed copy) and builds a native Linux driver around its matcher.
No EgisTec code is bundled or redistributed by this project.
Do you own an EH577 (1c7a:0577) device and want to proceed? [y/N] y
==> checking prerequisites
==> [¼] downloading the vendor matcher from Microsoft Update Catalog
==> resolving download URL from Microsoft Update Catalog (updateID 3b1a2465-bcea-430a-9da5-88f690ff39b1)
https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2019/01/e87e1b0b-7dbc-4414-bfc0-e943862c7164_dd784a9bddcf1302c6a73b11e56f6b7449fc48d8.cab
==> downloading the driver package (.cab) from Microsoft
==> extracting EgisTouchFPEngine0577.dll
==> verifying checksum (must match the pinned official copy)
OK: wrote windows-driver/EgisTouchFPEngine0577.dll (411112 bytes, sha256 verified against the pinned official package)
==> [2/4] building the matcher engine (.so) from your downloaded copy
[gen] WARN patch rva 0×1a80e: unexpected bytes 00 90
[gen] WARN patch rva 0×1a821: unexpected bytes 89 4c
[gen] wrote egimage.bin: 442368 bytes (sizeofimage), hdrsize=1024 nsec=6
built eh577-engine.so (556560 bytes)
INSTALL (root): place the .so where fprintd can reach it and LABEL it a shared library
install -Dm0755 eh577-engine.so /usr/lib/libfprint-2/eh577-engine.so
semanage fcontext -a -t textrel_shlib_t ‘/usr/lib/libfprint-2/eh577-engine.so’
restorecon -v /usr/lib/libfprint-2/eh577-engine.so
The eh577 libfprint driver dlopen()s this .so instead of memfd-loading the PE.
==> [¾] building libfprint + the eh577 driver (side-by-side; distro libfprint untouched)
==> cloning upstream libfprint @ v1.94.10
Klone nach ‘libfprint’…
remote: Enumerating objects: 389, done.
remote: Counting objects: 100% (389/389), done.
remote: Compressing objects: 100% (347/347), done.
remote: Total 389 (delta 73), reused 202 (delta 35), pack-reused 0 (from 0)
Empfange Objekte: 100% (389/389), 8.46 MiB | 29.06 MiB/s, fertig.
Löse Unterschiede auf: 100% (73/73), fertig.
Warnung: refs/tags/v1.94.10 5e081645390be9265af660d2454f7f40a2cea183 ist kein Commit!
Hinweis: Wechsle zu ‘0c97a47d8ef405cd577b87058c1e89cae9d242e7’.
Sie befinden sich im Zustand eines ‘losgelösten HEAD’. Sie können sich
umschauen, experimentelle Änderungen vornehmen und diese committen, und
Sie können alle möglichen Commits, die Sie in diesem Zustand machen,
ohne Auswirkungen auf irgendeinen Branch verwerfen, indem Sie zu einem
anderen Branch wechseln.
Wenn Sie einen neuen Branch erstellen möchten, um Ihre erstellten Commits
zu behalten, können Sie das (jetzt oder später) durch Nutzung von
‘switch’ mit der Option -c tun. Beispiel:
git switch -c <neuer-Branchname>
Oder um diese Operation rückgängig zu machen:
git switch -
Sie können diesen Hinweis ausschalten, indem Sie die Konfigurationsvariable
‘advice.detachedHead’ auf ‘false’ setzen.
==> installing driver files into the tree
==> registering the driver in meson
injected eh577 into driver_sources
==> configuring + building (only the eh577 driver)
~/eh577-libfprint main 6s
❯ bash setup.sh
EH577 fingerprint driver — build & install
Fetches the EgisTec EH577 driver from Microsoft’s official Update Catalog
(your own licensed copy) and builds a native Linux driver around its matcher.
No EgisTec code is bundled or redistributed by this project.
Do you own an EH577 (1c7a:0577) device and want to proceed? [y/N] y
==> checking prerequisites
==> [¼] downloading the vendor matcher from Microsoft Update Catalog
==> resolving download URL from Microsoft Update Catalog (updateID 3b1a2465-bcea-430a-9da5-88f690ff39b1)
https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2019/01/e87e1b0b-7dbc-4414-bfc0-e943862c7164_dd784a9bddcf1302c6a73b11e56f6b7449fc48d8.cab
==> downloading the driver package (.cab) from Microsoft
==> extracting EgisTouchFPEngine0577.dll
==> verifying checksum (must match the pinned official copy)
OK: wrote windows-driver/EgisTouchFPEngine0577.dll (411112 bytes, sha256 verified against the pinned official package)
==> [2/4] building the matcher engine (.so) from your downloaded copy
[gen] WARN patch rva 0×1a80e: unexpected bytes 00 90
[gen] WARN patch rva 0×1a821: unexpected bytes 89 4c
[gen] wrote egimage.bin: 442368 bytes (sizeofimage), hdrsize=1024 nsec=6
built eh577-engine.so (556560 bytes)
INSTALL (root): place the .so where fprintd can reach it and LABEL it a shared library
install -Dm0755 eh577-engine.so /usr/lib/libfprint-2/eh577-engine.so
semanage fcontext -a -t textrel_shlib_t ‘/usr/lib/libfprint-2/eh577-engine.so’
restorecon -v /usr/lib/libfprint-2/eh577-engine.so
The eh577 libfprint driver dlopen()s this .so instead of memfd-loading the PE.
==> [¾] building libfprint + the eh577 driver (side-by-side; distro libfprint untouched)
==> installing driver files into the tree
==> registering the driver in meson
eh577 already present
==> configuring + building (only the eh577 driver)
~/eh577-libfprint main
❯ sudo pacman -S –needed git base-devel meson ninja pkgconf glib2 libgusb opencv openssl fprintd imagemagick
[sudo] Passwort für achimd:
Warnung: git-2.55.0-1.1 ist aktuell – Überspringe
Warnung: base-devel-1-2 ist aktuell – Überspringe
Warnung: meson-1.12.0-1 ist aktuell – Überspringe
Warnung: ninja-1.13.2-3.1 ist aktuell – Überspringe
Warnung: pkgconf-3.0.5-1.1 ist aktuell – Überspringe
Warnung: glib2-2.88.3-1.1 ist aktuell – Überspringe
Warnung: libgusb-0.4.9-2.1 ist aktuell – Überspringe
Warnung: opencv-5.0.0-9.1 ist aktuell – Überspringe
Warnung: openssl-3.6.3-1.1 ist aktuell – Überspringe
Warnung: fprintd-1.94.5-2.1 ist aktuell – Überspringe
Warnung: imagemagick-7.1.2.30-1.1 ist aktuell – Überspringe
Es gibt nichts zu tun
~/eh577-libfprint main
❯ rm -rf ~/eh577-libfprint
~/eh577-libfprint
❯ git clone https://github.com/OMGrant/eh577-libfprint.git ~/eh577-libfprint
Klone nach ‘/home/achimd/eh577-libfprint’…
Schwerwiegend: Konnte aktuelles Arbeitsverzeichnis nicht lesen.: Datei oder Verzeichnis nicht gefunden
Schwerwiegend: remote helper ‘https’ aborted session
~/eh577-libfprint
❯ cd ..
~
❯ git clone https://github.com/OMGrant/eh577-libfprint.git ~/eh577-libfprint
Klone nach ‘/home/achimd/eh577-libfprint’…
remote: Enumerating objects: 114, done.
remote: Counting objects: 100% (114/114), done.
remote: Compressing objects: 100% (85/85), done.
remote: Total 114 (delta 56), reused 83 (delta 28), pack-reused 0 (from 0)
Empfange Objekte: 100% (114/114), 622.73 KiB | 11.12 MiB/s, fertig.
Löse Unterschiede auf: 100% (56/56), fertig.
~
❯ cd ~/eh577-libfprint
~/eh577-libfprint main
❯ bash setup.sh clean
EH577 fingerprint driver — build & install
Fetches the EgisTec EH577 driver from Microsoft’s official Update Catalog
(your own licensed copy) and builds a native Linux driver around its matcher.
No EgisTec code is bundled or redistributed by this project.
Do you own an EH577 (1c7a:0577) device and want to proceed? [y/N] y
==> checking prerequisites
==> [¼] downloading the vendor matcher from Microsoft Update Catalog
==> resolving download URL from Microsoft Update Catalog (updateID 3b1a2465-bcea-430a-9da5-88f690ff39b1)
https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2019/01/e87e1b0b-7dbc-4414-bfc0-e943862c7164_dd784a9bddcf1302c6a73b11e56f6b7449fc48d8.cab
==> downloading the driver package (.cab) from Microsoft
==> extracting EgisTouchFPEngine0577.dll
==> verifying checksum (must match the pinned official copy)
OK: wrote windows-driver/EgisTouchFPEngine0577.dll (411112 bytes, sha256 verified against the pinned official package)
==> [2/4] building the matcher engine (.so) from your downloaded copy
[gen] WARN patch rva 0×1a80e: unexpected bytes 00 90
[gen] WARN patch rva 0×1a821: unexpected bytes 89 4c
[gen] wrote egimage.bin: 442368 bytes (sizeofimage), hdrsize=1024 nsec=6
built eh577-engine.so (556560 bytes)
INSTALL (root): place the .so where fprintd can reach it and LABEL it a shared library
install -Dm0755 eh577-engine.so /usr/lib/libfprint-2/eh577-engine.so
semanage fcontext -a -t textrel_shlib_t ‘/usr/lib/libfprint-2/eh577-engine.so’
restorecon -v /usr/lib/libfprint-2/eh577-engine.so
The eh577 libfprint driver dlopen()s this .so instead of memfd-loading the PE.
==> [¾] building libfprint + the eh577 driver (side-by-side; distro libfprint untouched)
==> cloning upstream libfprint @ v1.94.10
Klone nach ‘libfprint’…
remote: Enumerating objects: 389, done.
remote: Counting objects: 100% (389/389), done.
remote: Compressing objects: 100% (347/347), done.
remote: Total 389 (delta 73), reused 202 (delta 35), pack-reused 0 (from 0)
Empfange Objekte: 100% (389/389), 8.46 MiB | 33.18 MiB/s, fertig.
Löse Unterschiede auf: 100% (73/73), fertig.
Warnung: refs/tags/v1.94.10 5e081645390be9265af660d2454f7f40a2cea183 ist kein Commit!
Hinweis: Wechsle zu ‘0c97a47d8ef405cd577b87058c1e89cae9d242e7’.
Sie befinden sich im Zustand eines ‘losgelösten HEAD’. Sie können sich
umschauen, experimentelle Änderungen vornehmen und diese committen, und
Sie können alle möglichen Commits, die Sie in diesem Zustand machen,
ohne Auswirkungen auf irgendeinen Branch verwerfen, indem Sie zu einem
anderen Branch wechseln.
Wenn Sie einen neuen Branch erstellen möchten, um Ihre erstellten Commits
zu behalten, können Sie das (jetzt oder später) durch Nutzung von
‘switch’ mit der Option -c tun. Beispiel:
git switch -c <neuer-Branchname>
Oder um diese Operation rückgängig zu machen:
git switch -
Sie können diesen Hinweis ausschalten, indem Sie die Konfigurationsvariable
‘advice.detachedHead’ auf ‘false’ setzen.
==> installing driver files into the tree
==> registering the driver in meson
injected eh577 into driver_sources
==> configuring + building (only the eh577 driver)
~/eh577-libfprint main 6s
❯ bash setup.sh
EH577 fingerprint driver — build & install
Fetches the EgisTec EH577 driver from Microsoft’s official Update Catalog
(your own licensed copy) and builds a native Linux driver around its matcher.
No EgisTec code is bundled or redistributed by this project.
Do you own an EH577 (1c7a:0577) device and want to proceed? [y/N] y
==> checking prerequisites
==> [¼] downloading the vendor matcher from Microsoft Update Catalog
==> resolving download URL from Microsoft Update Catalog (updateID 3b1a2465-bcea-430a-9da5-88f690ff39b1)
https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2019/01/e87e1b0b-7dbc-4414-bfc0-e943862c7164_dd784a9bddcf1302c6a73b11e56f6b7449fc48d8.cab
==> downloading the driver package (.cab) from Microsoft
==> extracting EgisTouchFPEngine0577.dll
==> verifying checksum (must match the pinned official copy)
OK: wrote windows-driver/EgisTouchFPEngine0577.dll (411112 bytes, sha256 verified against the pinned official package)
==> [2/4] building the matcher engine (.so) from your downloaded copy
[gen] WARN patch rva 0×1a80e: unexpected bytes 00 90
[gen] WARN patch rva 0×1a821: unexpected bytes 89 4c
[gen] wrote egimage.bin: 442368 bytes (sizeofimage), hdrsize=1024 nsec=6
built eh577-engine.so (556560 bytes)
INSTALL (root): place the .so where fprintd can reach it and LABEL it a shared library
install -Dm0755 eh577-engine.so /usr/lib/libfprint-2/eh577-engine.so
semanage fcontext -a -t textrel_shlib_t ‘/usr/lib/libfprint-2/eh577-engine.so’
restorecon -v /usr/lib/libfprint-2/eh577-engine.so
The eh577 libfprint driver dlopen()s this .so instead of memfd-loading the PE.
==> [¾] building libfprint + the eh577 driver (side-by-side; distro libfprint untouched)
==> installing driver files into the tree
==> registering the driver in meson
eh577 already present
==> configuring + building (only the eh577 driver)
~/eh577-libfprint main
❯ sudo tee /etc/udev/rules.d/60-egis-eh577.rules <<‘EOF’
SUBSYSTEM==“usb”, ATTRS{idVendor}==“1c7a”, ATTRS{idProduct}==“0577”, MODE=“0664”, GROUP=“input”, TAG+=“systemd”
EOF
fish: Erwartete a string, aber fand a redirection
sudo tee /etc/udev/rules.d/60-egis-eh577.rules <<‘EOF’
^
~/eh577-libfprint main
❯ sudo tee /etc/udev/rules.d/60-egis-eh577.rules <<‘EOF’
SUBSYSTEM==“usb”, ATTRS{idVendor}==“1c7a”, ATTRS{idProduct}==“0577”, MODE=“0664”, GROUP=“input”, TAG+=“systemd”
EOF
fish: Erwartete a string, aber fand a redirection
sudo tee /etc/udev/rules.d/60-egis-eh577.rules <<‘EOF’
^
~/eh577-libfprint main
❯ sudo tee /etc/udev/rules.d/60-egis-eh577.rules <<‘EOF’
SUBSYSTEM==“usb”, ATTRS{idVendor}==“1c7a”, ATTRS{idProduct}==“0577”, MODE=“0664”, GROUP=“input”, TAG+=“systemd”
EOF