The Hyperpessimist

The grandest failure.

Reviving the ThinkPad T41 Brick

So, I seem to be on a roll, since the last “reviving” post, I checked out my stacks of useless electronics and came upon one of my old ThinkPads, namely a ThinkPad T41 that I bought for my granddad and that broke some time ago (he switched to a crappy consumer laptop with Windows 7, if I had a say he’d use a tablet). This device is from 2004 or 2005 and has a 1024x768 resulution (aka utter garbage) screen, but it is kinda light and I equipped it with an SSD so it is rather fast. To put it into context, it was bought refurbished.

I thought that might be a cool idea for a device to take with me - to university, in a backback, whatever, because there was hardly any harm if it broke. Some cheap device when my smartphone does not cut it. I don’t really like carrying my >1000€ ThinkPad T420 with me, for fear of breaking it.

Now, I tried to boot it, and it doesn’t. It boots right into a 1802 error which those of you that have ThinkPads might know: they have a whitelist of WiFi cards that they work with and it you plug in one that Lenovo does not want you to use, the device doesn’t boot. Now I was kinda surprised, since the laptop used to work previously. So I opened the device according to the hardware maintenance manual, which is basically: unscrew keyboard, unscrew palmrest, done. Turns out, there was a Broadcom card inside. Frankly, I was super-surprised, since how the heck did it ever work. And why did it stop now?

If you follow the link above, you’ll notice that it is possible to hack the BIOS so it accepts any card. This apparently stopped working so it prevented booting. When I unplugged the card it was working fine, but a laptop without WiFi is a useless brick nowadays. The choice was whether to hack the BIOS again or get another WiFi card. As it happens, I avoid Broadcom as much as possible, so I decided to get the IBM a/b/g since it is the only “original” card that supports IEEE 802.11g networks aka your network is not slow as molasses. eBay to the rescue and two weeks later the card arrived from the USA.

Now with the shiny new card (it was actually a brand new original IBM card from 2005) I boot and I get… 1802 again. My first thought was I got tricked. Some googling revealed, that maybe a BIOS update would add my new card to the whitelist. To make things short, for the T41 I needed the non-diskette BIOS for the T41 mentioned on the ThinkWiki and extracted the files using cabextract as mentioned again, on the ThinkWiki then I created the ISO files and burned each BIOS and ECP on a CD-RW. Turns out, I can’t boot from those because my BIOS battery is empty and if the battery is empty, it is not possible to boot.

This explains why the laptop did not boot with the Broadcom card. Someone hacked the BIOS to boot with it and then the battery died and the hack was erased from the memory, so it didn’t work anymore. This realization made me feel like Sherlock Holmes. 5€ later I bought a replacement CR2032 battery from eBay. You can get these cheaper, but I bought one with the proper wrapping and cables, so I didn’t have to bother with it.

Eventually it arrived and I went about updating the BIOS: The instructions are a bit chaotic in the ThinkWiki, because they recommend updating first ECP and then BIOS for compatibility reasons if not specified otherwise on the Lenovo web site. In the instructions for my T41 BIOS 3.23 it is mentioned otherwise. I was unsure because I had BIOS 3.05a and ECP 3.01a and they each have their compatibility list so I thought about updating stepwise but that would take forever so I just went ahead and updated first BIOS 3.23 and then ECP 3.04. It worked without problems and suddenly, the 1802 error went away. Win!

Afterwards, I booted the Fedora LXDE Spin, version 17 and installed that. Why Fedora? Because it boots wickedly fast with systemd and SSD and has rather recent software.

Future experiments: buy better display, hollow out the battery for a lighter device, kill and hollow out a CD drive to close the Ultrabay Slim bay.