|
Bugzilla – Full Text Bug Listing |
| Summary: | fingerprint reader with id 147e:2016 isn't detected correctly | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.3 | Reporter: | Roman Karlstetter <roman.karlstetter> |
| Component: | YaST2 | Assignee: | Timo Hoenig <thoenig> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | jsuchome, onelife.onemission, ro, schmuker, snwint, suse |
| Version: | Milestone 7 | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Roman Karlstetter
2009-08-05 21:14:19 UTC
the problem still appears in Milestone 6 Hi there. Please provide the steps you used to cause the issue. Did you enable to <use finger print reader> in YaST2? I didn't do anything special. I just started the KDE-live-CD (Milestone 4 and 6), then I opened YaST2 and clicked on fingerprint-reader. It starts to open, but then it fails with a message saying something like "there is no fingerprint reader available on your system."
> Did you enable to <use finger print reader> in YaST2?
where do I enable this?
YaST2 --> Hardware --> click "use fingerprint reader" --> configure. OK i tried to do this. There is no item "use fingerprint reader" here, so I clicked on "Fingerprint Reader". And then it starts to open but fails with this error message: "Fingerprint reader device is not available on this system." So I can not click on configure. But when I call lsusb I get the following line: Bus 001 Device 005: ID 147e:2016 Upek Biometrik Touchchip/Touchstrip Fingerprint Sensor so it seems to be available, only yast doesn't detect it? this problem is still present in M8, I tested it with the x86_64 KDE4 live version on an usb-stick Now I installed Milestone 8. The strange thing is, that when I download and compile the development-version from the fprint homepage, the fprint_demo programm works and I can enroll and see my fingerprint. But unfortunately it doesn't work in yast. What else can I try to make it work in yast? Still present in 11.3 M7 on a Lenovo T410s. lsusb shows "ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor", but the sensors can't be configured in yast. yes, it would be very cool if this finally could be configured via yast... Roman, which development version did you use? I'd like to try it myself. i used the version that is in the git repository: http://reactivated.net/fprint/wiki/Libfprint_development I don't know what this has to say, but there were no changes in there for a long time now (last commit 2009-06-20) Similar to bug 606707. libhd knows those readers that are supported. If you have some new driver lib, add something like vendor.id usb 0x147e &device.id usb 0x2016 +baseclass.id 0x116 +subclass.id 0x00 to /var/lib/hardware/hd.ids to make yast recognize it. Timo, if you update libfprint, drop me a note so that I can adjust the internal id list. If I add the 4 lines to /var/lib/hardware/hd.ids, yast still doesn't recognize my fingerprint reader. When I run hwinfo, I get, amongst others, this entry: 54: USB 00.0: 0000 Unclassified device [Created at usb.122] UDI: /org/freedesktop/Hal/devices/usb_device_147e_2016_noserial_if0 Unique ID: mZxt.kCK_SDPAt9A Parent ID: uIhY.MxUuepIFPaE SysFS ID: /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.0 SysFS BusID: 3-2:1.0 Hardware Class: unknown Model: "TouchStrip Fingerprint Sensor" Hotplug: USB Vendor: usb 0x147e "TouchStrip" Device: usb 0x2016 "Fingerprint Sensor" Revision: "0.01" Speed: 12 Mbps Module Alias: "usb:v147Ep2016d0001dc00dsc00dp00icFFisc00ip00" Config Status: cfg=no, avail=yes, need=no, active=unknown Attached to: #49 (Hub) Could be the existing file has a syntax error. Just replace it with one that has only this new entry. You can check the correctness of the file by running 'hwinfo --dump-db 0' which will show the values hwinfo read from the file. ok, after I did this I was able to open the yast dialog, but when I tried to assign a fingerprint with my username, it didn't work, there was something like yast couldn't find a symbol (probably because I compiled libfprint myself). I tested it with the various milestones and RCs, but libfprint doesn't seem to be updated, at least it still doesn't work with opensuse 11.3 RC2. Also it is now a bit late to include into 11.3, but it would be cool if at least some additional repository could provide the current version of libfprint, so that it also works with yast. (In reply to comment #15) >it would be cool if at least some > additional repository could provide the current version of libfprint, so that > it also works with yast. That would be cool indeed. Why don't you start an OBS project? I've given it a spin with 11.3-GMC and a R61 (147e:2016) and fingerprint reader works fine. At least console login and gnome-screensaver works. GDM didn't work but that is something for a different report then. Closing as WORKSFORME. Sorry, but it doesn't work for me on GM. Here's my mileage: After adding the four lines from comment 12 to /var/lib/hardware/hd.ids (which shouldn't be necessary for a closed bug), hwinfo recognized the device as fingerprint reader. Yast 2 lets me configure the reader, but it is impossible to register fingerprints for users. This is most likely due to the old libfprint in GM. I'm on a Thinkpad T410s, FP reader ID 147e:2016. Isn't it that resolving this bug requires 1) adding the info to /var/lib/hardware/hd.ids in the distro 2) updating the system libfprint to the development version (or at least providing it in some repo)? I hope I don't cause too much annoyance by reopening this bug. I assumed the R61 to have that very same fingerprint reader. But I might be mistaken. In case we really need an updated version of libfprint there is not much we can do for 11.3 as we're gold this week. As next steps I recommend the OBS approach and then push it towards FACTORY. That, of course, needs to be tied to an update for hwinfo (additional USB IDs). Any volunteers? putting out a new hwinfo is no big deal. just send me the ids. Great, here you are: from lsusb: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor My additional entry in /var/lib/hardware/hd.ids: vendor.id usb 0x147e &device.id usb 0x2016 +baseclass.id 0x116 +subclass.id 0x00 It might make sense to decorate the entry in hd.ids with a bit more vendor/product info. Should I send an additional personal message? That doesn't help alone, right? The libfprint (0.1.0-preX) update is the piece of work which needs time. That version of libfprint uses libusb 1.0 and needs testing/verification regarding compatibility with our PAM stack; especially whether pam_fp works. OK, I've managed to create a .spec file for libfprint-0.1.0_pre2 that builds an rpm. In theory, this should be enough to create an OBS project, IIRC. However, I still have some trouble getting the FP reader to work. With the new rpm installed, the yast fingerprint plugin for user management manages to access the FP reader (which is a progress over the old libfprint), but it fails immediately to read the fingerprint. I am a bit lost here - anyone like to help me get that FP reader working? I recommend building libfprint manually first. $ ./configure && make $ cd examples $ make Then run ./enroll, ./verify and/or ./verify_live . If this does _not_ show any issues, we have to investigate on the YaST side of things. (I don't have a fingerprint reader device at the moment, otherwise I could do that myself.) In any case there's an updated hwinfo in home:snwint. (In reply to comment #24) I built it manually, as suggested. > Then run ./enroll, ./verify and/or ./verify_live . ./enroll fails. For once, I needed to run it as root, because otherwise it couldn't open the USB device. If run as root, it crashes directly after printing "scan your finger now". Below is a copy of my console. $> sudo ./enroll root's password: This program will enroll your right index finger, unconditionally overwriting any right-index print that was enrolled previously. If you want to continue, press enter, otherwise hit Ctrl+C Found device claimed by UPEK TouchStrip Sensor-Only driver Opened device. It's now time to enroll your finger. You will need to successfully scan your finger 1 times to complete the process. Scan your finger now. sync:error [fp_enroll_finger_img] unrecognised return code -4 Enroll failed with error -22 Any ideas? re comment 25: Thanks, Steffen. But I guess you should refrain form submitting this to FACTORY before the more difficult bits are fixed. Otherwise we'll see users who are hoping for a supported fingerprint reader and fail miserably afterwards because a malfunctioning libfprint. re comment 26: Well, this is where debugging starts. It is pretty obvious that the libfprint module responsible for your fingerprint reader device is at fault. Unfortunately this is just a starting point for further investigation. If I recall correctly there exist _different_ UPEK USB devices with the _same_ USB IDs. Probably you have one of those which are unsupported. So this issue might be related. As this is just a wild guess from my side I recommend googling around to look for other users having the same combination of hard- and software (R61, libfprint-0.1.0-pre{1,2}. Maybe this yields something and we can proceed. So, now I also tried it with my R61 (Vendor: usb 0x147e "TouchStrip" Device: usb 0x2016 "Fingerprint Sensor") and it still doesn't work for me. The steps mentioned in comment #24 work for me (at least as root, as normal user there are some problems with permissions), but the version of libfprint shipped with 11.3 is too old I think. So a updated version of libfprint and hwinfo are needed to make it work (at least for the fingerprint reader model in my notebook) I think. re comment 27: As I have a lenovo T410s (and not an R61) with the 147e:2016 FP reader, and since the new libfprint does not work for me (in contrast to Roman's experience), I guess I'm indeed bitten the the fact that there are different devices with the same ID. Regarding the fact that there does not seem to be any development on libfprint, chances are quite low that my FP reader will ever be supported :/ I'm trying to push the changes for an updated libfprint into factory now with all that's needed to support the FP-scanner on my T410 which has the same usb id and I'd assume this would work for the T61 as well. the packages are (among a lot of others all in home:oertel:branches:openSUSE:Factory in the openSUSE buildservice) the packages modified for this are: - hwinfo - pam-config - libfprint - pam_fprint (replacing pam_fp) - yast2-fingerprint-reader so, now I tested this stuff with opensuse 11.4 Milestone 5, and now I get the "fingerprint reader"-entry in yast. And I also can enroll my finger in the user-settings yast window, but also when I try to log in, I get the following: Could not locate any suitable fingerprints matched with available hardware. This appears as a dialog for example after logging in (or logging in again after I locked the screen), or just as commandline output if I try to su. So I am still not able to actually use the fingerprint reader ok, I tried it again today, and even if I think I didn't do anything in a different way, now it works. thanks a lot The fingerprint reader works for me now using 11.4. I tested it as root with enroll and verify. Works for me using 12.1 and enroll/verify, too. I resolve this bug report as per Comment 32. This is an autogenerated message for OBS integration: This bug (528596) was mentioned in https://build.opensuse.org/request/show/486334 Factory / hwinfo |