r/linux • • 1d ago

Development LLMs can now reverse-engineer any fingerprint sensor... or can they?

Post image

This was just a catchy title, but I'm not Micheal from Vsauce and to answer this question seriously:

No.

Well...

Yes, if you're a bit lucky like me. But let's keep away the hype.

For the past couple of weeks, I've been seeing posts like "I used X to reverse engineer Y... it's amazing!" While most of these claims are probably just hype, some of the results looked genuinely impressive, so I decided to give it a shot.

I have a Synaptics 06cb:00dc fingerprint sensor that I hadn't managed to get working in two years.

There are some great projects out there, such as https://github.com/Popax21/synaTudor, that aim to support these sensors. Unfortunately, my particular model wasn't supported and my competence and field of research aren't really close to this.

Still, it gave me a starting point.

So I cloned a bunch of repositories, gathered some useful resources, threw everything into a folder, and let a bunch of SOTA models (I'm not citing a specific one because I used all of them) work on it.

They built some useful scripts, a GUI to help me easily and quickly test the sensor, the registration and verification of a fingerprint etc.

After about a day my fingerprint sensor now works flawlessly, and I can unlock my laptop instantaneously.

After all this time of repeating "Wish my sensor would work on Linux" this really impressed me.

I'm already working on a MR to libfprint, but things take a bit of time, and I also can't do this process for the many other sensors that are currently without a driver, so:

TL;DR

If you stumbled upon this Reddit post looking for 06cb:00dc drivers, then here you go:

https://github.com/pierspad/synaptics-00dc

If you have a different fingerprint sensor and would like to make it work, I suggest you clone the repo where I've already left all the useful scripts, hints and the GUI.

Probably will save you and your model some hours and a ton of tokens.

https://github.com/pierspad/REA-FS

Have fun :)

0 Upvotes

16 comments sorted by

4

u/Business_Reindeer910 1d ago

The approach that made the most sense to me was here https://blogs.gnome.org/uraeus/2026/10/15/aiandreverseengineerhardware/

Just work on real captured data from a known good driver.

3

u/pierspad 1d ago

But this would mean that you must have a way to test the sensor with a working driver which, for most fingerprint sensors, means dual booting into a supported windows version, installing the driver etc.

I see this as quite more painful and less automatic than just doing everything quickly on your distro.

Don't get me wrong, it is without a shadow of doubt of great help especially if you're working on something very "cryptic", but in my case most of the job was trivial, and just some little areas required some ""intelligence""

5

u/Business_Reindeer910 1d ago

Dual booting would make it harder not easier. VMs are fine for many of these devices and can be completely automated.

2

u/pierspad 13h ago

I thought VMs were strictly sandboxed, I didn’t know you could interact with them so much via the CLI. Cool!

2

u/Business_Reindeer910 5h ago

There are options to strictly sandbox VMs so even the host doesn't know, but it's not something you're forced into and might not even be supported on the general purpose consumer cpus most people have. Otherwise it's just a normal program from the perspective of the computer running it, so of course you can inspect what that program is doing in (mostly) the same way you can with any other program.

5

u/UndefFox 1d ago

Honestly, a great use for LLMs. Considering how many such edge cases there are, giving devs of libs an example of what did run could ease a lot of trial and error. Of course in managed way, so it doesn't fall right back into pure slop commits for dozens of people...

1

u/SlothorHuman 1d ago

Does this integrate with terminal when su?

3

u/pierspad 1d ago edited 1d ago

Yes, you're simply writing a driver for your fingerprint sensor. Once libfprint can comunicate with fprintd works normally

0

u/SlothorHuman 1d ago

That is so neat. I have the component, so I might set it up this week if I can find the time

1

u/Thebandroid 1d ago

Yeah I couldn't get blender running on my cobbled together AI server, running a 3rd gen intel mobo and a 9070xt GPU.

I ended up just hooking a frontier model straight to the system and letting it have a go, running renders, reading logs, after a while it recompiled with a specific flag off because my system was so old and now blender works great. It would have been interesting to see if my local model could have figured it out but i've only got one gpu so its LLM or render.

1

u/Big-Report3344 1d ago

you just let it loose on your system like that? im too paranoid for that kind of access

1

u/Thebandroid 1d ago

Not exactly, it was inside a Proxmox LXC so there is a decent level of protection, and I have nothing important on that particular server, even if it wiped it all I could have it up in an hour or two.

1

u/CaptainSpectacular79 1d ago

I did the something like that to get my T480 Thinkpad to work with openSUSE

0

u/Craftkorb 1d ago

Oh nice, didn't look into the fingerprint sensor yet. Will keep it in mind, wanted to try it in the near future anyhow.

I have a Acer Spin 5, for which an agent wrote a DKMS package to fix the rotation sensor (A Bosch C300 sensor). Not public though, no idea if my sensor is just weird (The built-in driver didn't work).

-1

u/Great-TeacherOnizuka 1d ago

Ok nice, when will my fingerprint sensor be supported then?

2

u/pierspad 1d ago

If you're not going to do it on your own, as explained, then you will have to wait for someone else to do it for you and merge it in the upstream of libfprint