vfs301 (2012)

Driver for a fingerprint sensor - vfs301 usb device 138a:0005. Reportedly it also works for 138a:0008 (vfs300), and maybe also other compatible ones...

Because the hardware vendor didn't (at the time of development) provide the linux driver, it had to be reverse engineered.

USB data was captured in Windows, then I tried to reverse-engineer the binary sequences sent. This was hardly successful from academic POV - but I was successful enough to be able to reuse some of the sequences to initialize the device and retrieve fingerprints from the device. A driver for libfprint is the final outcome - and it is where the driver lives now.

Original sources and input data can be found at github.