I recently acquired an IBM Thinkpad 600E for $60 online.
This particular model was launched in 2002, and is one of the grandparents of the ultraportable line which included my beloved X61 Thinkpad.
It includes many of the features which make Thinkpads a pleasure to work with like trackpoint and relatively compatible hardware, and since components are extremely cheap to replace, it was a simple matter of replacing the battery and installing some new ram to get us to the optimal specifications necessary to run a graphical environment - it may be fun to hang out in the framebuffer, but a computer in the modern sense should be capable of using as many tools as possible to get the job done. Administering websites via CMS is a lot easier if you have the specs to run a modern browser etc.
I replaced the original battery with the following:
And replaced the RAM with PC-66 from here:
In the end, the laptop itself was $60, while the battery and new RAM came to $50. The 32mb of onboard plus the two sticks of 128 come out to 288mb total, and the improved 4400 mAh battery gives me about 4-5 hours of battery life on debian. It's still a bit heavier than my X61, but it's really amazingly portable for a nine year old computer.
The first step was to burn a current core image.
With only 90mb of RAM, the system would hang on install while trying to initialize ramfs. This problem is alleviated by bumping the memory back up over 256, but I'm unsure where the actual limit is where the system cannot run the installer.
There is excellent support for the 600 line on ThinkWiki
Tips From ThinkWiki
The 600 series ThinkPads have a bootable CDROM drive, therefore the installation can be done by booting from an installation CD created by burning an ISO image. The BIOS should be set up to boot from CD before booting from the harddrive.
For Power Management you can choose from APM or ACPI. Support for either system should be compiled in the kernel. According to How to make APM work, APM is the suggested system for the 600E. In fact, the 600E came pre-installed with Windows and APM as power management system. However, the 600E is ACPI ready, as is stated on the IBM support website:
"The ThinkPad 600E is ACPI ready. ACPI is not installed, but the system hardware supports ACPI. While ACPI shows a great deal of promise for the future, numerous problems affect the operation of ACPI on ThinkPad and other notebook systems. Therefore, the system comes with Windows 98 running in APM mode."
Ibm-acpi supports the 600E as of version 0.11. Read How to make use of Power Management features for more information.
The 600E does not have a Phoenix NoteBIOS, therefore utilities like Tphdisk and lphdisk can not be used to create a hibernation file for the Hibernation mode. It is suggested to use the DOS utility PS2.EXE.
The 600E has a MWave_MDSP3780 modem. The option CONFIG_MWAVE (under PCMCIA character devices) should be compiled in the kernel or as a loadable module.
The sound chip on the 600E is a CS4239. On this Thinkpad model, the CS4610 driver does not work, but the ISA interface (ALSA driver: snd-cs4236) works quite well, if you get the chip configured and enabled. There are two ways to do that:
- Disable fast boot in the BIOS setup, and set up resources using the ps2 tool supplied with your thinkpad. These resource settings have to be passed to the module. See for example the WLUG link supplied below. Also, use the ps2 utility to make sure both audio and midi are enabled on your Thinkpad by using
> ps2 ? audio and
> ps2 ? midi. To enable, use
> ps2 audio enable and
> ps2 midi enable. It is also best to avoid any hardware detection utilities (e.g. discover and hotplug) to load the CS46xx driver.
- Use the PNPBIOS or ACPI-PnP implementation and a userspace setup script for automatic configuration like this one.
Arch Linux Wiki - Special Notes for the 600E
Follow usual Arch Linux Guide except for the points below. The 600E sound card is notoriously challenging to configure in GNU/Linux.
Firstly the laptop BIOS must be set to Initialize and Quick Boot must be off. Then run alsaconf, which sould now pick up the sound card and write a new /etc/modprobe.conf. If hotplug still tries to load cs461x and fails then blacklist it (/etc/hotplug/blacklist). You can also add the correct driver (snd-cs4236) to the MODULES variable of /etc/rc.conf so that it loads before hotplug starts.
The thinkpad also behaves differently on reset than it does on power on. The sound card driver may not load on reset.
Pcmciacs appears to trash the sound card driver on boot. You do not really need pcmciacs as hotplug should handle all but very old 16bit pcmcia cards. If you really want it then it is possible to stop it from probing certain ports and irq's. Otherwise you can just fix this by reloading the kernel module. Add this to your /etc/rc.local:
You need to reload the alsa values because the sound card forgets its volume settings.
If you still have problems these settings may help. The /etc/rc.conf should include:
MOD_BLACKLIST=(snd_cs46xx snd_cs461x snd_cs4232 pcihp)
Your /etc/modprobe.conf should include:
options snd-cs4236 isapnp=0 cport=0x538 port=0x530 sb_port=0x220 fm_port=0x388 irq=5 dma1=1 dma2=0
alias snd-card-0 snd-cs4236
The kernel cannot insert the pciehp module for some strange reason. Skip it by adding it to /etc/hotplug/blacklist
USB devices can be quite tempremental. The solution appears to be set pci=noacpi as a kernel argument.
The graphics card is a Neomagic card (driver is neomagic). To play DVD's you will need to pass an 'OverlayMem' option to the driver. The video device section in /etc/X11/xorg.conf should look like this:
VendorName "Neomagic Corporation"
BoardName "NM2200 [MagicGraph 256AV]"
Option "OverlayMem" "829440"
N.B. DVD playback only works with a display depth of 16bit as there is not enough video RAM for 32bit depth. The LCD screen is capable of 1024x768.
There is a package called thinkpad that installs a number of modules specific to thinkpads. A related packege called tpctl supplies a configuration program that allows you to change thinkpad specific stuff. To get it working you need to create the thinkpad devices in /dev.
ACPI and APM
Both ACPI and APM work in this machine without any big problems. The stock Arch Linux kernel26 comes with ACPI so just use that. If the machine refuses to poweroff or ACPI isn't working ACPI=FORCE maybe needed.
Getting Down to Business
The actual process of installation is similar to any Arch Setup.
Once you've gotten a base system, PCMCIA support of wireless cards should be fine. Use iwconfig to check that your interface is there, and you should see an entry marked wlan0 or eth0 depending on what kind of card you're using. Some people do roll ethernet.
Next - install any little things you like such as an editor etc. Be sure to set up a non-root user and visudo so you can execute commands from your user account.
Finally, you'll need X working if you want to save yourself some time and aggravation, so
# pacman -Syu xorg
and be sure to grab the proper drivers.
(Driver and module detail coming soon)
As of 2.20.11, using the current xorg packages, you will need to copy over the generated xorg.conf.new to /etc/X11/xorg.conf
You will then need to add the following to the ServerLayout section:
Option "AllowEmptyInput" "false"
This allows X to use your input devices on the 600E and will prevent you from having a frozen mouse and keyboard on start.
Once that's all set you should be able to startx and get a jwm screen.
At this point I went offline to work on the laptop some more, and a few days went by. I've got a lot more accomplished and I'm using JWM right now. I've got everything working swimmingly and I'll post my configs in a longer post soon.