banianitc / ft9201-fingerprint-driver

FT9201 linux kernel module
GNU Lesser General Public License v2.1
38 stars 2 forks source link

Similar device with a different ID? #4

Open cadecomposer opened 5 months ago

cadecomposer commented 5 months ago

I found this project after doing some digging about the fingerprint sensor on my System76 Pangolin laptop. It has a fingerprint sensor with the same name, but the only difference is that it has a different device ID. I figured that I would at least bring this to your attention, since I have a feeling that this driver has a chance of being able to work with it. Here's the output from lsusb: Bus 001 Device 002: ID 2808:9348 Focal-systems.Corp FT9201Fingerprint.̚ Also on this reddit post: https://www.reddit.com/r/System76/comments/14pxxuz/pangolin_fingerprint_scanner_modelid/ Notice the ID: 2808:9348 I had tried to compile and install the driver, but it didn't detect the device presumably because the ID is different. I wasn't able to find much else out about this device, so I'm not sure if it's any different aside from being integrated into the device instead of being an external USB reader. As such I'm not sure how difficult it would be to implement a way to read from this device? If it would be a quick change then I'd be happy to help test it.

dkleehammer commented 4 months ago

I changed the product id and managed to get the driver to compile and install. The system recognizes the driver on boot. If I'm using the utility that you can build from the make file, the reader seems to be activated, status is correct, but I can't get any data to come through. Would be a nice addition to get this reader working on the pangolin.

Note: I had to change the product_id to match, as well as add the following line to the make install command:

install: build
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules_install
    depmod -A # <-- without depmod is was not installing the driver

Utility not action will get the status:

FT9201 utility program
Action: 0
Device: /dev/fpreader5
status struct: 0x7fff60fb4010
Initializing device
Setting auto power
Device SUI version: 0x0405
Sensor MCU state: 0x00

When I use the utility and give it an action of 1, it loops while waiting on data:

FT9201 utility program
Action: 1
Device: /dev/fpreader5
Reading
rv: 1

Log:

kernel: ft9201 reading 0
kernel: ft9201 1-3:1.0: Data ready: 0x00
kernel: ft9201 1-3:1.0: Copied: 0, Filled: 0
kernel: ft9201 reading 0
Anglodel commented 3 months ago

Hi ! I also have this device but with a different ID but the same name. : Bus 003 Device 004: ID 2808:9338 Focal-systems.Corp FT9201Fingerprint.̚

Rather than being a USB-device, it’s placed into the touchpad of this machine : https://linux-hardware.org/?probe=81274a6f09