LINUX.ORG.RU

Клавиатура, suspend, evdev, pm-utils - продолжаем продолжать

 , hp4540s, ,


0

1

Краткий пересказ предыдущего треда:

На ноутбуке после саспенда отваливается клавиатура. Путем проб, ошибок, поиска и тычков наугад было найдено решение:

echo -n reconnect > /sys/devices/platform/i8042/serio{0,1}/drvctl

И написан скрипт /etc/pm/sleep.d/20-keyboard

#!/bin/sh
if [ -n «$1» ] && ([ «$1» = «resume» ] || [ «$1» = «thaw» ]); then
sleep 5
for i in 0 1 
    do
	sleep 1
	echo -n reconnect > /sys/devices/platform/i8042/serio${i}/drvctl
    done
fi%              
при переходе в саспенд и при выходе из него pm-utils дергает этот скрипт. Проблема в том, что клавиатура не взлетает. Но если запустить этот скрипт потом вручную - все возвращается.

В /etc/pm/config.d/config было добавлено

SUSPEND_MODULES="evdev"
что вроде как обязывает выгружать перед саспендом модуль evdev, ответственный за клавиатуру, и загружать его после. На деле не помогает ни разу.

Я уже смирился, что по-людски сделать не выйдет. Так что вопрос: как можно заставить этот скрипт выполняться? cron'ом его запускать постоянно мне не нравится. Если бы можно было к LightDM, например, добавить кнопку, которая бы запускала этот скрипт, то было бы круто. Ведь я не могу ввести пароль после саспенда. Какие у вас есть идеи?

dmesg, логи ты конечно смотрел.

а если это CONFIG_SERIO_I8042 собрать модулем и добавить его в SUSPEND_MODULES?

ZuBB ★★★★★
()
Последнее исправление: ZuBB (всего исправлений: 1)
Ответ на: комментарий от ZuBB

serio_raw - такой модуль есть добавлял его - никаких изменений

в dmesg просто логи просыпания. Если включается клава, то с первым нажатием на нее evdev радостно об этом туда пишет.

Nicholass ★★★
() автор топика
Последнее исправление: Nicholass (всего исправлений: 1)
Ответ на: комментарий от cchr
Running hook /usr/lib/pm-utils/sleep.d/75modules suspend suspend:
Unloading kernel module evdev...FATAL: Module evdev is in use.
/usr/lib/pm-utils/sleep.d/75modules: 89: /usr/lib/pm-utils/sleep.d/75modules: log: not found
Failed.

нашел там такое

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

Если вам _действительно_ надо выгружать/загружать модуль evdev, то придется руками также вписать в SUSPEND_MODULES его зависимости.

cchr
()
Ответ на: комментарий от lazyklimm

добавил modprobe evdev ушел в саспенд - вышел, клава не работает.

Вызвал сам скрипт - все вернулось. Т.е. скрипт рабочий, но почему-то то ли задержки в 5 секунд ему не хватает то ли не пойми что

причем в этот раз

Running hook /usr/lib/pm-utils/sleep.d/75modules resume suspend:
Reloaded unloaded modules.
Nicholass ★★★
() автор топика
Последнее исправление: Nicholass (всего исправлений: 1)

посмотрел я на вывод логов

/usr/lib/pm-utils/sleep.d/55NetworkManager resume suspend: success.
Running hook /etc/pm/sleep.d/20-keyboard resume suspend:

/etc/pm/sleep.d/20-keyboard resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00powersave resume suspend:

/usr/lib/pm-utils/sleep.d/00powersave resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00logging resume suspend:

/usr/lib/pm-utils/sleep.d/00logging resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/000kernel-change resume suspend:

/usr/lib/pm-utils/sleep.d/000kernel-change resume suspend: success.
Tue May 28 00:24:39 EEST 2013: Finished.

и подумал, ведь я его вручную всегда после 000kernel-change запускаю.

и переименовал в 0000-kbd

не знаю, правильно ил по перед ядра в пекло, но вернувшись из саспенда клава работала.

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

Я еще пару дней понаблюдаю, потому что бывало, что клава работает и в прошлые разы, да не всегда. Уберу сегодня из скрипта задержку, если покатит, то дело действительно в приоритете. Еще проверю скрипт пробуждения, который предположительно блочит клаву, может можно пофиксить и тогда отмечу тред и отпишу в дебиановский багтреккер.

Nicholass ★★★
() автор топика
6 января 2015 г.
Ответ на: комментарий от Nicholass

И как, помогло?

Ваш воркэраунд нагуглился и пригодился для решения проблемы с неработающими с холодного старта вспомогательными клавишами (регулировка яркости) на ноутах с ваниальным ядром 3.17.5 (на 3.14.25 - такой проблемы не было). Клавиши начинают работать после засыпания\пробуждения либо если передернуть клаву при помощи:

echo -n reconnect > /sys/devices/platform/i8042/serio0/drvctl
azure ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.