ACPI Events on a Toughbook CF-29

I have a Panasonic Toughbook CF-29 that I use for situations where I don’t want to take my regular office-ish notebook.  I am planning to take and use it at the 2011 Eagle Cap Extreme event for digital communications.  I run Ubuntu on it (10.10 currently) which works mostly out of the box without any trouble.  However, a couple of the ACPI events don’t work; specifically the suspend and hibernate buttons.  I ran acpid in debug mode and it appears that the event IDs are different on the toughbook from what they are on most other manufacturers.

If you look in /etc/acpi/events, you’ll see that there are several per-manufacturer configuration files for catching their uniquely-identified events and plumbing them to the correct scripts.  By copying and modifying two of these, I was able to get my buttons to work.

From a terminal (or Alt+F2 Run prompt), type

gksudo gedit /etc/acpi/events/tb-sleep

and paste the following in the resulting blank editor window:

event=pcc HKEY 00000080 00000007
action=/etc/acpi/sleepbtn.sh

Save and close and then run

gksudo gedit /etc/acpi/events/tb-hibernate

and paste the following:

event=pcc HKEY 00000080 0000000a
action=/etc/acpi/hibernate.sh

Then, either reboot your machine or run sudo service acpid restart to make the changes active.  When you press your (Fn+) suspend or hibernate keys, the system should now react accordingly.

Category(s): Linux
Tags:

One Response to ACPI Events on a Toughbook CF-29

  1. Hi. Your hotkey suggestions work as expected in ubuntu 12.04, however i have a much bigger problem with this mk4. Suspend halts the machine almost instantly. The backlit keyboard (f12) still responds, but everything else is dead. The backlight is still on and the power light stays on (and the <mp light), but there is no response from capslock or anything else other than holding the power switch. There is nothing odd in pm-suspend.log other than a line about halting network interfaces failing, but overall it says suspend is successful. I followed the debugging steps in the ubuntu wiki and nothing helped. The test suspend didnt leave anything for dmesg to find. Strangely, pm-hibernate works, though the menu options for it have disappeared and i have to call it manually. Restart also doesnt work. When the machine is supposed to actually restart, it freezes the same as with suspend.

    I've googled a lot and found more questions than answers. Did/do you have this problem? Any suggestions that might help?