Bug 503898 - Fingerprint reader stops working after suspend/resume
Summary: Fingerprint reader stops working after suspend/resume
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: fprintd
Version: 11
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Bastien Nocera
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-06-03 09:34 UTC by Jonathan Dieter
Modified: 2009-07-30 09:33 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-07-30 09:33:18 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jonathan Dieter 2009-06-03 09:34:42 UTC
Description of problem:
The fingerprint reader stops working after suspend/resume cycle.  If I kill fprintd, and the restart it, everything works fine again.

Version-Release number of selected component (if applicable):
fprintd-0.1-9.git04fd09cfa.fc11.i586

How reproducible:
Always

Steps to Reproduce:
1. Suspend laptop
2. Resume laptop
  
Actual results:
No login screen for 30 seconds, then normal non-fingerprint login screen

Expected results:
Normal screensaver unlock screen with ability to use fingerprint

Additional info:
This is on a Lenovo ThinkPad X61.  The fingerprint reader is:
Bus 003 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

Comment 1 Jonathan Dieter 2009-06-03 10:28:37 UTC
Adding a /etc/pm/sleep.d/50kill-fprintd with

#!/bin/sh
# Kill fprintd on resume (as it will automatically respawn)

case "$1" in
	hibernate|suspend)
		;;
	thaw|resume) 
		killall fprintd
		;;
	*) exit $NA
		;;
esac

fixes the problem.  Obviously an ugly hack.

Comment 2 Bastien Nocera 2009-06-04 15:36:32 UTC
So it says "swipe your finger, etc." but it doesn't do anything? In this case it's probably the device not being reset properly.

Could you launch "/usr/libexec/fprintd" before suspending (kill the other running instance if any), and send in the whole log?

Make sure you remove the work-around script above, and that you log in using the password to avoid noise in the log.

Comment 3 Bug Zapper 2009-06-09 17:01:19 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 4 Jonathan Dieter 2009-06-09 17:42:15 UTC
No, sorry that I wasn't clear.  When it resumes, all I see is the Fedora background and the mouse cursor.  After 30 seconds, the login box comes up (without any fingerprint prompts)

Here's the fprintd output:
# /usr/libexec/fprintd 
Launching FprintObject
** Message: D-Bus service launched with name: net.reactivated.Fprint
** Message: entering main loop
** Message: user 'jonathan' claiming the device: 0
** Message: now monitoring fd 9
** Message: device 0 claim status 0
** Message: start verification device 0 finger 6
upekts:error [read_msg_cb] async msg read failed, code 1
upekts:error [verify_rd2800_cb] expected response, got 0 seq=0
** Message: verify_cb: result verify-disconnected (-71)

I think the "start verification" message is the last one before the computer goes to sleep.  Note that this was the first time I've seen the upekts error (though I tried this before).

Comment 5 Chris Weyl 2009-06-20 02:35:01 UTC
I'm seeing the same thing on a Thinkpad T61.  

Login after boot just fine via fingerprint, suspend/resume causes a long delay then a fingerprint-less screensaver unlock dialog box.

Comment 6 Jonathan Dieter 2009-07-30 09:33:18 UTC
Fixed on current up-to-date Fedora 11 system.


Note You need to log in before you can comment on or make changes to this bug.