Вопрос или проблема
У меня есть Lenovo Ideapad 320-15ABR (я нашел точное имя модели с помощью dmidecode
). У меня проблемы с работой тачпада. Он не отображается в xinput --list
или cat /proc/bus/input/devices
. Я использую Linux 4.13.2, собранный с несколькими дополнительными сообщениями отладки.
Вот некоторые соответствующие сообщения dmesg при загрузке с i8042.nopnp
. Без этой опции я получаю сообщение: i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
$ dmesg|grep psm
[ 2.595815] bus: 'serio': add driver psmouse
[ 2.627475] bus: 'serio': driver_probe_device: matched device serio1 with driver psmouse
[ 2.627477] bus: 'serio': really_probe: probing driver psmouse with device serio1
[ 2.627482] psmouse serio1: no default pinctrl state
[ 2.651584] psmouse: probe of serio1 rejects match -19
$ dmesg|grep i8042
[ 2.577522] i8042: PNP detection disabled
[ 2.578648] Registering platform device 'i8042'. Parent at platform
[ 2.578650] device: 'i8042': device_add
[ 2.578655] bus: 'platform': add device i8042
[ 2.578668] PM: Adding info for platform:i8042
[ 2.578682] bus: 'platform': add driver i8042
[ 2.578692] bus: 'platform': driver_probe_device: matched device i8042 with driver i8042
[ 2.578694] bus: 'platform': really_probe: probing driver i8042 with device i8042
[ 2.578699] i8042 i8042: no default pinctrl state
[ 2.578702] devices_kset: Moving i8042 to end of list
[ 2.595059] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 2.595070] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 2.595125] driver: 'i8042': driver_bound: bound to device 'i8042'
[ 2.595150] bus: 'platform': really_probe: bound device i8042 to driver i8042
[ 2.604184] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
редактировать:
Я открыл заявку здесь на случай, если кому-то интересно следить за этой проблемой: https://bugzilla.kernel.org/show_bug.cgi?id=196985
У меня есть Lenovo Ideapad 320.
Проблема: тачпад Elan (и курсор, конечно) случайно зависает.
Систему (Ubuntu 18.04) нужно перезагрузить.
Мое обходное решение (с помощью modprobe) такое:
создать 2 скрипта – я назвал их touchactive.sh
и touchactive2.sh
в /bin (проведите это с помощью sudo gedit…или что-то в этом роде)
touchactive.sh
:
#!/bin/bash
modprobe -r elan_i2c
touchactive2.sh
:
#!/bin/bash
modprobe elan_i2c
потом в терминале: sudo visudo
вы добавляете эти строки:
vader ALL=(ALL) NOPASSWD: /bin/touchactive.sh
vader ALL=(ALL) NOPASSWD: /bin/touchactive2.sh
(vader
– это мое имя пользователя, поэтому замените его на ваше…)
…и сохраните
откройте системные настройки -> клавиатура -> “+” -> и создайте сочетания клавиш:
назовите “Перезагрузка тачпада Elan” 1 с клавишами “super” + “z”
команда: sudo /bin/touchactive.sh
и… “Перезагрузка тачпада Elan 2” с клавишами “super” + “x”
команда: sudo /bin/touchactive2.sh
перезагрузите компьютер
(это мой пример, вы можете выбрать другие опции, клавиши и имена)
Итак, когда все зависает, вы можете просто использовать клавиши super z и super x, и тогда ваш тачпад/курсоры перезапустятся без перезагрузки всей системы.
Это мое решение и некоторое облегчение (хотя и не очень элегантно…), чтобы я мог работать нормально до выхода следующего ядра (есть надежда…)
Ответ или решение
Устранение неполадок с неотзывчивым тачпадом на Lenovo Ideapad 320-15ABR
Если ваш тачпад на Lenovo Ideapad 320-15ABR не реагирует на ввод, это может быть вызвано несколькими причинами, связанными как с аппаратным обеспечением, так и с операционной системой. Давайте рассмотрим процесс диагностики и решения этой проблемы на уровне операционной системы Linux.
1. Предварительная проверка
Прежде чем углубляться в технические детали, важно подтвердить, что аппаратное обеспечение вашего устройства работает корректно. Проверьте следующее:
- Убедитесь, что тачпад не отключён с помощью сочетания клавиш (обычно это Fn + F6 или аналогичная комбинация, в зависимости от модели).
- Проверьте, обновлены ли драйвера устройства.
2. Анализ системы
Вы упомянули, что при запуске системы с параметром i8042.nopnp
вы наблюдаете разные сообщения в dmesg
. Выполненные команды, такие как xinput --list
и cat /proc/bus/input/devices
, не показывают вашего тачпада. Это указывает на то, что проблема может быть связана с драйверами или конфигурацией системы.
Следовательно, выполните следующие шаги:
Проверка вывода dmesg
Сосредоточьтесь на выводе, связанном с драйверами i8042 и psmouse. Сообщение о том, что psmouse: probe of serio1 rejects match -19
, указывает на то, что драйвер psmouse не может корректно обработать устройство. Возможно, это связано с конфликтом адресов или инициализации.
Добавление параметра загрузки
Если вы ещё не сделали этого, попробуйте добавить параметр i8042.reset
в конфигурацию загрузчика (например, GRUB). Это может помочь системы распознать тачпад.
- Откройте файл конфигурации GRUB:
sudo nano /etc/default/grub
- Найдите строку, которая начинается с
GRUB_CMDLINE_LINUX_DEFAULT
и добавьтеi8042.reset
:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.reset"
- Сохраните изменения и обновите GRUB:
sudo update-grub
3. Установите и протестируйте драйвера
Иногда проблема может быть устранена установкой дополнительных драйверов. Убедитесь, что у вас установлены следующие пакеты:
sudo apt install xserver-xorg-input-synaptics xserver-xorg-input-libinput
sudo apt install xserver-xorg-input-mtrack
После установки перезагрузите систему и проверьте, появился ли тачпад в xinput
.
4. Альтернативное решение для ненадежного тачпада
Если вы столкнулись с частыми зависаниями тачпада, вы можете использовать ваш скрипт-приложение на основе modprobe
как временное решение:
Созданные вами скрипты touchactive.sh
и touchactive2.sh
можно адаптировать таким образом:
- Убедитесь, что они имеют права на выполнение:
chmod +x /bin/touchactive.sh chmod +x /bin/touchactive2.sh
С помощью этих скриптов вы сможете быстро перезапускать драйвер тачпада, что облегчит вам работу, пока не будет выпущен новый стабильный релиз ядра.
Заключение
Если перечисленные шаги не решают вашу проблему, возможно, это аппаратная неисправность или конфликт с другим оборудованием. В этом случае настоятельно рекомендуется установить самую последнюю версию ядра линукс или обратиться в сервисный центр Lenovo.
Не забывайте следить за обновлениями на сайте Bugzilla, где вы зарегистрировали свою проблему, чтобы быть в курсе новых патчей и рекомендаций от разработчиков.
Если у вас есть дополнительные вопросы или необходима помощь, не стесняйтесь обращаться за помощью на форумы Linux-сообществ или к профессиональным IT-специалистам.