Thinkpad 560Z Configuration

Turns out the ancient $20 Thinkpad 560Z I’d been using to capture WWVB receiver data didn’t have the IBM configuration utility on it, which made it tough to tweak the LCD timeout. The key parameter for this laptop is that it runs at about 8 W with the LCD turned off, which is just what you want for long-term data collection.

The thing runs from a 2 GB CompactFlash card stuck in a CF-to-IDE adapter, so it has a (rather slow) solid-state hard drive. The nice part is being able to just jam the CF into the card reader on my desktop box, make appropriate changes, and pop it back in the 560Z.

Xubuntu automagically mounts all the partitions, so that part is easy. It has a FreeDOS partition that runs the DOS-only config program, a swap partition (not heavily used), and an Ubuntu 8.04 command-line-only installation.

The IBM config stuff is in a directory on a hard-drive image (saved from the picture frame project), so mount that and copy it over:

sudo mount -o loop,uid=ed,ro,offset=$((63*512)) develop.hd /mnt/loop
cp -a /mnt/loop/ThinkPad/ /media/FreeDOS/

While figuring out what to change, it occurred to me that I should just make a batch file with all the proper settings. Here’s a cheat sheet for the available settings:

Refer to ps2.msg for raw help file
 some commands/options do not apply to 560Z

1. Power Management
DEFAULT     suspend time, screen off, HD off, standby time, proc speed
DISK        power-down timeout
SAfe        safe suspend
S2H         suspend to hibernate time
PMode       power mode
ON          auto-on date/time from suspend
RI          resume on Ring Detect from serial port
HSWITCH     hibernate on power off
SErial      serial port enable
HFile       create hibernation file
HTimer      time to hibernate
CPUPower    stop clock when idle
POwer       time to suspend
Cover       suspend with closed cover
TImer       Power command = suspend or hibernate
PCIBUSPower PCI power saving
LCd         time to display power off
DOCK        suspend when docked
LBattery    suspend / hibernate with low battery
SPeed       CPU speed selection

2. Display Device
SCreen      select LCD / CRT
HVEXPansion expand 640x480 to 800x600
F8          F8 selects LCD expansion

3. Alarm Related
BEEP        beep settings

4. Thinkpad Setup
IRQ         interrupt assignments
JStick      joystick config
PCIIRQ      PCI IRQ assignment
DMA         DMA channel assignment
PARallel    parallel port config
IR          IR port config
KRate       keyboard repeat rate
SERA        serial port config
AUdio       sound system config
FNSticky    sticky Fn key
STARTup     display startup screen
MIDIport    MIDI config
TPOint      Trackpoint enable / disable
PRESENtation  disable screen, standby, suspend
AUDIOCTRL   audio control port config

5. Others
SUSpend     suspend NOW
FDD         diskette drive int / ext
OFF         turn off NOW
HIBernation hibernate NOW
TURN        turn off NOW
BRightness  LCD brightness on battery

And then the batch file:

ps2 default
ps2 disk 0 ac
ps2 pmode custom ac
ps2 serial off
ps2 hfile c
ps2 htimer 0 ac
ps2 power 0 ac
ps2 cover disable
ps2 lcd 5 ac
ps2 speed auto medium ac
ps2 hvexpansion off
ps2 jstick disable
ps2 parallel disable
ps2 ir disable
ps2 krate fast
ps2 sera disable
ps2 audio disable
ps2 midi disable
ps2 audioctrl disable

The time-of-day clock drifts with breathtaking speed, which may have something to do with the CPUPower option that shuts the processor clock off when there’s nothing useful going on.