2

I have a Lenovo ThinkPad T-430 laptop that has a fingerprint scanner, and I use fprint for all the authentications.

Whenever I open my laptop lid, after waking it up I'm presented to slide my finger along the scanner. I do it over and over again and nothing will happen until it finally shows the text field to enter it.

Anyone know how I can fix this?

1ST EDIT:

  • I've noticed that the scanner light is lit whenever it does work, so I think it's just not initializing from suspend.
  • Typing in the wrong password once the text field shows up activates the scanner and it works perfectly.
  • Locking the computer myself doesn't keep the scanner from not working, (I had made a mistake earlier making me think something was wrong)
  • Letting the computer go into suspend without closing the lid will cause fprint to time out.

2ND EDIT:

The output of lsusb gives me:

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub  
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 001 Device 005: ID 04f2:b2da Chicony Electronics Co., Ltd thinkpad t430s camera  
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]  
Bus 001 Device 003: ID 147e:2020 Upek TouchChip Fingerprint Coprocessor (WBF advanced mode)  
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  

Attempted to reset USB devices by the following

1. "usbreset.c" solution I get the same errors like

./usbreset: command not found

like another user. I've tried multiple times to no avail. Made sure I followed the instructions exactly.

2. Using

sudo sh -c "echo 0 > /sys/bus/usb/devices/1-1.3/authorized"

and

sudo sh -c "echo 1 > /sys/bus/usb/devices/1-1.3/authorized"

It did work in resetting the fingerprint scanner, but did not solve the issue of fprint not initializing after wake up.

αғsнιη
  • 35,660
  • Do you have the same issue when first turning on the system? Or does it only happen when waking from suspend? How long after locking manually does it fail to work? – Elder Geek Jul 11 '17 at 17:25
  • it works perfectly on boot up and I have no issues with it. And actually recently locking it myself has worked perfectly. I also noted that all the times that the fingerprint sensor or fprint works, the green light on the scanner is lit. – Thunder_Ruler Jul 12 '17 at 03:30
  • I made a small update to the post to help narrow down the issue :) – Thunder_Ruler Jul 12 '17 at 03:42
  • I'm almost certain that you are correct in your assessment that the driver isn't reinitializing after suspend. I've seen this issue before with several devices under several operating systems. I'm not familiar with the inner workings of the Lenovo ThinkPad T-430. How is the fingerprint scanner connected? Do you see it in the output of lsusb or lspci ? – Elder Geek Jul 12 '17 at 12:40
  • 1
  • Please edit the output of your lsusb command into your question along with exactly what you did (there are several answers to the duplicate post) to attempt to reset the USB connection and what output you received. Thank you for helping us help you! – Elder Geek Jul 13 '17 at 11:48
  • I've properly reset the finger print scanner as shown in the USB reset post and it still does not work with fprint. Installing fingerprint GUI did solve specifically this issue but the, though I find it more obtrusive and would still prefer a solution to fprint. As others may still have an issue with this :/ – Thunder_Ruler Jul 14 '17 at 17:24
  • forgot to mention that originally FingerprintGUI did originally have the same issue until I reset the fingerprint scanner. So it DID WORK on that program. I removed fingerprintGUI and re-installed fprint, to see if I could do the same. Even after resetting it again with fprint installed instead, I still have the same issue. So USB resetting did not work with fprint – Thunder_Ruler Jul 14 '17 at 17:35

1 Answers1

3

Based on your comments It appears that there's a disconnect between what you expect and what's actually happening. I'll attempt to explain. It's far from uncommon for a driver to fail to reinitialize properly upon resume. I've seen this issue under numerous operating systems both `nix and Windows based. One solution is now embedded in your question: Specifically, disabling and re-enabling the USB device/port/bus as discussed in the question I linked in my comment: How do you reset a USB device from the command line?

Doing this will not magically eliminate the problem of the device not properly reinitializing during wakeup but will work as a one off. If you want to resolve that, you'll need to incorporate a script to reset the device upon waking as described in this question. Since you are running 16.04 You'll want to pay attention to this comment on the accepted answer.

Elder Geek
  • 36,023
  • 25
  • 98
  • 183