
Focal-systems FT9201 (2808:93a9) USB फ़िंगरप्रिंट रीडर के लिए Linux libfprint ड्राइवर — FocalTech के स्वयं के Windows मैचिंग इंजन को Linux पर मूल रूप से चलाता है, कोई Wine नहीं। अन्य Windows-Hello-only रीडर को पोर्ट करने की एक विधि शामिल है।
Linux फिंगरप्रिंट समर्थन Focal-systems FT9201 USB रीडर के लिए
(2808:93a9, जो एक स्टैंडअलोन विंडोज हैलो डोंगल के रूप में बेचा जाता है), libfprint ड्राइवर के रूप में।
सेंसर एक छोटा 96×96 ऑप्टिकल रीडर है। libfprint का अंतर्निहित मिलानकर्ता इतनी छोटी छवि पर खराब काम करता है, इसलिए यह ड्राइवर इसके बजाय FocalTech के स्वयं के मिलान इंजन का पुन: उपयोग करता है — उनके हस्ताक्षरित विंडोज ड्राइवर से ftWbioEngineAdapter.dll — जो लिनक्स पर एक छोटे इन-प्रोसेस PE लोडर के साथ मूल रूप से चलता है। कोई Wine, कोई विंडोज, कोई क्लाउड नहीं।
यह रिपॉजिटरी केवल एक ड्राइवर नहीं, बल्कि एक पुन: प्रयोज्य विधि भी है। तकनीक — विक्रेता के विंडोज मिलान इंजन को लिनक्स पर मूल रूप से चलाना, बिना Wine के — अन्य "केवल विंडोज हैलो" रीडरों पर लागू होती है, जिनमें वे भी शामिल हैं जो SDCP सुरक्षित चैनल (Synaptics/Goodix/ELAN/EgisTec-श्रेणी के क्रिप्टो सेंसर) भेजते हैं, वैकल्पिक
src/crypto_shims.cमॉड्यूल के माध्यम से। FT9201 कार्य उदाहरण है; इन-प्रोसेस लोडर, WinBio ब्रिज, और क्रिप्टो-बाइपास लेयर अगले डिवाइस पर ले जाए जाते हैं। चरण-दर-चरण विधि और जो यथावत पुन: उपयोग किया जा सकता है, उसके लिए PORTING.md देखें।
वास्तविक हार्डवेयर पर एंड-टू-एंड कार्य कर रहा है: fprintd / कमांड-लाइन टूल्स के माध्यम से एनरोल और वेरिफाई करें, और एक बार स्थापित होने पर KDE/GNOME में। यह विक्रेता के वास्तविक एल्गोरिदम का उपयोग करके आपकी उंगली का मिलान करता है।
इस सटीक रीडर (ASIN B0DK7LQZGH) के विरुद्ध विकसित और परीक्षण किया गया — 2808:93a9 का FT9348W वेरिएंट।
चेतावनियाँ:
2808:93a9 डिवाइस के उस FT9348W वैरिएंट पर परीक्षण किया गया।ft_engine.c एक ~450-लाइन का लोडर है जो ftWbioEngineAdapter.dll को मेमोरी में मैप करता है, इसके द्वारा आयात किए जाने वाले ~90 kernel32 फ़ंक्शन प्रदान करता है, एक नकली विंडोज TEB सेट अप करता है, और एनरोल/वेरिफाई के लिए इंजन के WinBio इंटरफ़ेस को कॉल करता है।fprintd के डिफ़ॉल्ट MemoryDenyWriteExecute हार्डनिंग के तहत चलता है — आपको किसी भी सुरक्षा सेटिंग को अक्षम करने की आवश्यकता नहीं है।पूर्ण तकनीकी लेख के लिए docs/how-it-works.md देखें।
बिल्ड टूल्स + libfprint की बिल्ड निर्भरताएँ। Fedora/Nobara पर:
sudo dnf install git meson ninja-build gcc cabextract python3 \
glib2-devel gusb-devel nss-devel pixman-devel gobject-introspection-devel \
libgudev-devel systemd-devel
(Debian/Ubuntu: समकक्ष — libglib2.0-dev libgusb-dev libnss3-dev libpixman-1-dev libgudev-1.0-dev libsystemd-dev, और cabextract।)
git clone https://github.com/OMGrant/ft9201-libfprint
cd ft9201-libfprint
scripts/fetch-blobs.sh # विक्रेता DLL + MCU फ़र्मवेयर खींचें (नीचे नोट देखें)
scripts/build.sh # पिन किया हुआ libfprint क्लोन करें, ड्राइवर को ग्राफ्ट करें, बिल्ड करें
बिना कुछ इंस्टॉल किए इसे आज़माएँ:
FT9201_ENGINE_DLL=$PWD/blobs/ftWbioEngineAdapter.dll \
LD_LIBRARY_PATH=libfprint/build/libfprint \
libfprint/build/examples/enroll
इसे KDE/GNOME/लॉगिन के लिए इंस्टॉल करें (साइड-बाय-साइड; आपके डिस्ट्रो का libfprint अकेला छोड़ दिया गया है, कोई हार्डनिंग अक्षम नहीं):
sudo scripts/install.sh
fprintd-enroll
सब कुछ पूर्ववत करें: sudo scripts/install.sh --uninstall।
इस रिपॉजिटरी में कोई मालिकाना बाइनरी नहीं है। दो फ़ाइलें FocalTech की हैं और scripts/fetch-blobs.sh द्वारा बिल्ड समय पर मौजूदा सार्वजनिक स्रोतों से लाई जाती हैं:
| फ़ाइल | यह क्या है | यह कहाँ से आता है |
|---|---|---|
ftWbioEngineAdapter.dll | मिलान इंजन | Microsoft अपडेट कैटलॉग पर FocalTech का हस्ताक्षरित विंडोज ड्राइवर |
FT9348W MCU फ़र्मवेयर (src/ft9201_fw.h) | 8051 फ़र्मवेयर जो सेंसर चलाता है | सार्वजनिक ft9201-static ब्लॉब से निकाला गया (प्रतीक FOCALFP_9348_FW_APP) |
यदि कोई डाउनलोड URL बदल गया है, तो आपको केवल उन दो फ़ाइलों की आवश्यकता है:
ftWbioEngineAdapter.dll — Microsoft अपडेट कैटलॉग में "FocalTech Electronics Biometric" खोजें (ड्राइवर 1.0.3.58, हार्डवेयर आईडी USB\VID_2808&PID_93A9 से मेल खाता है)। .cab डाउनलोड करें, cabextract से निकालें, और ftWbioEngineAdapter.dll को blobs/ में डालें।FOCALFP_9348_FW_APP प्रतीक हो (जैसे ft9201-static से) और python3 scripts/extract-firmware.py <that-libfprint-2.so> src/ft9201_fw.h चलाएँ।फिर scripts/build.sh फिर से चलाएँ।
पुन: प्रयोज्य विधि और क्रिप्टो-सेंसर पथ अतिरिक्त रूप से निम्नलिखित के काम पर आधारित है:
यह एकमात्र दृष्टिकोण नहीं है — विकल्प मुख्य रूप से इस बात में भिन्न हैं कि वे FocalTech के मिलानकर्ता का पुन: उपयोग कैसे करते हैं (वे सभी करते हैं; छोटा सेंसर सामान्य मिलान को खारिज करता है)।