Das Touchpad funktioniert nicht, nachdem der Laptop angehalten wurde

14

Dies scheint ein häufiges Problem zu sein, aber nachdem ich alle in den Foren gefundenen Korrekturen ausprobiert habe, bin ich immer noch ratlos.

Technische Daten:

  • Computer: Asus k501LX-EB71
  • Betriebssystem: Ubuntu 14.04.3
  • Kernel: 3.19.0-26-generic
  • Touchpad: Elantech-Touchpad
  • treiber: xserver-xorg-eingabe-synaptics-lts-trusty (ODER) xserver-xorg-eingabe-synaptics-lts-vivid (nicht sicher, welche verwendet wird)

Was ich versucht habe: Ich kann laufen sudo modprobe -r psmouse, um das Touchpad "auszuschalten" und dann sudo modprobe psmousewieder einzuschalten. Das funktioniert gut. Wenn ich jedoch aussetze, kann ich das Touchpad nicht "wiederbeleben", selbst wenn ich diese Befehle eingebe.

Irgendwelche Gedanken?

AKTUALISIEREN:

Ich beobachte dieses Problem nicht, wenn ich in den Ruhezustand wechsle, anstatt zu pausieren. Ich bin mir nicht sicher, was ich mit diesem Hinweis anfangen soll ...

AKTUELLE ABHILFE:

Da der Ruhezustand kein Problem zu sein scheint und ich über ausreichend Swap-Speicher verfüge, halte ich den Ruhezustand nur als Standardaktion für Dinge wie das Schließen des Deckels. Hier sind die Schritte, die ich ausgeführt habe, um den Ruhezustand zu aktivieren . Ich habe auch andere Standard-Energieeinstellungen geändert, um mit dem dconf-Editor unter org> gnome> settings-daemon> plugins> power in den Ruhezustand zu wechseln

Ross Allen
quelle
Dies kann nützlich sein: ubuntuforums.org/showthread.php?t=2189117
Elder Geek
hmmm ... danke für die schnelle antwort aber ich habe alle schritte in diesem thread ohne glück verfolgt. Aus irgendeinem Grund kann ich das Touchpad sudo modprobe psmousenach dem Anhalten nicht wiederbeleben . Es scheint einfach nichts zu passieren. Ich kann in Protokolldateien nichts Außergewöhnliches finden
Ross Allen
Ich würde Ihre Problemumgehung als Antwort betrachten. Sie sollten es so aufschreiben, dass es wahrscheinlich anderen hilft. Wenn Sie die Antwort in Ihre Frage einbetten, wird es möglicherweise schwieriger, sie zu finden.
Elder Geek

Antworten:

8

Dieser Fehler wird im Launchpad gemeldet: Das Elantech-Touchpad funktioniert nach dem Anhalten nicht mehr . Nach dem Suspend versucht das OP # modprobe -r psmouseund # modprobe psmouseund es funktioniert nicht. Aber was ist, wenn psmouse vor dem Suspend entfernt und nach dem Suspend eingefügt wurde?

Wenn dies manuell funktioniert, können Sie automatisieren, indem Sie eine neue Datei in dem /lib/systemd/system-sleep/Verzeichnis erstellen, das Folgendes enthält:

#!/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

Es ist bekannt, dass das Psmouse- Modul nach einem Suspend nicht entfernt werden kann. Wir wissen auch, dass es vor einer Unterbrechung entfernt und eingefügt werden kann. Diese Technik entfernt es also vor dem Suspendieren. Nach dem Fortsetzen füge es ein und hoffentlich wird der Kernel es nicht ablehnen.

Der sleep 2Befehl stammt von meinen eigenen Problemen, bei denen Systemd und Kernel (über Gnome oder APM) beide geschlafen haben und aufgewacht sind. Ich musste den pulseaudio-Sound aufgrund eines in Ubuntu 16.04 / pulseaudio 8.0 eingeführten Fehlers zurück zum Fernseher leiten. Die Verzögerung von 2 Sekunden war erforderlich, damit Kernel und Systemd das Aufwachen beenden konnten. Ich habe immer noch nicht herausgefunden, was Dual Suspend und Dual Resume sind ...

WinEunuuchs2Unix
quelle
Ich denke, es wäre besser, die Standardfunktion SUSPEND_MODULESvon pm-utilsfür diese linux.die.net/man/8/pm-suspend
cgogolin
Diese Lösung hat bei mir nicht funktioniert. Ubuntu 18.04 mit "SYNA8004: 00 06CB: CD8B Touchpad", Lenovo X1 Carbon Gen 7. Ich bekomme ein bissiges Touchpad-Verhalten, nachdem ich aus dem Ruhezustand zurückgekehrt bin.
SaTa
7

Es wurde empfohlen, meine Problemumgehung als Antwort zu posten:

Ich habe festgestellt, dass bei hibernate ( sudo pm-hibernate) beim Neustart des Touchpads nicht dieselben Probleme aufgetreten sind. Daher habe ich nur alle relevanten Energieoptionen auf hibernate anstatt auf suspend gesetzt. Dies erfordert ein wenig Aufwand, da der Ruhezustand standardmäßig deaktiviert ist. Folgendes muss passieren

Ross Allen
quelle
1
Achtung, der Ruhezustand ist standardmäßig deaktiviert, da die Gefahr einer Beschädigung der Festplatte groß ist. Ich musste mein Betriebssystem nach einem ausgefallenen Ruhezustand zweimal neu installieren. Deaktiviere es jetzt wieder.
Crobar
1
Ändern Sie die Touchpad-Einstellung in Ihrem BIOS von ADVANCED zu BASIC, was die Funktionalität betrifft, und das Touchpad funktioniert auch nach dem Fortsetzen nach dem Anhalten.
pst007x
3

Ich beschäftige mich mit zwei einfachen Ansätzen zu diesem Thema. Die erste, die nicht immer funktioniert (wie Sie bereits erwähnt haben), startet das Mausmodul nach der Suspend-Aktion neu.

sudo rmmod psmouse; sudo modprobe psmouse

Hier ist eine nette Diskussion darüber, wie man dies "automatisch" macht: Wie man einen Befehl ausführt, nachdem man aus dem Suspend-Zustand zurückgekehrt ist?

Ein alternativer Ansatz besteht darin, das Modul vor dem Suspend zu beenden und zu vermeiden, dass das Modul nach dem Resume gesperrt wird (was anscheinend das Problem verursacht, wie WinEunuuchs2Unix unterstrichen hat).

Zu diesem Zweck verwende ich eine einfache Befehlszeile, um den Laptop anzuhalten, anstatt nur den Deckel "manuell" zu schließen. Natürlich ist das überhaupt nicht schick, aber es funktioniert und es ist eine geradlinige Lösung. Keine Zeit zum Hacken.

sudo rmmod psmouse; sudo pm-suspend

Nach dem Fortsetzen des Laptops sollten Sie das Modul wieder aktivieren, indem Sie Folgendes eingeben:

sudo modprobe psmouse

Sie können das Standard- pm-suspendSkript immer hacken , aber ich werde es nicht empfehlen. Es ist einfach und sicherer, diese kleinen Ad-hoc-Befehlssequenzen zu generieren.

Eine einfache und schnelle Möglichkeit zum schnellen Abschalten / Anhalten und erneuten Aktivieren des Mausmoduls besteht darin, diese Schritte mit Tastenkombinationen zu verknüpfen: Wie kann ich die Funktionen der Tasten auf meiner Tastatur ändern? (Wie kann ich benutzerdefinierte Tastaturbefehle / Verknüpfungen erstellen?) .

Hoffe es funktioniert, tut es für mich, obwohl es wirklich unangenehm ist, damit so umzugehen. Ich habe dieses Problem bei HP und Asus Laptops.

Rho
quelle
Das funktioniert bei mir wo sonst nirgends - danke!
Daboross
Prost! Froh, dass es hilfreich war! ; D
Rho
2

Die folgende Lösung funktionierte für mich auf meinem Acer Predator Helios 300, auf dem Ubuntu 18.04 (5.0.0-36-generic) ausgeführt wurde.

Überprüfen Sie, ob die Lösung funktioniert.
Führen Sie nach dem Aufwachen aus dem Standby-Modus den folgenden Befehl aus, wenn Ihr Trackpad nicht funktioniert /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid.
Wenn Ihr Trackpad dadurch funktioniert, führen Sie die folgenden Schritte aus, um eine automatische Lösung zu erstellen, die bei jedem Aufwachen aus dem Standby-Modus ausgeführt wird.

Permanente Lösung
1. Erstellen /lib/systemd/system-sleep/touchpad
2. Öffnen Sie die obige Datei und bearbeiten Sie sie. sudo vi /lib/systemd/system-sleep/touchpad
3. Speichern Sie den folgenden Inhalt in der Datei.

#!/bin/sh

case $1 in
  post)
    /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid 
  ;;
esac
  1. Machen Sie es ausführbar- chmod +x /lib/systemd/system-sleep/touchpad

Dies startet das i2c_hid-Gerät nach dem Aufwachen aus dem Suspend-Modus neu.

Mit freundlicher Genehmigung: /unix//a/526488/283735

nihal111
quelle
Tolle Antwort, das hat bei mir funktioniert, danke. Das "psmouse" -Modul war nicht das für mich, "i2c_hid" war. Dell Inspiron Ich hatte dies in dmesg: [24063.094911] psmouse serio1: elantech: elantech_send_cmd Abfrage 0x02 fehlgeschlagen. [24063.094918] psmouse serio1: elantech: Funktionen konnten nicht abgefragt werden. [24064.645952] psmouse serio1: Maus auf isa0060 / serio1 konnte nicht aktiviert werden. [24065.383423] Eingabe: ImPS / 2 Logitech Wheel Mouse als / Geräte / Plattform / i8042 / serio1 / Eingabe / Eingabe38 [24240.449885] psmouse serio1: elantech: Annahme von Hardwareversion 4 (mit Firmware-Version 0x4f5001)
David Robson
1

Das hat bei mir funktioniert:

  1. Starten Sie das BIOS, und halten Sie beim Systemstart die Taste F2 oder ESC gedrückt

  2. Ändern Sie die Touchpad-Einstellung in Ihrem BIOS von ADVANCED auf BASIC (dies macht keinen Unterschied in Bezug auf die Funktionalität).

Jetzt sollte das Touchpad nach dem Fortsetzen nach wie vor funktionieren.

pst007x
quelle
0

Ich habe mehrere Asus-Laptops, bei allen musste ich das Touchpad deaktivieren. Sie verursachen Sperrprobleme und andere Probleme.

ChangosMuertos
quelle
Nicht was ich gehofft hatte zu hören, aber ich schätze die Antwort
Ross Allen
Es ist das Elan Touchpad. Es bringt mich buchstäblich dazu, Strg-Alt-F1 / 2/3 zu verwenden, um zu ändern und zurück zu wechseln, um es freizugeben. Sobald ich es deaktiviert habe, keine Probleme. Wie Sie wissen, können Sie es in kurzen Stößen verwenden und meine oben erwähnte Methode anwenden, um aus dem Gefängnis auszusteigen. Ich hoffe, das hilft.
ChangosMuertos
0

Treiber, die nicht gut auf die Aussetzung reagieren, sind unabhängig vom Betriebssystem weit verbreitet. Ich bin froh, dass Sie über den Ruhezustand eine Problemumgehung gefunden haben.

Da sich der Suspend-Modus nicht vollständig ausschaltet und der Ruhezustand nicht vollständig ausschaltet, scheint dies darauf hinzudeuten, dass der Fahrer nicht gut auf die "1/2 Lebensdauer" des Suspend-Modus reagiert, sondern in der Lage ist, diesen während eines Einschaltzyklus zu erreichen ist das, was der Winterschlaf beim Aufwachen bereitstellt.

Quelle: http://manpages.ubuntu.com/manpages/trusty/man8/pm-action.8.html

Elder Geek
quelle
Sie können Weckroutinen einbinden, um den Treiber möglicherweise neu zu starten ... Ähnlich wie beim Neuladen des Netzwerkmanagers. Habe nur noch nicht selbst herausgefunden, wie es geht. Ich hatte es funktioniert, um Pulseaudio neu zu starten, aber es ist mir gelungen, das vor 2 Tagen zu brechen :(
WinEunuuchs2Unix
1
@ WinEunuuchs2Unix Das würde ich gerne sehen. Pingen Sie mich an, wenn Sie es herausfinden.
Elder Geek
sichere Sache. Ich werde wahrscheinlich in ungefähr sechs Monaten eine dieser Sachen "Beantworten Sie Ihre eigene Frage" machen, und das mit einer Geschwindigkeit von 6 Wochen.
WinEunuuchs2Unix
1
Ich habe eine Antwort gepostet, aber ich kann anscheinend aus irgendeinem seltsamen Grund jeden außer Ihnen (Elder Geek) anpingen.
WinEunuuchs2Unix