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");
     }
 }
 

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to