I had a look at the vfs5011. I got it working by removing the line 770 in file libfprint/drivers/vfs5011.c --"RECV(VFS5011_IN_ENDPOINT_CTRL2, 8)". As stated in the comment below in the c file, somehow it only works in the windows driver. Strangely about one success in four tries in libfprint on my machine. (I wouldn't be surprised if there is something weird with the (Intel) usb bus/driver.) If there is a timeout in the communication with the usb device libfprint tries to g_malloc0 (or some kind of malloc) 2^64 - 4 bytes of data, naturally this fails. I cannot find any code where this could occur.
Enroll stages is limited to one, makes it fail often. A work around is to enroll using the same finger as several different using fprintd-enroll -f. Btw, the libfprint "SSM: sequential state machine" is quite flawed. Why isn't there a normal message loop system and threading? Maybe glib style? I haven't looked deeply into poll.c but I have a hunch it's functionality should be reimplemented in a very different way. vfs5011.c doesn't handle libusb async calls in a correct or polite manner. It hi'jacks the thread of libusb and fills it's stack with recursive calls and memory allocations. I believe this is causing race conditions and other anomalies, at least noticed in the malloc fail described above. I haven't looked at any other drivers than vfs5011 but I believe SSM can be improved to handle async callbacks and threads (and race conditions) without breaking the driver interface. It might not be urgent but it obviously is crashing in an unintended way if anything unexpected occurs. I got a bit offtopic here... I guess no one really is using their finger print reader anyway. (I have Thinkpad X1 Carbon 2:nd gen 20A8 for the record) Per-Ola Gustavsson http://marsba.se > > Hi Frank, Please try to compile and test libfprint from > https://github.com/anarsoul/libfprint I have no vfs5011 hardware, and I'd > like to be sure that everything > from git master is working before pushing it to fd.o and asking > Bastien to make a release. Thanks! Regards, > Vasily On Thu, Dec 18, 2014 at 11:52 PM, Dr. No > <bartsimpson at betriebsdirektor.de> wrote: > > Hi Vasily, > > yes the patch apply to the 0.5.1 version. > > My system is an Fedora 21. > > > > I can't seen any crashes, only USB errors: > > > > wrong finger: > > Dez 18 21:33:44 XXXXXX dbus[999]: [system] Activating via systemd: > > service name='net.reactivated.Fprint' unit='fprintd.service' > > Dez 18 21:33:44 XXXXXX dbus[999]: [system] Successfully activated > > service 'net.reactivated.Fprint' > > Dez 18 21:33:44 XXXXXX fprintd[3524]: Launching FprintObject > > Dez 18 21:33:44 XXXXXX fprintd[3524]: ** Message: D-Bus service launched > > with name: net.reactivated.Fprint > > Dez 18 21:33:44 XXXXXX fprintd[3524]: ** Message: entering main loop > > Dez 18 21:33:44 XXXXXX fprintd[3524]: ** Message: user 'frank' claiming > > the device: 0 > > Dez 18 21:33:45 XXXXXX fprintd[3524]: ** Message: now monitoring fd 15 > > Dez 18 21:33:45 XXXXXX kernel: usb 2-7: reset full-speed USB device > > number 3 using xhci_hcd > > Dez 18 21:33:45 XXXXXX kernel: xhci_hcd 0000:00:14.0: Setup ERROR: setup > > context command for slot 2. > > Dez 18 21:33:45 XXXXXX kernel: usb 2-7: hub failed to enable device, > > error -22 > > Dez 18 21:33:45 XXXXXX kernel: usb 2-7: reset full-speed USB device > > number 3 using xhci_hcd > > Dez 18 21:33:45 XXXXXX kernel: xhci_hcd 0000:00:14.0: Setup ERROR: setup > > context command for slot 2. > > Dez 18 21:33:45 XXXXXX kernel: usb 2-7: hub failed to enable device, > > error -22 > > Dez 18 21:33:45 XXXXXX kernel: usb 2-7: reset full-speed USB device > > number 3 using xhci_hcd > > Dez 18 21:33:45 XXXXXX kernel: xhci_hcd 0000:00:14.0: xHCI > > xhci_drop_endpoint called with disabled ep ffff880424b5b400 > > Dez 18 21:33:45 XXXXXX kernel: xhci_hcd 0000:00:14.0: xHCI > > xhci_drop_endpoint called with disabled ep ffff880424b5b448 > > Dez 18 21:33:45 XXXXXX kernel: xhci_hcd 0000:00:14.0: xHCI > > xhci_drop_endpoint called with disabled ep ffff880424b5b490 > > Dez 18 21:33:45 XXXXXX kernel: xhci_hcd 0000:00:14.0: xHCI > > xhci_drop_endpoint called with disabled ep ffff880424b5b4d8 > > Dez 18 21:33:46 XXXXXX fprintd[3524]: ** Message: device 0 claim status 0 > > Dez 18 21:33:46 XXXXXX fprintd[3524]: ** Message: adding finger 7 to the > > gallery > > Dez 18 21:33:46 XXXXXX fprintd[3524]: ** Message: start identification > > device 0 > > Dez 18 21:33:46 XXXXXX kernel: xhci_hcd 0000:00:14.0: WARN Event TRB for > > slot 2 ep 4 with no TDs queued? > > Dez 18 21:34:35 XXXXXX kernel: xhci_hcd 0000:00:14.0: WARN Event TRB for > > slot 2 ep 4 with no TDs queued? > > Dez 18 21:34:35 XXXXXX fprintd[3524]: ** Message: identify_cb: result > > verify-no-match (0) > > Dez 18 21:34:35 XXXXXX fprintd[3524]: ** Message: no longer monitoring fd 15 > > Dez 18 21:34:35 XXXXXX fprintd[3524]: ** Message: released device 0 > > Dez 18 21:35:05 XXXXXX fprintd[3524]: ** Message: No devices in use, exit > > > > > > right finger: > > Dez 18 21:36:27 XXXXXX fprintd[3546]: ** Message: user 'frank' claiming > > the device: 0 > > Dez 18 21:36:27 XXXXXX fprintd[3546]: ** Message: now monitoring fd 15 > > Dez 18 21:36:27 XXXXXX kernel: usb 2-7: reset full-speed USB device > > number 3 using xhci_hcd > > Dez 18 21:36:27 XXXXXX kernel: xhci_hcd 0000:00:14.0: Setup ERROR: setup > > context command for slot 2. > > Dez 18 21:36:27 XXXXXX kernel: usb 2-7: hub failed to enable device, > > error -22 > > Dez 18 21:36:27 XXXXXX kernel: usb 2-7: reset full-speed USB device > > number 3 using xhci_hcd > > Dez 18 21:36:27 XXXXXX kernel: xhci_hcd 0000:00:14.0: Setup ERROR: setup > > context command for slot 2. > > Dez 18 21:36:27 XXXXXX kernel: usb 2-7: hub failed to enable device, > > error -22 > > Dez 18 21:36:28 XXXXXX kernel: usb 2-7: reset full-speed USB device > > number 3 using xhci_hcd > > Dez 18 21:36:28 XXXXXX kernel: xhci_hcd 0000:00:14.0: xHCI > > xhci_drop_endpoint called with disabled ep ffff880424b5b400 > > Dez 18 21:36:28 XXXXXX kernel: xhci_hcd 0000:00:14.0: xHCI > > xhci_drop_endpoint called with disabled ep ffff880424b5b448 > > Dez 18 21:36:28 XXXXXX kernel: xhci_hcd 0000:00:14.0: xHCI > > xhci_drop_endpoint called with disabled ep ffff880424b5b490 > > Dez 18 21:36:28 XXXXXX kernel: xhci_hcd 0000:00:14.0: xHCI > > xhci_drop_endpoint called with disabled ep ffff880424b5b4d8 > > Dez 18 21:36:28 XXXXXX fprintd[3546]: ** Message: device 0 claim status 0 > > Dez 18 21:36:28 XXXXXX fprintd[3546]: ** Message: adding finger 7 to the > > gallery > > Dez 18 21:36:28 XXXXXX fprintd[3546]: ** Message: start identification > > device 0 > > Dez 18 21:36:28 XXXXXX kernel: xhci_hcd 0000:00:14.0: WARN Event TRB for > > slot 2 ep 4 with no TDs queued? > > Dez 18 21:36:29 XXXXXX kernel: xhci_hcd 0000:00:14.0: WARN Event TRB for > > slot 2 ep 4 with no TDs queued? > > Dez 18 21:36:29 XXXXXX fprintd[3546]: ** Message: identify_cb: result > > verify-match (1) > > Dez 18 21:36:29 XXXXXX fprintd[3546]: ** Message: no longer monitoring fd 15 > > Dez 18 21:36:29 XXXXXX fprintd[3546]: ** Message: released device 0 > > > > > > Regards, > > Frank > > > > Am 18.12.2014 um 21:20 schrieb Vasily Khoruzhick: > >> Hi Frank, > >> > >> I've just got a report at > >> https://bugs.freedesktop.org/show_bug.cgi?id=61692 that it doesn't > >> work. > >> Did you actually test it? > >> > >> Regards, > >> Vasily > > > >>> > > _______________________________________________ fprint mailing list fprint@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/fprint