banianitc / ft9201-fingerprint-driver

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

Problems getting the ft9201-fingerprint-driver to work #8

Open joonas-foo opened 2 months ago

joonas-foo commented 2 months ago

Hi, I'm having problems using the driver, I'm a novice Linux user, here's some info about it:

--8<-- joonas@joonas-MS-7D95:~/Downloads/9201$ ./ft9201_util /dev/fpreader0 FT9201 utility program Action: 0 Device: /dev/fpreader0 Error opening the device: No such file or directory -->8--

Also tried this: --8<-- joonas@joonas-MS-7D95:~/Downloads/9201$ insmod ./ft9201.ko insmod: ERROR: could not insert module ./ft9201.ko: Operation not permitted joonas@joonas-MS-7D95:~/Downloads/9201$ sudo insmod ./ft9201.ko [sudo] password for joonas: insmod: ERROR: could not insert module ./ft9201.ko: Invalid parameters -->8--

Information about the device, fetched with lsusb -v -command. --8<-- Bus 001 Device 002: ID 2808:93a9 Focal-systems.Corp FT9201Fingerprint.̚ Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 [unknown] bDeviceSubClass 0 [unknown] bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x2808 Focal-systems.Corp idProduct 0x93a9 FT9201Fingerprint.̚ bcdDevice 1.00 iManufacturer 1 Focal-systems.Corp iProduct 2 FT9201Fingerprint.̚ iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0020 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 200mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 0 -->8--

gdevacc12 commented 2 months ago

Were you able to make and install the driver? My device ended up being /dev/fpreader1. What do you get from: ls /dev/fp Do you see an ft9201 module loaded? e.g. lsmod | grep ft

ndabar commented 4 weeks ago

Hi, In my case the driver is installed although I've a warning with make: warning: the compiler differs from the one used to build the kernel

And when I install the driver, 'System.map' is skipped.

$ sudo make install
make -C /lib/modules/6.8.0-40-generic/build M=/home/ndb/Downloads/ft9201-fingerprint-driver-main modules
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-40-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
  You are using:           gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'
make -C /lib/modules/6.8.0-40-generic/build M=/home/ndb/Downloads/ft9201-fingerprint-driver-main modules_install
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-40-generic'
  INSTALL /lib/modules/6.8.0-40-generic/updates/ft9201.ko
  SIGN    /lib/modules/6.8.0-40-generic/updates/ft9201.ko
  DEPMOD  /lib/modules/6.8.0-40-generic
Warning: modules_install: missing 'System.map' file. Skipping depmo
$ sudo make install
make -C /lib/modules/6.8.0-40-generic/build M=/home/ndb/Downloads/ft9201-fingerprint-driver-main modules
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-40-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
  You are using:           gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'
make -C /lib/modules/6.8.0-40-generic/build M=/home/ndb/Downloads/ft9201-fingerprint-driver-main modules_install
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-40-generic'
  INSTALL /lib/modules/6.8.0-40-generic/updates/ft9201.ko
  SIGN    /lib/modules/6.8.0-40-generic/updates/ft9201.ko
  DEPMOD  /lib/modules/6.8.0-40-generic
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'

I run "sudo depmod -a" after installing it, but it does not return anything.

In my case, I can't list /dev/fpreader0 or /dev/fpreader1, neither when I search for the module.d.


$ make ft9201_util 
make: 'ft9201_util' is up to date.
$ ./ft9201_util /dev/fpreader0
FT9201 utility program
Action: 0
Device: /dev/fpreader0
Error opening the device: No such file or directory