Comment 23 for bug 81767

Revision history for this message
randallw (rwayth) wrote :

Thank you so much for posting this workaround! I have been annoyed by this problem for several ubuntu releases now, each time hoping the problem would be magically fixed. Anyway, in case others are having this problem and want to automate this workaround, I did the following. (This is for Ubuntu gutsy.)

For reference, ACPI resume appears to execute the script /etc/acpi/resume.sh when it is resuming from suspend. This script just executes all the scripts in /etc/acpi/resume.d/ .

As root, create a file called: /etc/acpi/resume.d/99-fix_keyboard_bug.sh
e.g.: sudo gedit /etc/acpi/resume.d/99-fix_keyboard_bug.sh
(You can call it something different if you like, but it would be wise to have it start with "99" so that it is the last script to be executed during resume.)
Put the following text in the file:
#!/bin/sh
# fix occasional keyboard failure after resume from suspend-to-ram.
# See ubuntu bug 81767

echo -n "i8042" > /sys/bus/platform/drivers/i8042/unbind
echo -n "i8042" > /sys/bus/platform/drivers/i8042/bind
echo `date` > /tmp/resumed.txt

(The last line is optional. I just did it to verify the script was being run on resume.)

Now make sure the file is executable:
sudo chmod 755 /etc/acpi/resume.d/99-fix_keyboard_bug.sh

That's it. Happy suspending.