Popax21 / synaTudor

GNU Lesser General Public License v2.1
92 stars 10 forks source link

GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available #4

Closed mandresve closed 2 years ago

mandresve commented 2 years ago

Hi. Thanks for the effort. I tried fprintd-enroll but... "Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available"

fprintd.service: libusb: error [udev_hotplug_event] ignoring udev action change Ignoring device due to initialization error: I/O socket expired Started Fingerprint Authentication Daemon. invalid unclassed pointer in cast to 'FpiDeviceTudor' fprintd.service: Deactivated successfully.

tudor-host-launcher.service: [INF] Loaded driver DLL 'synaFpAdapter104.dll' [186656 bytes] [WRN] PE file contains unsupported resource data directory! [WRN] PE file contains unsupported exception data directory! [WRN] Data directory 4 has invalid bounds! [end 0x17ebe0 > image end 0x17e000] [INF] Loaded driver DLL 'synaWudfBioUsb104.dll' [1567712 bytes] [INF] Initializing driver DLL 'synaFpAdapter104.dll'... [INF] Initializing driver DLL 'synaWudfBioUsb104.dll'... [INF] Initialized tudor driver [INF] Opened USB device [WRN] GetModuleHandleExW called with unsupported flag GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS! [addr=0x7f29a08ed710]

Popax21 commented 2 years ago

Hm... This might be an IPC timeout. Could you try increasing it as a temporary fix? (in libfprint-tod/src/ipc.h, you can set it to 0 to disable it completly)

mandresve commented 2 years ago

It was probably the timeout. It took about 15 seconds the first time, and after that it allowed me to enroll. I will keep testing. IPC now currently set to 0.

Popax21 commented 2 years ago

It was probably the timeout. It took about 15 seconds the first time, and after that it allowed me to enroll. I will keep testing. IPC now currently set to 0.

Ok then. I might increase the timeout, but I have a suspicion that it will only be a matter if time until that one's hit again. Might just remove it entirely, or make it like 20-30 seconds.

mandresve commented 2 years ago

If it is a failsafe timer, 30 seconds is probably sufficient. Only the first time (at initialization) it took 15 seconds or so to detect the device, but after that, even with 10 seconds of IPC it worked as expected.