Після призупинення роботи ноутбука тачпад не працює


15

Це здається поширеною проблемою, але після випробування всіх виправлень, які я знайшов на форумах, я все ще втрачаю.

Технічні характеристики:

  • комп'ютер: Asus k501LX-EB71
  • ОС: Ubuntu 14.04.3
  • ядро: 3.19.0-26-generic
  • тачпад: тачпад Elantech
  • драйвер: xserver-xorg-input-synaptics-lts-trusty (OR) xserver-xorg-input-synaptics-lts-vivid (не впевнений, який з них використовується)

Що я спробував: я можу побігти sudo modprobe -r psmouse"вимкнути" тачпад, а потім sudo modprobe psmouseувімкнути його. Це чудово працює. Однак, коли я призупиняю, я не можу "оживити" сенсорну панель, навіть якщо я ввожу ці команди.

Будь-які думки?

ОНОВЛЕННЯ:

Я не спостерігаю за цією проблемою, якщо сплю в сплячку замість призупинення. Я не впевнений, що з цього підказки ...

СУЧАСНА РОБОТА:

Оскільки сплячий режим, здається, не спричиняє проблем, і у мене є відповідна кількість пам’яті своп, я просто перезимує як дію за замовчуванням для таких речей, як закривання кришки. Ось кроки, які я дотримувався, щоб увімкнути сплячку . Я також змінив інші параметри живлення за замовчуванням, щоб перейти в сплячку за допомогою редактора dconf під org> gnome> settings-daemon> plugins> power


Це може бути вам корисним: ubuntuforums.org/showthread.php?t=2189117
Elder Geek

хммм ... дякую за швидку відповідь, але я не виконав усіх кроків у цій темі. З будь-якої причини я не можу відновити тачпад sudo modprobe psmouseпісля призупинення. Просто, здається, нічого не відбувається. Я не можу знайти щось непомітне у файлах журналів
Ross Allen

Я вважаю вашу відповідь вирішенням. Ви повинні записати це як таке, оскільки це, ймовірно, допоможе іншим, а вбудова відповіді у ваше запитання може ускладнити її пошук.
Старійшина Гік

Відповіді:


8

Про цю помилку повідомляється у запуску: тачпад Elantech припиняє роботу після призупинення . Після того, як призупинити OP спроб # modprobe -r psmouseі # modprobe psmouseі він не працює. Але що робити, якщо psmouse був видалений перед тим, як призупинити та вставити після призупинення?

Якщо це працює вручну, то ви можете автоматизувати, створивши новий каталог у /lib/systemd/system-sleep/каталозі, що містить:

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    modprobe -r psmouse
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    sleep 2
    modprobe psmouse
    ;;
esac

Це відомо, що після призупинення модуля psmouse неможливо видалити. Ми також знаємо, що його можна видалити та вставити перед тим, як призупинити. Тож ця техніка видаляє її перед тим, як призупинити. Після резюме вставте його і, сподіваємось, ядро ​​не відкине його.

sleep 2Команда з моїх власних проблем , де Systemd і ядро ( з допомогою гнома або APM) були як сон і пробудження. Мені потрібно було перенаправляти пульсовий звук назад до телевізора через помилку, введену в Ubuntu 16.04 / pulseaudio 8.0. Затримка на 2 секунди була необхідна для ядра та systemd, щоб закінчити пробудження. Ще не з'ясували подвійного призупинення та подвійного резюме ....


Я думаю, було б краще використовувати стандартну SUSPEND_MODULESфункцію pm-utilsдля цього linux.die.net/man/8/pm-suspend
cgogolin

Це рішення не спрацювало для мене. Ubuntu 18.04 з "SYNA8004: 00 06CB: Сенсорна панель CD8B", Lenovo X1 Carbon Gen 7. Я отримую спритну поведінку тачпада після відновлення зі сну.
SaTa

7

Рекомендовано мені опублікувати своє вирішення як відповідь:

Я виявив, що сплячий режим ( sudo pm-hibernate) не відчував однакових проблем із перезапуском сенсорної панелі, тому я просто встановив усі відповідні параметри живлення, щоб перезимувати, а не призупиняти. Для цього потрібно докласти трохи зусиль, оскільки сплячий режим відключений за замовчуванням. Ось що має відбутися


1
Остерігайтеся, сплячий режим відключений за замовчуванням, оскільки є велика ймовірність пошкодження жорсткого диска. Мені довелося перевстановити ОС двічі після невдалої сплячки. Зараз його знову відключили.
кробар

1
Змінення налаштування сенсорної панелі у вашій BIOS з ADVANCED на BASIC, що не має ніякої різниці щодо функціональності, і сенсорна панель все ще працює при відновленні з призупинення.
pst007x

4

Наступне рішення працювало для мене на моєму Acer Predator Helios 300 під керуванням Ubuntu 18.04 (5.0.0-36-generic), коли все інше не було -

Перевірте, чи рішення працює.
Спробуйте виконати наступну команду після пробудження з призупинення, коли трекпад не працює /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid.
Якщо це робить ваш трекпад, виконайте наведені нижче дії, щоб створити автоматичне рішення, яке запускається це кожного разу, коли ви прокинетесь від призупинення.

Постійне рішення
1. Створіть /lib/systemd/system-sleep/touchpad
2. Відкрийте вищезазначений файл і відредагуйте його, sudo vi /lib/systemd/system-sleep/touchpad
3. Збережіть такий вміст у файлі-

#!/bin/sh

case $1 in
  post)
    /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid 
  ;;
esac
  1. Зробіть його виконуваним- chmod +x /lib/systemd/system-sleep/touchpad

Це, по суті, перезапускає пристрій i2c_hid після пробудження з призупинення.

Люб’язно: /unix//a/526488/283735


Чудова відповідь, це спрацювало для мене, дякую. Модуль "psmouse" не був для мене "i2c_hid". Dell Inspiron У мене було це в dmesg: [24063.094911] psmouse serio1: elantech: elantech_send_cmd запит 0x02 не вдався. [24063.094918] psmouse serio1: elantech: не вдалося запитати можливості. [24064.645952] psmouse serio1: не вдалося ввімкнути мишу на isa0060 / serio1 [24065.383423] вхід: ImPS / 2 Logitech Wheel Mouse as / пристрої / платформа / i8042 / serio1 / вхід / введення38 [24240.449885] psmouse serio1: elantech: припускаючи апаратну версію 4 (із версією прошивки 0x4f5001)
Девід Робсон

3

Я маю справу з двома простими підходами до цього питання. Перший, який не завжди працює (як ви вже згадували), просто перезапускає модуль миші після дії призупинення.

sudo rmmod psmouse; sudo modprobe psmouse

Ось приємна дискусія про те, як зробити це "автоматично": як виконати команду після резюме від призупинення?

Альтернативний підхід полягає в тому, щоб знищити модуль перед тим, як призупинити, уникаючи блокування модуля після резюме (що, очевидно, саме це породжує проблему, як підкреслив WinEunuuchs2Unix).

Для цього я використовую простий командний рядок, щоб призупинити ноутбук, а не просто закривати кришку "вручну". Звичайно, це зовсім не фантазії, але це працює, і це рішення прямо вперед. Немає часу на злому.

sudo rmmod psmouse; sudo pm-suspend

А потім, відновивши ноутбук, слід знову включити модуль, ввівши:

sudo modprobe psmouse

Ви завжди можете зламати pm-suspendсценарій за замовчуванням , але я не рекомендую його. Зробити ці спеціальні невеликі командні послідовності просто та безпечніше.

Нарешті, простий, швидкий спосіб швидко зробити «вбивство / призупинення» та «повторне включення» модуля миші - пов’язати ці кроки із комбінаціями клавіш: Як я можу змінити те, що роблять клавіші на моїй клавіатурі? (Як я можу створити власні команди / комбінації клавіш?) .

Сподіваюся, що це працює, це робить для мене, хоча дійсно незручно з цим боротися. У мене це питання в обох ноутбуках HP та Asus.


Це працює для мене там, де нічого іншого не робив - дякую!
даборосс

Ура! Радий, що це було корисно! ; D
Ро


1

Це працювало для мене:

  1. Завантажтесь у BIOS, утримуючи F2 або ESC при завантаженні системи

  2. Змініть налаштування сенсорної панелі у вашому BIOS з ADVANCED на BASIC (не має ніякої різниці щодо функціональності)

Тепер тачпад все одно повинен працювати, коли його відновлено з призупинення.


0

У мене є кілька ноутбуків Asus, мені довелося відключити тачпад на всіх. Вони спричиняють проблеми із блокуванням та інші проблеми.


Не те, що я сподівався почути, але я ціную відповідь
Росс Аллен

його тачпад Elan. Це буквально змушує мене використовувати ctrl-alt-f1 / 2/3 для зміни та зміни назад, щоб розморозити його. Одного разу я його відключив, жодних проблем. Як ви знаєте, ви можете використовувати його в коротких сплесках і використовувати мій метод, згаданий вище, щоб вийти з замка. Сподіваюся, що це допомагає.
ChangosMuertos

0

Драйвери, які не дуже добре реагують на призупинення, є досить поширеними незалежно від ОС. Я радий, що ти знайшов рішення через сплячку.

Оскільки призупинення не вимикається повністю, а сплячий режим робить, це може свідчити про те, що водій недостатньо реагує на "1/2 життя" підвіски, але цілком здатний з'явитися під час циклу включення, який це те, що забезпечує сплячка при пробудженні.

джерело: http://manpages.ubuntu.com/manpages/trusty/man8/pm-action.8.html


Ви можете підключитись до підпрограм для пробудження, щоб перезапустити драйвер, можливо ... Начебто як перезавантажується мережевий менеджер. Просто ще не зрозумів, як це зробити ще сам. У мене це було, щоб перезапустити pulseaudio, але мені вдалося це зламати 2 дні тому :(
WinEunuuchs2Unix

1
@ WinEunuuchs2Unix Я хотів би це побачити. пінг мені, якщо ви це зрозумієте.
Старійшина Гек

ясна річ. Я, мабуть, зроблю одну з таких речей "відповіді на власне запитання" приблизно за півроку, із такою швидкістю 6 тижнів.
WinEunuuchs2Unix

1
Я опублікував відповідь, але, здається, я можу з якихось дивних причин пінг усіх, крім вас (старійшина Гік).
WinEunuuchs2Unix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.