`psmouse` failing to initialize after suspend/hibernate - help for possible workaround needed


I have a Lenovo X1 Carbon 2nd Gen and most things work astonishingly good.
Though since quite some time the trackpad and trackpoint regularily fail to re-initialize after the second time since the last boot going into suspend/hibernate.
For some while I could recover this by modprobe -r psmouse and then modprobe psmouse but for some reason this doesn’t work anymore since quite a while either.
I tried different kernel versions (from 5.7 to 5.11, currently on 5.13) and googled the journald message, without any success so far. I might return to researching the true source of the issue at some time, but now I had the idea to do the modprobe -r psmouse befor entering supsend/hibernate and modprobe psmouse after waking the machine up.

So far this appears to do the tick and now I am wondering, where should I put these two commands to automate this procedure? Somewhere in /etc/systemd?

You had a look at the Arch-Wiki already ? If not, maybe it helps.

1 Like

Thanks for pointing this one out: Yes I am aware of this article just forgot to mention.
Actually that is exactly where I had my prior β€˜manual’ solution from.

I have to admit that I didn’t try this one though:

  • adding the psmouse.synaptics_intertouch=0 kernel parameter solves the issue permanently (Tested on T440s)

I would have to add this to grub right?

Except for the above I have tried every other mentioned solution, I believe.
I guess for completeness sake I’ll provoke the the failure before the next time I intend to reboot anyways, so I can add the failing journald messages.

But again, manually removing the module before and activating it after suspend works quite well so far, so automating this (possibly without the need to sudo) would be a viable workaround for me.

Edit: Just to add this:

        β”‚ File: /etc/X11/xorg.conf.d/90-touchpad.conf
   1    β”‚ Section "InputClass"
   2    β”‚         Identifier "touchpad"
   3    β”‚         MatchIsTouchpad "on"
   4    β”‚         Driver "libinut"
   5    β”‚         Option "Tapping" "on"
   6    β”‚         Option "TappingButtonMap" "lrm"
   7    β”‚         Option "NaturalScrolling" "on"
   8    β”‚         Option "ScrollMethod" "twofinger"
   9    β”‚ EndSection
  10    β”‚

… or by editing /etc/modprobe.d/psmouse.conf:

options psmouse synaptics_intertouch=0

Ah…, edit: I deleted tlp (wich sometimes can cause trouble) in favor of auto-cpufreq .
They can work together, but I wanted to try espresso instead of vui muich. It is such a simple tool and so far it’s working fine.

1 Like

Is this referring to your system, or to your edit?

I created a the /etc/modprobe.d/psmouse.conf as suggested. Is this supposed to be in effect immediately, or would this require a reboot?

At least it didn’t lockup again since this and I couldn’t find any related warings or errors in journald anymore.

I’ll keep an eye on it for a couple of days an will reboot later (when my project I am working on allows for a reboot), before marking this solved.

But thanks a ton, @banjo!

I own a carbon 6th and the Arch Wiki gives me this workaround.
Well, the tool auto-cpufreq came later on top. Since then no problems (but the touchpad is still not a good one). Hope that helps.

Thanks again, this was a good read. Will keep this in my bookmarks in case the problems return, I’ll have a look at this article again.

But so far entering and awaking from suspend works flawless.

I had two reboots now for unrelated reasons and it appears everything is still working correctly. So marking this solved.

Thanks again @banjo!

Good to hear this, and have a nice day.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.