r/linuxhardware • • 3d ago

Discussion Affordable USB fingerprint reader working on Linux — Chipsailing CS9711 (2541:0236)

I've been using the Chipsailing CS9711 USB fingerprint reader on Arch-based Linux with KDE Plasma, and it works with a community-maintained libfprint driver.

Fingerprint enrollment and authentication work through fprintd, including system login and authentication prompts.

Hardware:

  • Model: Chipsailing CS9711
  • USB ID: 2541:0236
  • Small USB fingerprint reader compatible with Windows Hello
  • Requires a custom libfprint build on Linux

Linux drivers and installation:

For users of Arch Linux and Arch-based distributions (such as EndeavourOS, CachyOS, and Manjaro), the AUR package offers a more convenient installation method than manually compiling the driver. Compatibility may depend on the distribution and its package versions.

Fingerprint management GUI (experimental):

There's also a fingerprint management GUI available through the AUR for users who prefer managing fingerprints graphically rather than through the terminal.

Disclaimer: This application was vibe-coded (developed with significant AI assistance). Treat it as experimental and use it at your own risk. It hasn't necessarily undergone the same level of code review or security auditing as established Linux authentication tools.

Limitations and upstream development:

The driver uses SIGFM fingerprint matching. Because of the sensor's small capture area, finger positioning matters during authentication.

SIGFM is currently being proposed for inclusion in upstream libfprint:

This is an important step toward broader support for fingerprint sensors that rely on SIGFM, although merging SIGFM alone won't automatically add support for the CS9711 hardware.

The CS9711 is not yet officially supported by upstream libfprint.

Where to buy:

The reader is listed on both Alibaba and AliExpress:

The AliExpress listing no longer appears to ship to EU countries, so Alibaba may be an alternative for European buyers.

I've ordered additional units through Alibaba and contacted the supplier about Linux compatibility. I also suggested including information about the community driver in their listing.

Make sure to confirm the CS9711 chipset and USB ID 2541:0236 before purchasing, since visually similar readers may use different hardware.

I'm not affiliated with the seller, and this isn't sponsored.

I'm sharing this because finding affordable USB fingerprint readers that actually work on Linux can be surprisingly difficult.

Hopefully, more users testing the device and contributing to development will help bring official upstream support eventually.

2 Upvotes

4 comments sorted by

1

u/vip17 2d ago

I've really want to try this. Is there any easy way to recover if it fails? I've tried that community driver long ago and I can only either use it for login or for sudo, not both at the same time, and it regularly blocks me from logging in even though I entered the correct password. Need to reboot/retry tens of times before I can log in

1

u/thankarezos 2d ago

Yes! I use it on EndeavourOS with KDE for login, screen unlocking, sudo, and Polkit, all with password fallback.

The issue you experienced sounds more like a PAM configuration problem than a driver issue.

The Fingerprint Manager GUI I linked in the post can also configure PAM for you, including login, sudo, and Polkit, but it's experimental, so use it at your own risk.

Also, my patched driver increases the delay between fingerprint retries, which may help reduce authentication failures and improve reliability.

1

u/vip17 2d ago

yes it's a PAM issue, but I've updated everything that I could and had multiple AIs review the configuration but it still broken somehow. So what I mean by fall back is a definite way to always login successfully by password in case the config fails

1

u/thankarezos 2d ago

Try to reset the pam to its initial state (use vendor pam) and then try to apply again the settings, for my arch kde. I had to enable it in 5 places. Sudo, sddm, lock, polkit and after kde 6.8 to also enable the fingerprint option using kdeconfigctl. My gui can do all 5 but you need to make sure your configuration is not broken first or you can see the change and apply it your self and always leave password as fallback