staging.inyokaproject.org

Touchpad an Fujitsu Lifebook trotz Suspend/Resume

Status: Gelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

hmpl

Anmeldungsdatum:
22. Juli 2009

Beiträge: 3

Achtung: Die unten stehende Lösung funktioniert leider nicht stabil. Das Touchpad wacht nur manchmal wieder auf. Offensichtlich funktioniert es öfter, wenn man - wie beim Testen - schnell nach dem Suspend wieder aufweckt.
Die Kernel-Commandline-Parameter "i8042.reset i8042.nomux=1" bringen dauerhaften Erfolg. Damit ist da Touchpad stabil nach Suspend/Resume wieder da.

Aber vielleicht hilft das Vorgehen unten jemand anderem, darum lasse ich es stehen.

Hi,

ich habe ein Fujitsu Lifebook E744, das mit Ubuntu 18.04 fast "out of the box" funktioniert hat.
Das "fast" war aber sehr ärgerlich: Nach einem Suspend/Resume hat das Touchpad nicht mehr funktioniert. Es ließ sich nicht mal durch einen Reboot wiedererwecken, ein Poweroff war nötig.

Ich habe aber eine Lösung gefunden und die möchte ich der Allgemeinheit nicht vorenthalten, weil sie mir ziemlich Zeit gekostet hat aber am Ende recht simpel ist:
Vor dem Suspend muss das Modul entladen werden, dann muss der zugehörige Serial-Port disconnected werden. Nach dem Resume erfolgt dann ein Reconnect und das erneute Laden des Moduls.

Das geht ganz einfach, indem man die Datei /etc/systemd/system/touchpad_revive.service anlegt mit folgendem Inhalt:

[Unit]
Description=Touchpad sleep hook
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/rmmod psmouse ; /bin/echo -n none >/sys/bus/serio/devices/serio2/drvctl 
ExecStop=/bin/echo -n reconnect >/sys/bus/serio/devices/serio2/drvctl ; /sbin/modprobe psmouse

[Install]
WantedBy=sleep.target

Danach den Befehl

sudo systemctl enable touchpad_revive.service

ausführen und fertig. Mein Touchpad läuft jetzt nach Suspend/Resume problemlos weiter.

Falls jemand ein ähnliches Problem auf einem anderen Notebook hat: Ggf. muss man serio2 ersetzen. Man findet das korrekte serio indem man in dmesg nach psmouse sucht:
[ 2.751764] psmouse serio2: synaptics: serio: Synaptics pass-through port at isa0060/serio2/input0

Ich hoffe, das hilft jemand. 😀

Antworten |