USB ID
2808:6553
Reported in
Samsung Galaxy Book 4
Source
devices/2808:6553/README.md

FocalTech FT9365 ESS (focaltech_moc)

Status: Merged upstream (libfprint MR !554, merged 2026-06-18)

Device ID(s): 2808:6553

This driver is now merged into upstream libfprint (git master). It is not in older released libfprint, so build from libfprint git (or wait for the first release/distro package that includes it) to get it. Entry kept for people still on an older libfprint.

Upstream merge request

What it does

Found in the Samsung Galaxy Book 4. Adds the ID to focaltech_moc and accepts status code 0x09 (which the in-tree driver wrongly treated as an error) so enroll completes.

Caveat on dual-function FT9201 modules

This driver is not the right target if your module also exposes 2808:93a9.

Some FocalTech modules present two USB functions from one physical part: 2808:93a9 (the FT9201 image sensor, USB class 255) and 2808:6553 (the FT9365 secure-storage companion, USB class 220 / Diagnostic). On that hardware, focaltech_moc binds 6553 and everything looks correct - fprintd-list shows the device, enroll_times comes back from the chip, scan-type = press, and EnrollStart is accepted - but it never captures, because there is no sensor on that function. A reported usbmon trace over a 120 s enroll with the sensor being touched continuously shows the finger poll answered with one identical response 2249 times, with no variation; enroll then sits in MOC_IDENTIFY until it cancels. No error is surfaced, so it presents as a broken sensor rather than as the wrong function.

Capture on those modules has to go through 93a9 - see devices/2808:9338. Standalone 6553 devices (such as the Galaxy Book 4 hardware this MR was written and verified against) are unaffected; this is a note about which function to bind, not a defect in !554.

Reported in issue #2 by @NBN-N3 (Kali, kernel 6.17), on a single module - corroboration from other dual-function hardware is welcome.

How to use it

The code lives in the merge request, not in this repo. To try it, check out the MR's source branch of libfprint and build from source (see docs/BUILD.md for the shared build, install, PAM and troubleshooting steps), or follow any instructions in the MR discussion.

# fetch the MR branch into a libfprint checkout, e.g.
git fetch https://gitlab.freedesktop.org/libfprint/libfprint.git \
  merge-requests/554/head:mr-554
git checkout mr-554

Tested on

Verified on Arch Linux (kernel 6.17.9).

License

Part of libfprint (LGPL-2.1).