Fixa touchpad efter suspend på Lenovo

Från Täpp-Anders
Hoppa till navigering Hoppa till sök


Problemet

Vissa modeller av Lenov under Linux får problem när de går i suspend eller hibernate och vaknar upp och drivrutinen för pekplattan inte längre fungerar som tänkt. Det är gansa lätt att åtgärda genom att köra ett skript via systemd som laddar ur drivrutinen på sleep och laddar om den igen på wakeup.

Skriptet

Skapa en fil på följande ställe:

/lib/systemd/system-sleep

Fyll den med följande innehåll:

#!/bin/sh

PATH=/sbin:/usr/sbin:/bin:/usr/bin

case "$1" in
    pre)
    #code execution BEFORE sleeping/hibernating/suspending
    # unload touchpad driver
	/usr/sbin/modprobe -r psmouse
    ;;
    post)
    #code execution AFTER resuming
    # reload touchpad driver
	/usr/sbin/modprobe psmouse
    ;;
esac

exit 0

Funktionen

När systemet går i sleep mode så körs det under "pre", i det här fallet är det modprobe -r psmouse som laddar ur drivrutinen. Efter man kommer tillbaka från sovläget körs det under "post" som innebär att drivrutinen installeras igen när hårdvaran har ström ordentligt.

Detta verkar fungera på alla mina lenovo-datorer från Ubuntu 18.04 och senare.