tags 679001 +patch +pending thanks Hi Chris, and thanks for your bugreport,
Le lundi, 25 juin 2012 18.16:49, Chris a écrit : > > while using the fingerprint-gui https://launchpad.net/~fingerprint on my > Thinkpad T61 with this fingerprint reader: > > Bus 002 Device 002: ID 0483:2016 SGS Thomson Microelectronics > Fingerprint Reader > > i've got the message "cloud not open fingerprint-device". After adding > the following line: > > SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="2016", > ATTRS{dev}=="*", ATTR{power/control}="auto", MODE="0664", GROUP="plugdev" > > to my > > /lib/udev/rules.d/60-libfprint0.rules > > the gui is now working. Indeed. The udev rules generator was too smart: your device is blacklisted by libfprint for the power/control capability so there was no udev rule created at all. The attached patch embeds the Debian-specifics in that udev rules generator while respecting the blacklist for power/control. This will be uploaded soon. > SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="2015", > ATTRS{dev}=="*", ATTR{power/control}="auto", MODE="0664", GROUP="plugdev" > SUBSYSTEM=="usb", ATTRS{idVendor}=="1162", ATTRS{idProduct}=="0300", > ATTRS{dev}=="*", ATTR{power/control}="auto", MODE="0664", GROUP="plugdev" > > Maybe this readers can be added to the rules file from libfprint0? No; and here's why: 0483:2015 and 1162:0300 are devices supported by the "upektc" and "fdu2000" drivers respectively. These two drivers cannot currently be compiled in libfprint and are marked as "not ported" (to libusb-1.0). So before adding the udev rules for them, one needs to port the drivers. Cheers, OdyX
Description: Tweak the udev rules creator for Debian usage List all devices; automatic power/control only for the non-blacklisted ones; mode and group to all. Author: Didier Raboud <[email protected]> Origin: vendor Last-Update: 2012-06-26 --- a/libfprint/fprint-list-udev-rules.c +++ b/libfprint/fprint-list-udev-rules.c @@ -54,9 +54,6 @@ break; } } - if (blacklist) - continue; - key = g_strdup_printf ("%04x:%04x", driver->id_table[i].vendor, driver->id_table[i].product); if (g_hash_table_lookup (printed, key) != NULL) { @@ -66,7 +63,10 @@ g_hash_table_insert (printed, key, GINT_TO_POINTER (1)); - printf ("SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ATTRS{dev}==\"*\", ATTR{power/control}=\"auto\"\n", driver->id_table[i].vendor, driver->id_table[i].product); + printf ("SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ATTRS{dev}==\"*\", ", driver->id_table[i].vendor, driver->id_table[i].product); + if (!blacklist) + printf ("ATTR{power/control}=\"auto\", "); + printf ("MODE=\"0664\", GROUP=\"plugdev\"\n"); } }
signature.asc
Description: This is a digitally signed message part.

