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нιη
  • 36,350

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,752