Manjaro Linux

Русское сообщество

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

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

Сообщение manjarqo » 26 янв 2015, 10:24

До предпоследней обновы системы, примерно до середины января, всё было отлично и никаких нареканий к системе не было, но вот заметил что сейчас загнав на ночь компутер в спящий режим, не получается ввести пароль для входа в систему после пробуждения. Потыкал кнопки с индикаторами, индикаторы никак не реагируют, пришел к выводу, что клава не выходит из сна, мышь функционирует. Погуглил, ничего стоящего не удалось найти, может кто знает как победить сей недуг? Спасибо. :crazy:
Аватара пользователя
manjarqo
Администратор
 
Автор темы
Сообщения: 407
Зарегистрирован: 30 июн 2014, 15:36
Откуда: Краснодар
Благодарил (а): 51 раз.
Поблагодарили: 64 раз.

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

Сообщение dimonmmk » 26 янв 2015, 15:47

Попробуйте yaourt systemd-suspend-modules и прописать модуль Вашей клавиатуры в файл /etc/suspend-modules.conf
Аватара пользователя
dimonmmk
 
Сообщения: 604
Зарегистрирован: 10 июл 2014, 19:08
Откуда: 57° 3'51.28" 36° 1'43.38"
Благодарил (а): 14 раз.
Поблагодарили: 134 раз.

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

Сообщение manjarqo » 26 янв 2015, 21:15

dimonmmk писал(а):Попробуйте yaourt systemd-suspend-modules и прописать модуль Вашей клавиатуры в файл /etc/suspend-modules.conf

прошу прощение за вопрос профана, а как узнать модуль Нашей клавиатуры? :)
Аватара пользователя
manjarqo
Администратор
 
Автор темы
Сообщения: 407
Зарегистрирован: 30 июн 2014, 15:36
Откуда: Краснодар
Благодарил (а): 51 раз.
Поблагодарили: 64 раз.

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

Сообщение dimonmmk » 26 янв 2015, 23:23

Забудьте, systemd-suspend-modules чего-то глючит...
Может, надежнее перезапускать порт клавиатуры? Я так делал с глючным usbшным модемом, который тоже после сна сам не заводился.

Ставите usbreset, через lsusb узнаёте порт, пишете скрипт:
Код: Выделить всё
#!/bin/sh
usbreset /dev/bus/usb/00№/00№

прописываете его в systemd- создаете файл /etc/systemd/system/myscript.service примерно так:
Код: Выделить всё
[Unit]
Description=My script
[Service]
ExecStart=/usr/bin/my-script
[Install]
WantedBy=multi-user.target

потом systemctl enable myscript.service

С модемом работало.
Аватара пользователя
dimonmmk
 
Сообщения: 604
Зарегистрирован: 10 июл 2014, 19:08
Откуда: 57° 3'51.28" 36° 1'43.38"
Благодарил (а): 14 раз.
Поблагодарили: 134 раз.

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

Сообщение sizonov stas » 26 янв 2015, 23:54

Попробуйте добавить хук resume в файл /etc/mkinitcpio.conf:
Код: Выделить всё
HOOKS="base udev autodetect modconf block resume filesystems keyboard fsck"

Перегенерируйте образ initramfs командой:
Код: Выделить всё
# mkinitcpio -p linux


Взял здесь, но у него кажется гибернация не работала.
Аватара пользователя
sizonov stas
 
Сообщения: 70
Зарегистрирован: 05 июл 2014, 03:35
Благодарил (а): 1 раз.
Поблагодарили: 11 раз.

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

Сообщение manjarqo » 27 янв 2015, 00:24

sizonov stas писал(а):Попробуйте добавить хук resume

Спасибо, это немного не про то, это я умею, у меня там уже было resume.

dimonmmk писал(а):Ставите usbreset, через lsusb узнаёте порт, пишете скрипт

Сделал как вы и сказали скрипт kbdusbrestart, создал kbdusbrestart.service, сделал systemctl enable kbdusbrestart.service , при не длительном переходе в сон работало всё, так что уже на ночь поставлю в сон и утром погляжу помог ли ваш рецепт, спасибо огромное, надеюсь прокатит :good:

P.S. проверил выйти в сон на 5 минут -клавиатура из сна так и не вышла, перезагрузился попробовал снова уйти в сон пойти попить чай - клавиатура из сна так и не вышла, перезагрузился по другим ядром (3.16) попробовал сходить в сон- клавиатура из сна так и не вышла :cry:
Аватара пользователя
manjarqo
Администратор
 
Автор темы
Сообщения: 407
Зарегистрирован: 30 июн 2014, 15:36
Откуда: Краснодар
Благодарил (а): 51 раз.
Поблагодарили: 64 раз.

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

Сообщение dimonmmk » 27 янв 2015, 11:42

manjarqo писал(а):клавиатура из сна так и не вышла

Мануал по системд и статейка на похожую тему:
Вики по systemd русский
Автозапуск Яндекс.Диска как службы systemd

Добавлено спустя 11 часов 13 минут 20 секунд:
То, что скрипт после ребута не работает, связано с тем, что нумерация шин и портов usb теперь, зараза, динамическая. То есть меняется с каждым стартом. Скрипт нужно изменить, чтобы он сам находил, на какой шине и каком порту висит устройство.
Код: Выделить всё
#!/bin/bash
bus=$(lsusb | grep Keyboard | gawk '{print $2}')
port=$(lsusb | grep Keyboard | gawk '{print $4}' | cut -d":" -f1)
usbreset /dev/bus/usb/$bus/$port

"Keyboard" здесь- поисковое слово, можно менять на любое другое, присутствующее в строке lsusb.
Можно использовать любое уникальное слово, например, ID устройства или даже фирму-производителя.
То есть скриптом в принципе можно "передернуть" не только клавиатуру.

Запуск скрипта тоже нужно слегка изменить:
Код: Выделить всё
[Unit]
Description=My script
[Service]
Type=oneshot
User=root
Group=root
ExecStart=/usr/bin/my-script
[Install]
WantedBy=multi-user.target
Это уже так, для порядка. Начитался мануалов, а работать оно и так должно.

Но пока будет работать ТОЛЬКО при перезагрузке.
Чтобы работало при выходе из сна, нужно еще кинуть ссылку на скрипт в каталог /usr/lib/systemd/system-sleep/


Пробуйте.
Получился универсальный скрипт для оживления разных упрямых usb девайсов... :)
Последний раз редактировалось dimonmmk 28 янв 2015, 12:18, всего редактировалось 2 раз(а).
Аватара пользователя
dimonmmk
 
Сообщения: 604
Зарегистрирован: 10 июл 2014, 19:08
Откуда: 57° 3'51.28" 36° 1'43.38"
Благодарил (а): 14 раз.
Поблагодарили: 134 раз.


Вернуться в Manjaro KDE Edition



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1