OpenBSD on an IBM ThinkPad T42p

Current for OpenBSD 4.0 RELEASE

This page is now obsolete.

OpenBSD 4.4 version of this page

OpenBSD 4.2 version of this page
OpenBSD 4.1 version of this page

In late 2006, I purchased a used IBM (now Lenovo) ThinkPad T42p laptop. It is model number 2373HTU. This was purchased as my primary workstation laptop to run OpenBSD and it does so very well. The ThinkPad replaces an Apple PowerBook G4 15 inch laptop running Mac OS X and a Compaq PIII E500 Armada laptop running OpenBSD.

Thinkpad T42p Keyboard    Thinkpad T42p Left Side    Thinkpad T42p Right Side    OpenBSD/X11/FVWM Screenshot 1600x1200
Click on image for a larger version.

Here is a full dmesg.

Here is my xorg.conf. It has some tweaks such as putting the Control key in the proper place, some extra fonts, and using the VESA driver. However, X11 runs fine with no special xorg.conf at 1600x1200.


The basic hardware specs of my laptop are as follows: The IBM factory specifications for this model can be found here.


SpeedStep works fine and is controlable with sysctl(8) and apmd(8)/apm(8).

Here is an example of the CPU running in low performance mode (to save battery).

urban:~ > sysctl hw.cpuspeed
urban:~ > sysctl hw.setperf


The graphics card is an ATI FireGL T2 with 128MB of RAM. Although OpenBSD doesn't recognize the exact model, Xorg works fine with the radeon(4), ati, or vesa(4) driver.
vga1 at pci1 dev 0 function 0 vendor "ATI", unknown product 0x4e54 rev 0x80
There is a problem with the suspend functions under X11 with the radeon and ati drivers. See the APM section below for details.


The Intel Pro/1000MT gigabit ethernet interface is supported under the em(4) driver.
em0 at pci2 dev 1 function 0 "Intel PRO/1000MT (82540EP)" rev 0x03: irq 11, address 00:11:25:2b:a2:5f

The IBM 11ABG WL LAN 802.11a/b/g wireless interface is a Mini PCI card with an Atheros AR5212 chipset and is supported under the ath(4) driver.

ath0 at pci2 dev 2 function 0 "Atheros AR5212 (IBM MiniPCI)" rev 0x01: irq 11
ath0: AR5213 5.6 phy 4.1 rf5111 1.7 rf2111 2.3, WOR1W, address 00:05:4e:51:0c:e8


The integrated modem is your run-of-the-mill winmodem and thus is not supported.
"Intel 82801DB Modem" rev 0x01 at pci0 dev 31 function 6 not configured


Bluetooth is recognized as a generic USB attached device but is not supported.
ugen0 at uhub2 port 1
ugen0: Actiontec Electronics product 0x2441, rev 1.10/5.46, addr 2


The insertion of any PCMCIA card causes a kernel panic either while the system is booting or upon insertion. This is definitely a bug and appears to be PR 5239 in the OpenBSD Bug Tracking System.


All hardware buttons such as the volume keys work fine and OSD feedback under X11 is provided with the "tpb" package. The blue Access IBM button is programmable with the "tpb" package. I have mine programmed to run xlock(1) for quick screen locking.

The Function (Fn) modifier keystrokes such as Fn+F3 (screen off/on), Fn+Home/End (screen brightness), Fn+PgUp (ThinkLight), Fn+F4 (sleep / suspend to RAM), and Fn+F12 (suspend to disk / hibernate) all work. OSD feedback under X11 is provided with the "tpb" package. The BACK/FORWARD buttons near the cursor key cluster are programmable with the "tpb" package or xmodmap(1).

There is a problem with the suspend functions under X11 with the radeon and ati drivers. See the APM section below for details.

TrackPad and TrackPoint

The TrackPad, TrackPoint and their associated buttons all work as expected with one exception. The middle blue mouse button associated with the TrackPoint does not work if both the TrackPad and TrackPoint are enabled. It does work if the TrackPad is disabled. This is setable in the BIOS. This "feature" is the way the ThinkPad is designed and is independent of the operating system (i.e. it is not a bug in OpenBSD).


APM works fine with apmd(8).

apmd(8) and apm(8) work to automatically or manually control the SpeedStep technology in the Pentium M CPU.

Suspend to RAM (sleep) with zzz, apm -z, or Fn+F4 and suspend to disk (hibernate) with Fn+F12 work fine in console mode. However these do not work in X11 if the Xorg config is using the radeon or ati driver. It works fine with the vesa driver and for me, this is an acceptable workaround.

Suspend to disk (hibernation) requires that a partition be created of type 16 (OS/2 hidden) in order to have a place to suspend to. Use the "tphdisk" package and follow the instructions included with that package to create a suspend file on the partition.

Here is the layout of my partitions:

urban:~ > sudo fdisk /dev/rwd0c
Disk: /dev/rwd0c        geometry: 7752/240/63 [117210240 Sectors]
Offset: 0       Signature: 0xAA55
         Starting       Ending       LBA Info:
 #: id    C   H  S -    C   H  S [       start:      size   ]
 0: 16    0   1  1 -  554 239 63 [          63:     8391537 ] OS/2 hidden 
 1: 12 7157   0  1 - 7751 239 63 [   108213840:     8996400 ] Compaq Diag.
*2: A6  555   0  1 - 7156 239 63 [     8391600:    99822240 ] OpenBSD     
 3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused      


The ThinkLight keyboard light works great!

Last modified: Sunday, 02-Nov-2008 15:10:14 MST :: Erik Mugele :: Main Page :: Contact Page :: Powered by Teuton