** Description changed:

  **Description:**
  
  On Lenovo P15v Gen 1 running Ubuntu Unity 24.04, the fingerprint reader
  (Synaptics `06cb:00bd`) disconnects during PAM authentication after
  resuming from suspend. The root cause is that the integrated camera (IMC
  Networks `13d3:56fb`, driver `uvcvideo`) triggers a USB hub reset (`usb
  1-8: reset high-speed USB device`) which causes the fingerprint reader
  on the same internal USB hub to disconnect and reconnect with a new
  device number.
  
  This makes fingerprint authentication fail on the first attempt after
  every resume from suspend. The user must press Enter to restart the PAM
  authentication cycle, at which point the fingerprint reader has
  reconnected and works correctly.
  
  **Steps to reproduce:**
  1. Suspend the system (`systemctl suspend`)
  2. Resume from suspend
  3. The lock screen appears and requests fingerprint authentication
  4. Place finger on reader → no response, authentication fails with 
`verify-unknown-error`
  5. Press Enter → fingerprint authentication works correctly on second attempt
  
  **Expected behavior:**
  Fingerprint authentication works on first attempt after resume from suspend.
  
  **Actual behavior:**
  Camera (`usb 1-8`) resets during authentication, causing fingerprint reader 
(`usb 1-9`) to disconnect mid-authentication:
  ```
  kernel: usb 1-8: reset high-speed USB device number 3 using xhci_hcd
  kernel: usb 1-9: USB disconnect, device number 14
  fprintd: Device reported an error during verify: device was disconnected
  compiz: pam_fprintd(unity:auth): Verify result: verify-unknown-error (done: 1)
  kernel: usb 1-9: New USB device found, idVendor=06cb, idProduct=00bd
  ```
  
  **System information:**
  - **Machine:** Lenovo ThinkPad P15v Gen 1
  - **OS:** Ubuntu Unity 24.04
  - **Kernel:** 6.8.0-106-generic
  - **Fingerprint reader:** Synaptics Prometheus MIS `06cb:00bd`, driver 
`[none]`
  - **Camera:** IMC Networks / Azurewave Integrated Camera `13d3:56fb`, driver 
`uvcvideo`
  - **Display manager:** LightDM with Compiz/Unity
  - **fprintd version:** 1.94.3-1
  
  **Additional information:**
  The camera and fingerprint reader share the same internal USB hub (Bus 001, 
xhci_hcd). The camera has `power/control=auto` and `autosuspend_delay_ms=2000` 
by default, causing it to reset after resume which disrupts the fingerprint 
reader.
  
  Setting `power/control=on` for the camera via udev rules does not
  prevent the reset at resume time as the rule is applied too late.
+ 
+ **Additional contributing factor — fwupd:**
+ 
+ `fwupd` (firmware update daemon) also accesses the fingerprint reader
+ immediately after resume, causing additional disconnect/reconnect
+ cycles:
+ 
+ ```
+ kernel: usb 1-9: usbfs: process XXXX (fwupd) did not claim interface 0 before 
use
+ kernel: usb 1-9: USB disconnect
+ kernel: usb 1-9: New USB device found, idVendor=06cb, idProduct=00bd
+ ```
+ 
+ **Workaround applied:** A systemd-sleep script stops `fwupd` before
+ suspend and restarts it 5 seconds after resume, preventing it from
+ accessing the fingerprint reader during the critical authentication
+ window.
+ 
+ ```bash
+ # /lib/systemd/system-sleep/fwupd-sleep.sh
+ if [ "$1" = "pre" ]; then
+     systemctl stop fwupd
+ elif [ "$1" = "post" ]; then
+     sleep 5
+     systemctl start fwupd
+ fi
+ ```

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2145186

Title:
  Fingerprint reader disconnects during authentication after suspend due
  to camera USB hub reset

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2145186/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to