[ltp] T40 hibernation solved

Justin Mason linux-thinkpad@linux-thinkpad.org
Mon, 22 Mar 2004 16:15:01 -0800

I've finally gotten this working.

Unfortunately, along the way, something thoroughly scribbled on my FAT32
partition -- wiping out XP. :(   I'm not sure if this was a side-effect of
a failed hibernate, a failed BIOS upgrade, or simply a result of a
crash (such as the waking-up-from-suspend hangs which are
unfortunately common with the madwifi drivers) scribbling on the

So here's what happened along the way:

1. Since I don't have a floppy drive, I attempted to use the standalone
(non-boot-disk-based) BIOS upgrade tool from IBM's website under XP. it
failed to reboot XP successfully, instead giving a loud beep and hanging
at the XP-shutdown part of the process.

2. Since my BIOS version was only one level off 3.00c, and there was no
mention in the changelog on IBM's site of hibernation issues solved by the
update, I decided to try to set up hibernation anyway using that ver.

Got hold of the hibernation-util-boot.iso image from someone on this list
(thanks!!), rebooted with that.  It claimed to successfully set up the

Shut down, powered down, rebooted back into linux. Attempted to hibernate;
got the nice IBM progress screen; then the machine powered off as would be
expected.  However, on power-on, it failed to restore correctly.   The
message on-screen indicated that it would attempt restore several times
before giving up and doing a normal boot, so I let it do that; it failed
each time, and eventually did a normal boot.

After that, I ran out of time to debug this and had to get on with some
Real Work, so left it as is; I didn't even check the windows partition
to see if it had been scribbled on. (It mounted fine.)

3. A week later, I discovered the scribbled windows partition :(

4. Reformatted the windows partition as FAT32, and decided to install
DOS to get hibernation working.

So I dug up a Windows 98 CD -- with MS-DOS.  booted into a command prompt,
FORMAT /s/q C: , and the FAT table corruption was still there (don't
ask me how).  FORMAT /s C: (a full format) worked fine though.

Next, I rebooted into linux, copied down the BIOS update onto the DOS
partition, rebooted into DOS, and attempted to run it.  The standalone
(non-disk-based) BIOS update is Win32 only and will not run under DOS.
Great. :(

5. installed Windows 98.  Ran the BIOS update tool.  It unpacked,
and worked fine.  I'm now on BIOS 3.00c -- and Windows 98. ;)

6. rebooted from the hibernation-util-boot.iso CD-ROM.  It, too, worked
fine; I set up a new SAVE2DSK.BIN file, quit, shut down and powered

7. rebooted into linux, and tried Fn+F12.  Also works perfectly!

So there you go -- looks like IBM's tools just don't get along with
XP.  Great ;)

So the state of play is:

- BIOS version 3.00c seems required to support hibernation,
  on this type 2379 T40 at least.

- I don't know if a hibernation partition is still supported, although
  other reports on this list seem to indicate it's not. My attempts all
  failed, but that could have been the BIOS issue.

- a hibernation file on a FAT32 partition will work -- just make
  sure the BIOS is updated.

- BIOS update from Windows XP seems borked.  I was not running an
  unusual XP setup; just standard, except up-to-date with Windows