Проблема с клавиатурой после обновления
Доброго времени суток. Вообщем есть у меня клавиатура Genius Imperator PRO со светодиодной подсветкой.После обновления мира(не обновлял около полугода) появилась проблема. Симптомы: после пары секунд бездействия подсветка клавиатуры отключается, и она перестает отвечать на нажатия. Но после одного-двух нажатий на некоторорые(не все) клавиши в основном с левой стороны (таб шифт и т.д) подсветка снова включается и клавиатура нормально работает, пока не перестаешь нажимать на клавиши. После пары секунд бездействия снова отключается. После длительного поиска виновным оказался Udev. Судя по этой записи в Xorg.0.log он думает что моя клавиатура это мышь:
[ 59.971] (II) config/udev: Adding input device Imperator Pro (/dev/input/mouse1)
Вот весь xorg.0.log http://pastebin.com/gnjQ2Fu6
Если отключить при загрузке системы udev то клавиатура работает нормально. После включения udev подсветка пропадает моментально.
Есть какая-нибудь возможность повлиять на udev и решить данную проблему?
P.S. Я не совсем шарящий в Linux человек(хотя уже многое освоил).Так что где это возможно излагайте по-подробнее. Заранее спасибо!
- Для комментирования войдите или зарегистрируйтесь
Alexander011
Я бы обвинял udev только если клавиатура и вне Х не работает. Если проблема только внутри Х то тогда проблема с автоматическим обнаружением устройств. Судя по логу, Х видит клавиатуру как 2 устройства. Одно как собственно клавиатуру, а другое как мышь. Можно попытаться запретить конфигурацию второго устройства. Попробуйте добавить следующую секцию в xorg.conf (или xorg.conf.d)
Это должно остановить Х от попыток конфигурировать клавиатуру как мышь.
Чем больше юзерфрендли, тем сложнее юзать.
Спасибо за ваш ответ. Но
Спасибо за ваш ответ. Но боюсь предложенный вами способ не работает.
Проблема именно в udev. Сегодня разобралься как вытащить из него хоть какую-то информацию. В первом посте я привел лог xorg только потому что не мог больше нигде найти ни строчки инфы от udev. Так вот если включить
udevadm monitor --environment --udev
и потом подключить клавиатуру получим вот это:
http://pastebin.com/KSSQ2hjU
Я не очень разбираюсь во всем что там написано, но насколько я понимаю клавиатура определяется как составное устройство клавиатура+мышь+усбхаб а должно быть клавиатура+усбхаб.
Как быть?
Вообще говоря, это не udev
Вообще говоря, это не udev определят, а драйвера в ядре. Собственно, это не должно быть проблемой если указать Х-серверу, что "мышь" не нужно использовать. Всё же попробуйте предложенную мной конфигурацию и посмотрите, а вдруг поможет.
Если не поможет, тогда нужно будет разбираться с драйверами, почему они считают, что в клавиатуре есть ещё и мышь, а это будет более заморочно, чем конфигурация Х-сервера.
Чем больше юзерфрендли, тем сложнее юзать.
Вообще говоря, это не udev
Я добавил ваш код в мой xorg.conf и ничего не изменилось. Про это я написал еще в прошлом посте первой строчкой, видимо просто не ясно выразился. После добавления кода ничего не изменилось. Проблема не в том что у меня в системе вроде как лишняя мышь и ее нужно отключить, а в том что у клавиатуры пропадает подсветка, и она перестает реагировать на нажатия.
Чтобы доказать что это проблема именно удева
rc-update del xdm default
rc-update del udev sysinit
Система загружается, но естественно без иксов и удева, в CLI. Все работает отлично. Клавиатура работает как нужно(подсветка постоянно горит).
После ввода
/etc/init.d/udev start
у клавиатуры моментально пропадает подсветка, и она начинает вести себя как я и описал в первом посте. Тоесть до иксов дело еще не доходит, а клавиатура уже глючит.
Сам по себе udev это всего
Сам по себе udev это всего лишь администратор. Он пробегает по всем устройствам которые известны ядру и затем выполнят инициализацию этих устройств в соответствии с заданными правилами. Вопрос в том, что за инициализацию делает udev. Если верить документации, то udev запускает modprobe (или kmod) чтобы загрузить модуль с драйвером для устройства. Если не ошибаюсь, в данном случае за устройство отвечает драйвер usbhid. Помимо загрузки модуля, udev может создавать линки в /dev и привязывать к ним уровни доступа.
Наличие или отсутствие линков не должно что-то менять. Загрузка драйвера это конечно решающий момент, но вроде бы клавиатура без udev работает, значит какой-то драйвер уже ей управляет. Возможно udev подгружает другой драйвер. Можно попытаться посмотреть какие действия совершает udev с помощью команды
udevadm test --action=add $(udevadm info --query=path -n /dev/input/mouse1)
здесь я использую линк созданный udev для мыши указанной драйвером.Можно ещё попробовать посмотреть, что управляет клавиатурой до запуска udev. Здесь можно воспользоваться
lsusb -v -d 0458:4019
Ах да, можно попробовать разобраться какая версия ядра и udev была до обновления и попытаться откатиться на эти версии.
В общем танцы с бубном :)
Чем больше юзерфрендли, тем сложнее юзать.
udevadm test --action=add
http://pastebin.com/0Fa1umsz
http://pastebin.com/dhL8036F
Ядро до обновления было вроде 3.14.14 а вот какая версия удева я точно не вспомню.
.
Вспоминать не нужно.
Можно начать с чтения журналов
portage
.:wq
--
Live free or die
Нет, ничего интересного.
Нет, ничего интересного. Рекомендую попробовать откатить ядро (самый простой вариант, может даже старое ядро всё ещё в /boot лежит, всё что нужно - это его загрузить)
Чем больше юзерфрендли, тем сложнее юзать.