OpenBSD on an IBM ThinkPad T42p

Current for OpenBSD 4.4-CURRENT (31 October 2008)
OpenBSD 4.0 version of this page
OpenBSD 4.1 version of this page
OpenBSD 4.2 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 laptop workstation to run OpenBSD and it does so very well. The main reason for getting this model was for the 1600x1200 screen resolution. 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.

As of OpenBSD 4.2, X11 runs fine with no special xorg.conf at 1600x1200. In previous releases, the VESA driver was required in order for the sleep/suspend functions to work. See the OpenBSD 4.1 version of this page for details on the sleep/suspend problem.


The basic hardware specs of my laptop are as follows:

The IBM factory specifications for this model can be found here.

In 2007 I replaced the IBM 11ABG WL LAN AR5212 MiniPCI 802.11a/b/g wireless card with an Ralink RT4561 (ral) wireless card.


The CPU is an Intel 1.8GHzPentium M processor.

cpu0: Intel(R) Pentium(R) M processor 1.80GHz ("GenuineIntel" 686-class) 1.80 GHz
cpu0 at mainbus0: (uniprocessor)
cpu0: Enhanced SpeedStep 1800 MHz (1340 mV): speeds: 1800, 1600, 1400, 1200, 1000, 800, 600 MHz

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. As of OpenBSD 4.3, the card is recognized and reported in dmesg. Xorg works fine with no xorg.conf file. Xorg will automatically use the radeon(4) driver. There were numerous updates to this driver after the release of OpenBSD 4.4.

vga1 at pci1 dev 0 function 0 "ATI Radeon Mobility M10 NT" rev 0x80
radeondrm0 at vga1


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

In 2007, I replaced the factory Atheros card listed above with a Ralink RT2561 MiniPCI card which is supported under the ral(4) driver.

ral0 at pci2 dev 2 function 0 "Ralink RT2561" rev0x00: irq 11, address 00:19:db:91:82:4c 
ral0: MAC/BBP RT2561C, RFRT2527


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


Prior to the release of OpenBSD 4.4, the insertion of any PCMCIA or CardBus card causes a kernel panic either while the system is booting or upon insertion. This was fixed after the release of OpenBSD 4.3. See the OpenBSD 4.2 version of this page for details on this problem.

PCMCIA/CardBus cards now work great. The dmesg shows a Xircom RelPort CardBus Ethernet 10/100+Modem 56 inserted.


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).

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.

Prior to OpenBSD 4.2, the VESA driver was required for the sleep/suspend functions to work under X11. See the OpenBSD 4.1 version of this page for details on the sleep/suspend problem.

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:14:05 MST :: Erik Mugele :: Main Page :: Contact Page :: Powered by Teuton