LINUX.ORG.RU

Не работает сканер отпечатков сразу после выхода из спячки

 , , ,


0

1

Имеется ThinkPad T430s и сканер отпечатков

Bus 001 Device 003: ID 147e:2020 Upek TouchChip Fingerprint Coprocessor (WBF advanced mode)

Работает вместе с fprintd и патченой libfprint.

$ grep ^auth /etc/pam.d/system-auth 
auth      required    pam_env.so
auth      sufficient  pam_fprintd.so
auth      sufficient  pam_unix.so     try_first_pass likeauth nullok
auth      required    pam_deny.so

Для блокировки экрана используется i3lock

$ cat /etc/pam.d/i3lock
#
# PAM configuration file for the i3lock screen locker. By default, it includes
# the 'system-auth' configuration file (see /etc/pam.d/login)
#

auth include system-auth

Спячкой рулит systemd.

$ grep ^Handle /etc/systemd/logind.conf 
HandlePowerKey=poweroff
HandleSuspendKey=suspend
HandleHibernateKey=ignore
HandleLidSwitch=ignore
$ cat /etc/systemd/system/suspend@.service
[Unit]
Description=Starts i3lock at suspend time
Before=sleep.target

[Service]
User=%I
Type=forking
Environment=DISPLAY=:0
ExecStartPre= 
ExecStart=/usr/bin/i3lock -d -c 272d2a -u

[Install]
WantedBy=sleep.target

При обычном запуске i3lock для снятия блокировки можно нажать Space+Enter, включится сканер и можно сканироваться. Или ввести пароль, после чего так же запустится сканер. При просыпании же сканер не запускается. i3lock разблокировывается сразу после ввода пароля. Если после этого опять запустить i3lock без ухода в suspend, то все работает нормально.

Куда копать?

Upd: методом высоконаучного тыка выяснил, что запуск i3lock из tty приводит к той же проблеме.

Upd: собрал libfprint из git'а - не помогло.

Upd: багрепорт http://bugs.i3wm.org/report/ticket/1018

★★★★★

Последнее исправление: kernelpanic (всего исправлений: 2)

посмотри в tty загружен ли у тебя модуль. и в tty при логине тоже должно сканировать палец.

# lsusb -d 147e:2020 -v
$ fprintd-verify
что выдаёт
cast f1xmAn

i_gnatenko_brain ★★★★
()
Ответ на: комментарий от i_gnatenko_brain

lsusb: http://pastebin.com/7RynmtJa

Отправил ноут в suspend, разбудил нажатием на Fn. В i3lock сканер не работает. Переключился в tty, не снимая блокировки - работает. Возвращаюсь к X'ам - в i3lock все равно не работает.

$ fprintd-verify
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger
Verify result: verify-match (done)
kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от i_gnatenko_brain

У тебя оно стоит ?

Оно. Сам в шоке)

Если резюмировать проблему: сканер не работает только в i3lock и только после просыпания.

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от kernelpanic

1. советую бить мэинтейнера этого пакета тапками
2. см. мой коммент выше

i_gnatenko_brain ★★★★
()
Ответ на: комментарий от i_gnatenko_brain

Так, уже интереснее. Переключился в tty без i3lock, запустил

DISPLAY=:0 /usr/bin/i3lock -d -c 272d2a -u

Вернулся в X'ы, i3lock запущен, но сканер не работает. Та же ситуация, что и при выходе из спячки.

Похоже не хватает каких-то переменных окружения.

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от i_gnatenko_brain

Да, но если запускать i3lock из tty, то не работает, если запускать из X'ов, то работает.

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от kernelpanic

Установка переменных $XAUTHORITY и $DBUS_SESSION_BUS_ADDRESS в tty при запуске i3lock не помогла.

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от i_gnatenko_brain

Я знаю, что такое kickstart. Но ваять его мне ну очень лень ручками.

Поиски меня ведут дальше:

Eсли из tty запускать i3lock через xautolock

$ DISPLAY=:0 /usr/bin/xautolock -locknow
то сканер работает.
$ grep ^Xautolock.locker .Xdefaults
Xautolock.locker: /usr/bin/i3lock -d -c 272d2a -u

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от i_gnatenko_brain

возьми xfce-шный

xfce-шный кто?

настрой выход из спячки на него

тут не так, systemd запускает i3lock перед тем, как увести ноут в сон. Нужно разобраться как запустить i3lock из tty, чтоб сканер работал, и поправить юнит.

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от i_gnatenko_brain

Запустил i3lock --debug, но ничего интересного не обнаружил. Можешь свои настройки PAM показать на предмет pam_fprintd.so?

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от kernelpanic
[brain@ThinkPad-X230 ~]$ grep ^auth /etc/pam.d/system-auth 
auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

поставил i3lock. из tty при запуске то же, что и у тебя.

i_gnatenko_brain ★★★★
()
Ответ на: комментарий от i_gnatenko_brain

Надо топать в багтреккер i3. в slimlock все работает. Даже если в /etc/pam.d/i3lock оставить только

auth required pam_fprintd.so
сканер не запускается.

kernelpanic ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.