Skip to content

FPS00200 support #1

@massaiTHEdog1

Description

@massaiTHEdog1

Hello,

First of all, thank you for sharing your project !
I bought an FPS00200 and wanted to try your driver but I can't make it work.
I hope you can help me solve this issue :)

USB device :

$ lsusb
Bus 001 Device 010: ID 3274:8012 MicroarrayTechnology MAFP General Device

Driver is in libfprint/libfprint/drivers/microarray/microarray.c

Build libfprint :

meson libfprint libfprint/_build
The Meson build system
Version: 1.11.1
Source dir: /home/massai/Downloads/libfprint
Build dir: /home/massai/Downloads/libfprint/_build
Build type: native build
Project name: libfprint
Project version: 1.94.10
C compiler for the host machine: cc (gcc 16.1.1 "cc (GCC) 16.1.1 20260430")
C linker for the host machine: cc ld.bfd 2.46.0
C++ compiler for the host machine: c++ (gcc 16.1.1 "c++ (GCC) 16.1.1 20260430")
C++ linker for the host machine: c++ ld.bfd 2.46.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wcast-align: YES 
Compiler for C supports arguments -Wformat-nonliteral: YES 
Compiler for C supports arguments -Wformat-security: YES 
Compiler for C supports arguments -Wformat=2: YES 
Compiler for C supports arguments -Wignored-qualifiers: YES 
Compiler for C supports arguments -Wlogical-op: YES 
Compiler for C supports arguments -Wmissing-declarations: YES 
Compiler for C supports arguments -Wmissing-format-attribute: YES 
Compiler for C supports arguments -Wmissing-include-dirs: YES 
Compiler for C supports arguments -Wmissing-noreturn: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Wshadow: YES 
Compiler for C supports arguments -Wswitch-enum: YES 
Compiler for C supports arguments -Wtype-limits: YES 
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wunused: YES 
Compiler for C supports arguments -Werror=address: YES 
Compiler for C supports arguments -Werror=array-bounds: YES 
Compiler for C supports arguments -Werror=empty-body: YES 
Compiler for C supports arguments -Werror=init-self: YES 
Compiler for C supports arguments -Werror=int-to-pointer-cast: YES 
Compiler for C supports arguments -Werror=main: YES 
Compiler for C supports arguments -Werror=missing-braces: YES 
Compiler for C supports arguments -Werror=nonnull: YES 
Compiler for C supports arguments -Werror=redundant-decls: YES 
Compiler for C supports arguments -Werror=return-type: YES 
Compiler for C supports arguments -Werror=sequence-point: YES 
Compiler for C supports arguments -Werror=trigraphs: YES 
Compiler for C supports arguments -Werror=write-strings: YES 
Compiler for C supports arguments -fno-strict-aliasing: YES 
Compiler for C supports arguments -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68: YES 
Compiler for C supports arguments -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68: YES 
Compiler for C supports arguments -D_GNU_SOURCE: YES 
Compiler for C supports arguments -DG_LOG_DOMAIN="libfprint": YES 
Compiler for C supports arguments -Wimplicit-function-declaration: YES 
Compiler for C supports arguments -Wmissing-prototypes: YES 
Compiler for C supports arguments -Wnested-externs: YES 
Compiler for C supports arguments -Wold-style-definition: YES 
Compiler for C supports arguments -Wstrict-prototypes: YES 
Compiler for C supports arguments -Werror=implicit: YES 
Compiler for C supports arguments -Werror=pointer-to-int-cast: YES 
Found pkg-config: YES (/usr/bin/pkg-config) 2.5.1
Run-time dependency glib-2.0 found: YES 2.88.1
Run-time dependency gio-unix-2.0 found: YES 2.88.1
Run-time dependency gobject-2.0 found: YES 2.88.1
Run-time dependency gusb found: YES 0.4.9
Library m found: YES
Program sh found: YES (/usr/bin/sh)
Run-time dependency cairo found: YES 1.18.4
Run-time dependency gobject-introspection-1.0 found: YES 1.86.0
Run-time dependency pixman-1 found: YES 0.46.4
Run-time dependency openssl found: YES 3.6.2
Run-time dependency gudev-1.0 found: YES 238
Run-time dependency udev found: YES 260
Dependency udev for host machine found: YES 260 (cached)
Dependency glib-2.0 for build machine found: YES 2.88.1 (cached)
Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums)
Dependency glib-2.0 for build machine found: YES 2.88.1 (cached)
Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums)
Dependency glib-2.0 for build machine found: YES 2.88.1 (cached)
Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums)
Dependency glib-2.0 for build machine found: YES 2.88.1 (cached)
Program /usr/bin/glib-mkenums found: YES (/usr/bin/glib-mkenums)
Configuring fpi-drivers.c with command
Compiler for C supports arguments -Wno-error=redundant-decls: YES 
Compiler for C supports arguments -Wno-redundant-decls: YES 
Compiler for C supports arguments -Wno-discarded-qualifiers: YES 
Compiler for C supports arguments -Wno-array-bounds: YES 
Compiler for C supports arguments -Wno-array-parameter: YES 
Dependency gobject-introspection-1.0 for host machine found: YES 1.86.0 (cached)
Dependency gobject-introspection-1.0 for host machine found: YES 1.86.0 (cached)
Program /usr/bin/g-ir-scanner found: YES (/usr/bin/g-ir-scanner)
Dependency gobject-introspection-1.0 for host machine found: YES 1.86.0 (cached)
Program /usr/bin/g-ir-compiler found: YES (/usr/bin/g-ir-compiler)
Found pkg-config: YES (/usr/bin/pkg-config) 2.5.1
Configuring config.h using configuration
Configuring gtkdocentities.ent using configuration
Dependency glib-2.0 for host machine found: YES 2.88.1 (cached)
Program gtkdoc-scan found: YES (/usr/bin/gtkdoc-scan)
Program gtkdoc-scangobj found: YES (/usr/bin/gtkdoc-scangobj)
Program gtkdoc-mkdb found: YES (/usr/bin/gtkdoc-mkdb)
Program gtkdoc-mkhtml found: YES (/usr/bin/gtkdoc-mkhtml)
Program gtkdoc-fixxref found: YES (/usr/bin/gtkdoc-fixxref)
Program python3 found: YES (/usr/bin/python3)
Configuring create-driver-test.py using configuration
Program unittest_inspector.py found: YES (/home/massai/Downloads/libfprint/tests/unittest_inspector.py)
Program umockdev-test.py found: YES (/home/massai/Downloads/libfprint/tests/umockdev-test.py)
Configuring driver-aes2501.test using configuration
Configuring driver-aes3500.test using configuration
Configuring driver-elan.test using configuration
Configuring driver-elan-cobo.test using configuration
Configuring driver-elanmoc.test using configuration
Configuring driver-elanspi.test using configuration
Configuring driver-synaptics.test using configuration
Configuring driver-upektc_img.test using configuration
Configuring driver-upektc_img-tcs1s.test using configuration
Configuring driver-uru4000-msv2.test using configuration
Configuring driver-uru4000-4500.test using configuration
Configuring driver-vfs0050.test using configuration
Configuring driver-vfs301.test using configuration
Configuring driver-vfs5011.test using configuration
Configuring driver-vfs7552.test using configuration
Configuring driver-goodixmoc.test using configuration
Configuring driver-nb1010.test using configuration
Configuring driver-egis0570.test using configuration
Configuring driver-egismoc.test using configuration
Configuring driver-egismoc-05a1.test using configuration
Configuring driver-egismoc-0586.test using configuration
Configuring driver-egismoc-0587.test using configuration
Configuring driver-fpcmoc.test using configuration
Configuring driver-realtek.test using configuration
Configuring driver-realtek-5816.test using configuration
Configuring driver-focaltech_moc.test using configuration
Configuring fpi-device.test using configuration
Configuring fpi-ssm.test using configuration
Configuring fpi-assembling.test using configuration
Program test-generated-hwdb.sh found: YES (/home/massai/Downloads/libfprint/tests/test-generated-hwdb.sh)
Program appstreamcli found: YES (/usr/bin/appstreamcli)
Program gdb found: YES (/usr/bin/gdb)
Program valgrind found: NO
Build targets in project: 32

libfprint 1.94.10

  Drivers
    Drivers: upektc_img
             vfs5011
             vfs7552
             aes3500
             aes4000
             aes1610
             aes1660
             aes2660
             aes2501
             aes2550
             vfs101
             vfs301
             vfs0050
             etes603
             egis0570
             egismoc
             vcom5s
             synaptics
             elan
             elanmoc
             uru4000
             upektc
             upeksonly
             upekts
             goodixmoc
             nb1010
             fpcmoc
             realtek
             focaltech_moc
             elanspi

Found ninja-1.13.2 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.

Ninja build :

ninja -C libfprint/_build libfprint/libfprint-2.so.2.0.0
ninja: Entering directory `libfprint/_build'
[47/95] Compiling C object libfprint/libnbis.a.p/nbis_mindtct_remove.c.o
../libfprint/nbis/mindtct/remove.c: In function ‘remove_perimeter_pts’:
../libfprint/nbis/mindtct/remove.c:1377:9: warning: variable ‘removed’ set but not used [-Wunused-but-set-variable=]
 1377 |     int removed = 0;
      |         ^~~~~~~
[95/95] Linking target libfprint/libfprint-2.so.2.0.0

After that, I generate installation files and install it using pacman (I'm on arch) :

meson install -C libfprint/_build --destdir "$pkgdir"

And finally when I try to enroll I get :

$ fprintd-enroll -f right-index-finger
Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available

Do you have any idea ? Maybe I missed something ?

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions