OpenBSD on a ThinkPad X31
|
This page documents how to install and configure OpenBSD for the IBM ThinkPad X31. Specifically, model number "2672N7M" (though it has a couple of extra ports not in the official model). I'm running OpenBSD 3.6-current, but OpenBSD 3.4 and later should work too [1].
InstallationFirst off, OpenBSD runs rather well on the ThinkPad X31. It is a great little laptop. The machine has no external drives. Just ethernet, optional wireless, usb, (and a bunch of other network-type interfaces). This makes installation less than straight-forward. I was not able to install over the network, but was immediately able to install via a USB floppy drive. Here is a (now outdated) description of the various installation methods I tried. HardwareHere are the full specs. Note, this machine also appears to have cardbus and firewire ports, which were not in the specs, which was a bonus. Here is the dmesg. Intel Pentium M 1.60 GHz Supported. And I am very happy to report that for batch compilation [2] the Pentium M 1.60 GHz laptop is marginally faster than my Pentium4 2.4 GHz desktop! The desktop has the more ram, but the laptop has 1M cache, which I suspect is the difference.
update [22/12/03]
update [06/01/04] An example tuning:
$ sysctl -a hw.cpuspeed
hw.cpuspeed = 1600
$ sysctl -a hw.setperf
hw.setperf = 100
$ sudo sysctl -w hw.setperf=50
hw.setperf: 100 -> 50
$ sysctl -a hw.cpuspeed
hw.cpuspeed = 1200
Also, the mV value is reported at boot time, and changes if you
clock the machine back. At
Enhanced SpeedStep 1600 MHz (1484 mV)
and at setperf=0:
Enhanced SpeedStep 600 MHz (956 mV)
Measurements indicate a battery life gain of 32% at 600MHz, compared to the default, stretching the battery life to 4 hours. Read the man page for more information.
Running times of the md5 -t test, at 10% increments of the setperf
value. This reveals the interesting result that setperf levels are
stepped, rather than being continuous. So adjusting it to levels finer
than multiples of 20% are useless. It also shows that the performance
hit as you move to lower values is not a linear decrease, but slightly
curved. Also note the single outlying value for
GraphicsChipset "ATI Radeon Mobility M6 LY (AGP)" (ChipID = 0x4c59) Supported with the radeon driver. Looks great 1024x768. An XF86Config file is available, thanks to Kim Nielsen. (This is for my machine with a 'us' keyboard, not 'dk' as Kim's is). Also, screen fonts/xterms will look a lot better if you install some truetype fonts. Here is how. Some of graphics-related things are controlled from the keyboard:
The external display has been confirmed to work rather well with both an external monitor, and also with an overhead 'beamer' projector. This is a great laptop for presentations! I had to make *no* changes to my X setup for this to work. It was fine out of the box.
update [18/01/05] Hard Diskpaprika$ sudo atactl wd0c identify Model: FUJITSU MHT2040AT, Rev: 8423, Serial #: NN4GT3A12YAF Device type: ATA, fixed Cylinders: 16383, heads: 16, sec/track: 63, total sectors: 71474162 Device capabilities: ATA standby timer values IORDY operation Device supports the following standards: ATA-2 ATA-3 ATA-4 ATA-5 ATA-6 Master password revision code 0xfffe Device supports the following command sets: READ BUFFER command WRITE BUFFER command Host Protected Area feature set Read look-ahead Write cache Power Management feature set Security Mode feature set SMART feature set Flush Cache command Device Configuration Overlay feature set Automatic Acoustic Management feature set Set Max security extension commands Power-up in standby feature set Advanced Power Management feature set DOWNLOAD MICROCODE command SMART self-test SMART error logging Device has enabled the following command sets/features: READ BUFFER command WRITE BUFFER command Host Protected Area feature set Read look-ahead Write cache Power Management feature set SMART feature set Flush Cache command Device Configuration Overlay feature set Automatic Acoustic Management feature set Advanced Power Management feature set DOWNLOAD MICROCODE command EthernetIntel PRO/100 VE rev 0x81 Intel PRO/100 VE works with the fxp(4) driver. Supported since July 2003, not supported in GRUB.. grr. WirelessThe ipw driver is in the OpenBSD kernel, so the internal wireless should work. What follows in a now-dated discussion of the problems of getting wireless working. You may want to look at the "misc/tpwireless" port if you want to install a non-IBM "authorized" wireless nic. This port disable the nic check in the bios.
Intel PRO/Wireless 2100 LAN MiniPCI Adapter
Cisco Aironet MPI-350 MiniPCI
Part no. 31P8301 : "Cisco Aironet Wireless 802.11b Mini PCI"
product AIRONET MPI350 0xa504 MPI-350 Wireless
update [31/03/04]
a Lucent based mini-PCI card should work just fine. Most Lucent
based cards do not attach directly to the PCI interface, but rather
have some sort of PCMCIA/CardBus <-> PCI bridge. The mini-PCI cards
appear to be no different.
I'm currently using a Dell TrueMobile 1150 (OEM Agere) in my X31
(2884-XX4) with no problems whatsoever. The BIOS does not complain
at all as it apparently does not see this as a networking device.
Check out:
dmesg.
PCMCIA cards work fine. ModemIntel 82801DB Modem Unsupported. Haven't tried this. AudioIntel 82801DB AC97 Audio works with the auich(4) driver. Works perfectly.
update [22/12/03] ac97: codec id 0x41445374 (Analog Devices <74>)to ac97: codec id 0x41445374 (Analog Devices AD1981B) USBSupported. External iPods, usb keys, usb floppys etc seem to all work. PCMCIASupported. CF-Card ReaderSupported. APM
Supported. The machine sleeps with Firewire
Ricoh 5C552 PCI-Firewire IrDA
Supported. I even managed to get file off my girlfriend's Siemens phone
over IrDa, using the ports tree tools.
IrDa does work on X31. Try the following.
1. Enable IrDA in the BIOS.
2. $ dmesg | grep irq
You should see pccom0 and pccom1, serial ports. IrDA should be /dev/cua01
3. Install the birda package from the ports/packages collection.
4. Set up an activated IrDA device next to the X31. As root type
$ ircomm -Y -d /dev/cua01 -y /dev/ptyqf -l log -v 2
5. $ cat log
You should see verbose logging telling you if it's successful. You can
use /dev/ptyqf in your /etc/ppp/ppp.conf and hey presto.
(The X40 has IrDA but its built into the secure disk slot, which at
present is not recognised.)
Security ChipUnsupported. Isn't detected by the kernel.
A preliminary NetBSD driver for the TCPA ("Trusted Computing
Platform Alliance") security chip was announced on daemonnews.org in early
November 2003. KeyboardWorks fine. The following issue was been solved when OpenBSD switched to Xorg's server. You may also wish to install the 'sysutils/tpb' port from the ports tree, which enables binding actions to the AccessIBM button, and nice graphics for the other funny buttons on the keyboard. Also, thanks to Bernd Ahlers, you can use the following to enable the two keys around the arrow key set:
$ xmodmap -e "keycode 233 = Page_Down"
$ xmodmap -e "keycode 234 = Page_Up"
update:
update: Keyboard LightThe X31 has a keyboard light for typing in the dark. It works :) Further readingAndrew Baumann's Linux on the X31 page. A dmesg, XF86Config and notes on what works and what doesn't, on OpenBSD, from Kim Nielsen is here. A page on OpenBSD on the ThinkPad X40. Including a bunch of interesting tools. Stefanos Zachariadis's Linux on the IBM ThinkPad X31 page. Another, well known user of deadly.org fame, Jose Nazario, posted this success. And it looks like the Net/OpenBSD developer Jun-ichiro "itojun" Hagino has one (in Japanese) of these machines, although I'm not sure if he is running OpenBSD on it. The text is to do with the appearance of drivers for the atheos chipset. Notes[1] Prior to OpenBSD 3.3-current, July 2003, there was no driver for the PRO/100 VE ethernet card. So I wouldn't recommend installing an old kernel. [2] Full build of GHC 6.0.1, 30 mins for the laptop, versus 32 mins for the faster-clocked desktop box. Changelog
|