Recently (2007), I ended up with a pair of used IBM Thinkpad A21p systems. I'd used Thinkpad machines before, even other A21 machines. The machine arrived in my life minus everything of resale value, no power supply, no CD or DVD, no RAM. Curiously (and fortunately!) it did come with a hard disk, and borrowing parts, I was able to find out it was worth making some investment in.
(raw dmesg)OpenBSD 4.4-current (GENERIC) #0: Sun Nov 16 23:33:45 EST 2008 firstname.lastname@example.org:/usr/src/sys/arch/i386/compile/GENERIC cpu0: Intel Pentium III ("GenuineIntel" 686-class) 847 MHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE real mem = 402157568 (383MB) avail mem = 380178432 (362MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 05/29/03, BIOS32 rev. 0 @ 0xfd820, SMBIOS rev. 2.3 @ 0xe0010 (47 entries) bios0: vendor IBM version "KYET37WW (1.10 )" date 05/29/2003 bios0: IBM 2629HXU apm0 at bios0: Power Management spec V1.2 apm0: battery life expectancy 100% apm0: AC on, battery charge high acpi at bios0 function 0x0 not configured pcibios0 at bios0: rev 2.1 @ 0xfd7b0/0x850 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdee0/208 (11 entries) pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371FB ISA" rev 0x00) pcibios0: PCI bus #5 is the last bus bios0: ROM list: 0xc0000/0x10000 0xd0000/0x800 0xe0000/0x10000 cpu0 at mainbus0: (uniprocessor) pci0 at mainbus0 bus 0: configuration mode 1 (no bios) pchb0 at pci0 dev 0 function 0 "Intel 82443BX AGP" rev 0x03 intelagp0 at pchb0 agp0 at intelagp0: aperture at 0xf4000000, size 0x4000000 ppb0 at pci0 dev 1 function 0 "Intel 82443BX AGP" rev 0x03 pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "ATI Mobility M3" rev 0x02 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) cbb0 at pci0 dev 2 function 0 "TI PCI1450 CardBus" rev 0x03: irq 11 cbb1 at pci0 dev 2 function 1 "TI PCI1450 CardBus" rev 0x03: irq 11 xl0 at pci0 dev 3 function 0 "3Com 3c556B 100Base-TX" rev 0x20: irq 11, address 00:00:86:4c:d1:02 acphy0 at xl0 phy 0: AC101 10/100 PHY, rev. 11 "3Com V.90 Modem" rev 0x20 at pci0 dev 3 function 1 not configured clcs0 at pci0 dev 5 function 0 "Cirrus Logic CS4280/46xx CrystalClear" rev 0x01: irq 11 ac97: codec id 0x43525914 (Cirrus Logic CS4297A rev 4) ac97: codec features headphone, 20 bit DAC, 18 bit ADC, Crystal Semi 3D piixpcib0 at pci0 dev 7 function 0 "Intel 82371AB PIIX4 ISA" rev 0x02: SpeedStep pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility wd0 at pciide0 channel 0 drive 0:
wd0: 16-sector PIO, LBA48, 238475MB, 488397168 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 atapiscsi0 at pciide0 channel 1 drive 0 scsibus0 at atapiscsi0: 2 targets, initiator 7 cd0 at scsibus0 targ 0 lun 0: ATAPI 5/cdrom removable cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 uhci0 at pci0 dev 7 function 2 "Intel 82371AB USB" rev 0x01: irq 11 piixpm0 at pci0 dev 7 function 3 "Intel 82371AB Power" rev 0x03: SMI iic0 at piixpm0 cardslot0 at cbb0 slot 0 flags 0 cardbus0 at cardslot0: bus 2 device 0 cacheline 0x8, lattimer 0xb0 pcmcia0 at cardslot0 cardslot1 at cbb1 slot 1 flags 0 cardbus1 at cardslot1: bus 5 device 0 cacheline 0x8, lattimer 0xb0 pcmcia1 at cardslot1 isa0 at piixpcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pms0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pms0 mux 0 pcppi0 at isa0 port 0x61 midi0 at pcppi0: spkr0 at pcppi0 lpt2 at isa0 port 0x3bc/4: polled npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec usb0 at uhci0: USB revision 1.0 uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 biomask efe5 netmask efe5 ttymask ffff mtrr: Pentium Pro MTRR support softraid0 at root root on wd0a swap on wd0b dump on wd0b clcs0: firmware loaded audio0 at clcs0
$ sysctl hw hw.machine=i386 hw.model=Intel Pentium III ("GenuineIntel" 686-class) hw.ncpu=1 hw.byteorder=1234 hw.physmem=402157568 hw.usermem=402153472 hw.pagesize=4096 hw.disknames=wd0,cd0,fd0 hw.diskcount=3 hw.cpuspeed=847 hw.setperf=100 hw.vendor=IBM hw.product=2629HXU hw.serialno=78FB992 hw.uuid=6bdff601-4416-11cb-84f5-a6189091de6e
Please do NOT take me as an X authority, if you find solutions to some of these quirks, let me know.
Attempts to run the screen at other than 1600x1200 resulted in a strangely chopped up and fuzzy screen, and exiting that display resulted in a strange "fade-to-white" on the display and a hard-locked computer.
Running X -configure resulted in a display which attempted to run at 640x480, and behaved as mentioned above. The "solution" to this seemed to be defining the horizontal and vertical sweep speeds for this machine's display. Unfortunately, information like this is hard to find on laptops, it seems. So, I did the next best thing, and started punching in not-quite-wild guesses. Saving you a possibly educational story, the following changes to the generated xorg.conf.new file "works for me":
(note: no attempt to preserve whitespace is done there. Diff is provided for documentation purposes only, not for application!)--- xorg.conf.new Mon Jul 16 21:33:36 2007 +++ /etc/X11/xorg.conf Mon Jul 16 21:34:26 2007 @@ -42,8 +42,10 @@ Section "Monitor" Identifier "Monitor0" - VendorName "Monitor Vendor" - ModelName "Monitor Model" + VendorName "IBM" + ModelName "A21p 1600x1200 LCD" + HorizSync 31.0 - 75.0 + VertRefresh 50.0 - 70.0 EndSection Section "Device" @@ -74,6 +76,7 @@ Identifier "Screen0" Device "Card0" Monitor "Monitor0" + DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 1 @@ -97,6 +100,7 @@ SubSection "Display" Viewport 0 0 Depth 24 + Modes "1600x1200" EndSubSection EndSection
I actually initially used much wilder values for HorizSync and VertRefresh, but xvidtune told me it was running at a HorizSync of 75kHz and a vertical refresh of 60Hz, so I backed those values down a bit to the more conservative values above.
Full xorg.conf file that works for OpenBSD 4.1+ is here. Again, this is a "works for me" configuration, not necessarily an optimal config.
Only complaint is it is not a small machine. Certainly not as big as many more modern machines with mega-displays, but you will know you have it with you.
Holland Consulting home
Contact Holland Consulting
since Nov 27, 2008
Copyright 2008, Nick Holland, Holland Consulting