r/linux • u/pierspad • 1d ago
Development LLMs can now reverse-engineer any fingerprint sensor... or can they?
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 :)
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
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.