[ltp] Suspend, hibernate and the 600E

wes schreiner linux-thinkpad@linux-thinkpad.org
Fri, 05 Dec 2003 08:56:06 -0600

Charles E Taylor IV wrote:

>On Fri, 05 Dec 2003 14:20:41 +0100
>André Wyrwa <a.wyrwa@gmx.de> wrote:
>>>>I was just asking out of curiosity because people all the time tell
>>>>that you can do things with PS2.EXE which you can't with tpctl (and
>>>>other tools) which i still wonder what they are.
>>>Is there a way to create/set up a hibernation file with tpctl?
>>No, but there's tphdisk (which I didn't try myself so far since I didn't
>>feel like digging into the hibernation stuff so far).
>If I understand correctly, that won't help you on a 600-series Thinkpads
>because they have the wrong kind of BIOS.
>I *think* tphdisk works on my 240X and 570E, but it was just easier for me
>to download IBM's bootable hibernation diskette image for those systems.

I suspect you are right about tphdisk not working on the 600 series 
ThinkPads.  According to http://samba.anu.edu.au/junkcode/ it says  "A 
Linux replacement for phdisk.exe that allows you to create a 
save2dsk.bin hibernation file for phoenix notebios laptops. Run tphdisk 
-h for instructions."  The 600 series doesn't have a Phoenix BIOS, its 
BIOS was written by IBM Japan. The first 32 bytes of the hibernation 
file created by PS2.EXE, pm_hiber.bin, are (in characters and hex):

0000000   H   B 003 021 004 020   9   (   P   M   _   H   I   B   E   R
        4248 1103 1004 2839 4d50 485f 4249 5245
0000020   B   I   N  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0 272 001
        4942 004e 0000 0000 0000 0000 0000 01ba

Looking at tphdisk.c it is clear that the first few bytes of the file it 
creates are different, so that settles it.  Use tphdisk if your laptop 
has a Phoenix BIOS, use PS2.EXE for the ThinkPad 600 series (and no 
doubt other models).