[Pm-utils] keyboard issue when resuming from hibernate/resume

Dominique Michel dominique.c.michel at gmail.com
Fri Jan 29 08:22:22 PST 2016


Hi all,

With an Acer Aspire, the mouse and the keyboard are dead after
resuming. The loaded modules are:

# lsmod | grep i8042
i8042                  13006  1 libps2
# lsmod | grep libps2
libps2                  4139  2 atkbd,psmouse
i8042                  13006  1 libps2

In /etc/conf.d/modules :
modules="i8042"

- gentoo without systemd and *kit

- At "normal" boot, I use startx, and the keyboard is working fine.
  After the launch of X and fvwm-crystal, both the keyboard and the
  mouse are OK.

After resuming from hibernation, the keyboard and the mouse are dead
most of the time. An external USB mouse was still working, and after a
few suspend/resume cycles, they come back.

Thanks to the external USB mouse, I was able to narrow the issue to the
atkbd and psmouse module:

# rmmod atkbd; rmmod psmouse
-> keyboard and mouse dead

# modprobe atkbd; modprobe psmouse
-> keyboard and mouse OK

I made /etc/pm/config.d/i8042 :
SUSPEND_MODULES="atkbd psmouse"

But this issue remained the same.

I made /etc/pm/sleep.d/00i8042 :

#!/bin/sh
# Make the f. keyboard and mouse to work

resume_i8042 ()
{
	rmmod atkbd
	rmmod psmouse
	modprobe atkbd
	modprobe psmouse
	echo "Unloaded-reloaded atkbd and psmouse."
}

case "$1" in
	thaw|resume)
		resume_modules
		;;
	*) echo "Nothing to do."
		;;
esac

###
This solved the issue. Later, I noticed the typo in the file, it is not
calling resume_i8042 but resume_modules, function which is located
into /usr/lib64/pm-utils/sleep.d/75modules 

I changed the file to use resume_i8042, but this was not working, the
keyboard and the mouse was dead after resuming most of the time.
I reverted the change ad removed resume_i8042. The final file is just:

#!/bin/sh
# Make the f. keyboard and mouse to work

case "$1" in
   thaw|resume)
      resume_modules
      ;;
   *) echo "Nothing to do."
      ;;
esac

###

I am a pm-utils nob. It look like
the execution of /usr/lib64/pm-utils/sleep.d/75modules comes to early
for my system/hardware. I am even not sure is the real issue is related
to the hardware or the OS.

To call resume_modules in /etc/pm/sleep.d/00i8042 is maybe an overkill,
but it work in my case. Do you have any comment? Or do you want me to
make more testing related to that issue?

Best,
Dominique





More information about the Pm-utils mailing list