ThinkPad X40 secondary IDE #fail

Hardware

My ThinkPad X40

UPDATE: I’ve got this working, so despite this post being a day old it should be considered hysterical. I mean, historical. Freudian slip.

I’ll post in more detail as soon as I’m finished.

After staying back with FreeBSD 6.x on my ThinkPad X40 because of a [reported] problem with hardware acceleration in 7.0, I decided to throw in the towel today and try getting it running. Alas, there’s a quirk in the secondary IDE controller in some ThinkPad hardware that causes FreeBSD to hang on booting, and I still haven’t figured out a way around it!

ACHTUNG: don’t read this post if you’re not a boring nerd with spare time!

According to various newsgroups, the workaround is to disable the secondary IDE controller in the ThinkPad BIOS. This supposedly has no practical impact because there’s only one drive bay internally and external optical drives rely on a different controller. No worries.

Here’s the rub though: at the time IBM classified such tinkering as too advanced and removed access to it from the BIOS configuration screen. The only way you can change such settings is by running PS2.EXE which is their Configuration Utility (referred to as the CU from now on) from a crusty DOS boot disk.

Extraction fail

Icon from the Tango Desktop projectSo here’s what I did: I went to the Lenovo website and downloaded the CU. Rather than just giving me the required files in a simple archive, they were contained in a nasty DOS self extracting executable called UTTPFDOS.EXE. To make matters worse, you can’t just extract the files into a folder, you must provide the extractor with a blank floppy disk for it to use.

Neither my ThinkPad or my MacBook Pro have a floppy drive, so I booted Windows 2000 in VMware Fusion on my Mac, created a virtual blank floppy disk image for it to use and ran the self extracting executable thingy. I then copied the files from the virtual drive A: to a WinImage disk, then created a bootable ISO.

Booting fail

Icon from the Tango Desktop projectAfter burning the bootable ISO I attempted to boot the ThinkPad with it, but it completely ignored the disc after spinning for a few seconds. I burned another CD-R just to make sure, but got the same result.

I got to thinking: perhaps this CU wasn’t itself bootable but needs to be run from a bootable DOS disk. So I downloaded a copy of the excellent FreeDOS OS, edited the ISO to include the config utility and burned another CD-R. FreeDOS started booting off the disk on the ThinkPad, but hung before it finished booting. D’oh!

Never fear though! Back in 2002 I got a copy of Connectix Virtual PC which came with a fully licenced ISO copy of IBM’s PC DOS 2000 which to this day I’ve been using to get various things working. So I opened the ISO and added the CU to it, then burned another CD-R.

Running fail

Icon from the Tango Desktop projectThis disc booted beautifully on the ThinkPad and I was presented with a DOS prompt. Not only that, I was able to see the CU on the disc and run it, which I did. Schweet, right?

This application cannot be run on this system

At this point it was 3am, I had a stack of useless coasters and was no closer to disabling the secondary IDE controller on this ThinkPad. I have studying to do and family matters to take care of, and I already wasted 20 minutes typing up this blog post in angst, but I'm not giving up!

Anyone have ThinkPad hardware and have been able to successfully run the PS2.EXE file from the UTTPFDOS.EXE archive?

Update

Trying out this version of the Configuration Utility. Will let you know how it goes.

Author bio and support

Me!

Ruben Schade is a technical writer and infrastructure architect in Sydney, Australia who refers to himself in the third person. Hi!

The site is powered by Hugo, FreeBSD, and OpenZFS on OrionVM, everyone’s favourite bespoke cloud infrastructure provider.

If you found this post helpful or entertaining, you can shout me a coffee or send a comment. Thanks ☺️.