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.
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: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,SBF,EST,TM2 ... 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 hw.cpuspeed=600 urban:~ > sysctl hw.setperf hw.setperf=0
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).
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!