IBM Thinkpad 390

(actual model number: 2626-AR1)


390 PII

I purchased this machine a few years ago to use as a 'spare.' and as a pure DOS machine. I use the old BootMagic™ program as a boot manager, and have true DOS (MS 6.22) and Windows 3.11 in one partition, WIN98 (the native OS of the machine) in another, and Debian Etch (booting from LILO installed in the logical partition, because BootMagic™ doesn't like GRUB) in the third. I'm using various Linksys WPC11 version 1 for 802.11 connections, and sometimes a 3COM PCMCIA ethernet card for a hard-wired connection.

In recent months the mousekey equivalents on the trackpoint device have failed and I'm required to use an external mouse. This is true on all OS versions, so I'm sure it's a hardware issue. Oh and I 'accidentally' bent some pins in the 2d PCMCIA slot. Ah well, it is old.

Otherwise, this is a familiar old workhorse of a machine, and many people have successfully loaded many different distributions of Linux on it. The latest (as of early '06) Debian Etch netinst CD gave me a fairly straightforward install, and the latest XOrg xserver works fine out of the box. Probably the toughest nut to crack is the sound card, and of course the modem, which is of little use in any event. The Neomagic sound card is, well, problematic for most Linux distributions. You'll find extended discussions and work-arounds elsewhere, but the short story is that he OPL3SA2 drivers work, and in Debian etch alsaconf offers you the choice of using them. Now if your applications don't support ALSA, well, that's another story.

Until recently I ran Debian Sarge on this machine, but an OS related issue is that under Sarge the system seemed to slow down to a virtual halt after a couple of hours of use, with the CPU spiking to 100% and staying there. This really is a seldom-used system, so it didn't matter much to me. But recently, a quick web search revealed that this was a known APIC issue with older kernels, so I upgraded to Etch on a 2.6.16 kernel, and APIC seems to be more reliable. Course, I'm stuck now on 2.6.16, because my experience with my newer Thinkpad 570 scares me away from the latest Etch kernel and it's UDEV problems.

Here's the diagnostic output and some key files for the current (12/06) etch setup


dmesg

Linux version 2.6.16-2-486 (Debian 2.6.16-18) (fs@debian.org) (gcc version 4.0.4 20060730 (prerelease) (Debian 4.0.3-6)) #1 Fri Aug 18 18:39:04 UTC 2006
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000ea400 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 0000000007ff0000 (usable)
 BIOS-e820: 0000000007ff0000 - 0000000007fffc00 (ACPI data)
 BIOS-e820: 0000000007fffc00 - 0000000008000000 (ACPI NVS)
 BIOS-e820: 00000000fffea400 - 0000000100000000 (reserved)
127MB LOWMEM available.
On node 0 totalpages: 32752
  DMA zone: 4096 pages, LIFO batch:0
  DMA32 zone: 0 pages, LIFO batch:0
  Normal zone: 28656 pages, LIFO batch:7
  HighMem zone: 0 pages, LIFO batch:0
DMI 2.1 present.
ACPI: RSDP (v000 PTLTD                                 ) @ 0x000f71e0
ACPI: RSDT (v001 PTLTD    RSDT   0x00000000  LTP 0x00000000) @ 0x07ffb6df
ACPI: FADT (v001 IBM    430TX    0x00000000 PTL  0x000f4240) @ 0x07fffb65
ACPI: BOOT (v001 PTLTD  $SBFTBL$ 0x00000000  LTP 0x00000001) @ 0x07fffbd9
ACPI: DSDT (v001    IBM ThinkPad 0x00000000 MSFT 0x01000004) @ 0x00000000
ACPI: PM-Timer IO Port: 0x1008
Allocating PCI resources starting at 10000000 (gap: 08000000:f7fea400)
Built 1 zonelists
Kernel command line: auto BOOT_IMAGE=Linux ro root=304 fb=false
No local APIC present or hardware disabled
mapped APIC to ffffd000 (01101000)
Initializing CPU#0
PID hash table entries: 512 (order: 9, 8192 bytes)
Detected 233.324 MHz processor.
Using pmtmr for high-res timesource
Console: colour dummy device 80x25
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 122540k/131008k available (1484k kernel code, 7980k reserved, 570k data, 228k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 467.30 BogoMIPS (lpj=934600)
Security Framework v1.0.0 initialized
SELinux:  Disabled at boot.
Capability LSM initialized
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 008001bf 00000000 00000000 00000000 00000000 00000000 00000000
CPU: After vendor identify, caps: 008001bf 00000000 00000000 00000000 00000000 00000000 00000000
Intel Pentium with F0 0F bug - workaround enabled.
CPU: After all inits, caps: 008001bf 00000000 00000000 00000000 00000000 00000000 00000000
CPU: Intel Mobile Pentium MMX stepping 01
Checking 'hlt' instruction... OK.
ACPI: setting ELCR to 0200 (from 0800)
checking if image is initramfs... it is
Freeing initrd memory: 4205k freed
NET: Registered protocol family 16
EISA bus registered
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfda05, last bus=3
PCI: Using configuration type 1
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] bus is 0
PCI quirk: region 1000-103f claimed by PIIX4 ACPI
PCI quirk: region 1040-104f claimed by PIIX4 SMB
PIIX4 devres B PIO at 0530-0537
PIIX4 devres C PIO at 0388-038f
PIIX4 devres E PIO at 0120-0121
PIIX4 devres I PIO at 03e8-03ef
PIIX4 devres J PIO at 0100-0107
Boot video device is 0000:00:05.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11 14 15)
ACPI: Embedded Controller [EC0] (gpe 9) interrupt mode.
ACPI: Power Resource [PFAN] (off)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnPACPI: METHOD_NAME__CRS failure for IBM0071
pnp: PnP ACPI: found 14 devices
PnPBIOS: Disabled by ACPI PNP
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
pnp: 00:05: ioport range 0x4d0-0x4d1 has been reserved
pnp: 00:05: ioport range 0x1000-0x104f could not be reserved
PCI: Ignore bogus resource 6 [0:0] of 0000:00:05.0
PCI: Bus 1, cardbus bridge: 0000:00:03.0
  IO window: 00001400-000014ff
  IO window: 00001800-000018ff
  PREFETCH window: 10000000-11ffffff
  MEM window: 12000000-13ffffff
PCI: Bus 5, cardbus bridge: 0000:00:03.1
  IO window: 00001c00-00001cff
  IO window: 00002000-000020ff
  PREFETCH window: 14000000-15ffffff
  MEM window: 16000000-17ffffff
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:03.0 to 64
ACPI: PCI Interrupt 0000:00:03.1[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:03.1 to 64
Simple Boot Flag at 0x38 set to 0x1
audit: initializing netlink socket (disabled)
audit(1166470540.384:1): initialized
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Limiting direct PCI/PCI transfers.
vesafb: framebuffer at 0xfd000000, mapped to 0xb8880000, using 937k, total 2496k
vesafb: mode is 800x600x8, linelength=800, pages=4
vesafb: protected mode interface info at c000:a470
vesafb: scrolling: redraw
vesafb: Pseudocolor: size=6:6:6:6, shift=0:0:0:0
Console: switching to colour frame buffer device 100x37
fb0: VESA VGA frame buffer device
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:MOUE] at 0x60,0x64 irq 1,12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
00:06: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
EISA: Probing bus 0 at eisa.0
Cannot allocate resource for EISA slot 1
Cannot allocate resource for EISA slot 2
EISA: Detected 0 cards.
NET: Registered protocol family 2
input: AT Translated Set 2 keyboard as /class/input/input0
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 8
NET: Registered protocol family 20
Using IPI Shortcut mode
ACPI wakeup devices: 
COMA  MDM CRD0 CRD1  LID SBTN 
ACPI: (supports S0 S1 S3 S4 S5)
Freeing unused kernel memory: 228k freed
ACPI: Fan [FAN] (off)
ACPI: Processor [CPU0] (supports 8 throttling states)
ACPI: Thermal Zone [THRM] (18 C)
usbcore: registered new driver usbfs
usbcore: registered new driver hub
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 0000:00:02.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xfcd0-0xfcd7, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xfcd8-0xfcdf, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: TOSHIBA MK6409MAV, ATA DISK drive
USB Universal Host Controller Interface driver v2.3
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: SANYO CRD-S372BVA, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:02.2[D] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
uhci_hcd 0000:00:02.2: UHCI Host Controller
uhci_hcd 0000:00:02.2: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:02.2: irq 11, io base 0x0000fce0
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
hda: max request size: 128KiB
hda: 12685680 sectors (6495 MB), CHS=13424/15/63, UDMA(33)
hda: cache flushes not supported
 hda:<6>usb 1-1: new full speed USB device using uhci_hcd and address 2
 hda1 hda2 < hda5 hda6 > hda3 hda4
hdc: ATAPI 24X CD-ROM drive, 256kB Cache, DMA
Uniform CD-ROM driver Revision: 3.20
usb 1-1: configuration #1 chosen from 1 choice
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
Attempting manual resume
  Vendor: USB       Model: Flash Disk        Rev: 7.77
  Type:   Direct-Access                      ANSI SCSI revision: 02
usb-storage: device scan complete
Real Time Clock Driver v1.12ac
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
input: PC Speaker as /class/input/input1
IBM TrackPoint firmware: 0x0b, buttons: 3/3
input: TPPS/2 IBM TrackPoint as /class/input/input2
ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Yenta: CardBus bridge found at 0000:00:03.0 [1014:0092]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:03.0, mfunc 0x00002000, devctl 0x64
Yenta: ISA IRQ mask 0x0448, PCI irq 11
Socket status: 30000010
ACPI: PCI Interrupt 0000:00:03.1[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Yenta: CardBus bridge found at 0000:00:03.1 [1014:0092]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:03.1, mfunc 0x00002000, devctl 0x64
Yenta: ISA IRQ mask 0x0448, PCI irq 11
Socket status: 30000084
pccard: PCMCIA card inserted into slot 0
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
piix4_smbus 0000:00:02.3: Found 0000:00:02.3 device
piix4_smbus 0000:00:02.3: IBM Laptop detected; this module may corrupt your serial eeprom! Refusing to load module!
piix4_smbus: probe of 0000:00:02.3 failed with error -1
SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: Attached scsi removable disk sda
ts: Compaq touchscreen protocol output
PnP manual resources are invalid, using auto config
mice: PS/2 mouse device common for all mice
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:05.1[B] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
nm256: no ac97 is found!
  force the driver to load by passing in the module parameter
    force_ac97=1
  or try sb16 or cs423x drivers instead.
ACPI: PCI interrupt for device 0000:00:05.1 disabled
cs: IO port probe 0x100-0x3af: excluding 0x220-0x22f
cs: IO port probe 0x3e0-0x4ff: clean.
cs: IO port probe 0x100-0x3af: excluding 0x220-0x22f
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: IO port probe 0x3e0-0x4ff: clean.
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
pcmcia: registering new device pcmcia0.0
orinoco 0.15rc3 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al)
orinoco_cs 0.15rc3 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al)
eth0: Hardware identity 8002:0000:0001:0000
eth0: Station identity  001f:0003:0000:0008
eth0: Firmware determined as Intersil 0.8.3
eth0: Ad-hoc demo mode supported
eth0: IEEE standard IBSS ad-hoc mode supported
eth0: WEP supported, 104-bit key
eth0: MAC address 00:04:5A:CC:62:03
eth0: Station name "Prism  I"
eth0: ready
eth0: index 0x01: Vcc 5.0, irq 3, io 0x0180-0x01bf
ieee80211_crypt: registered algorithm 'NULL'
hostap_cs: 0.4.4-kernel (Jouni Malinen <jkmaline@cc.hut.fi>)
Adding 136480k swap on /dev/hda6.  Priority:-1 extents:1 across:136480k
loop: loaded (max 8 devices)
ibm_acpi: IBM ThinkPad ACPI Extras v0.12a
ibm_acpi: http://ibm-acpi.sf.net/
device-mapper: 4.5.0-ioctl (2005-10-04) initialised: dm-devel@redhat.com
pcmcia: Detected deprecated PCMCIA ioctl usage.
pcmcia: This interface will soon be removed from the kernel; please expect breakage unless you upgrade to new tools.
pcmcia: see http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html for details.
eth0: New link status: Connected (0001)
ACPI: Battery Slot [BAT1] (battery present)
ACPI: Battery Slot [BAT2] (battery absent)
ACPI: AC Adapter [AC] (on-line)
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID]
ACPI: Sleep Button (CM) [SBTN]
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
eth0: no IPv6 routers present

lsmod:

Module                  Size  Used by
ipv6                  218080  18 
button                  6544  0 
ac                      4868  0 
battery                 9476  0 
nls_iso8859_1           4224  4 
nls_cp437               5888  4 
vfat                   11520  4 
fat                    46876  1 vfat
dm_snapshot            15516  0 
dm_mirror              17460  0 
dm_mod                 48180  2 dm_snapshot,dm_mirror
ibm_acpi               25604  0 
loop                   14216  0 
hostap_cs              53908  0 
hostap                 99716  1 hostap_cs
ieee80211_crypt         5504  1 hostap
orinoco_cs             16644  1 
orinoco                34836  1 orinoco_cs
hermes                  7424  2 orinoco_cs,orinoco
snd_nm256              66720  0 
pcmcia                 35132  2 hostap_cs,orinoco_cs
firmware_class          9728  1 pcmcia
mousedev               10688  0 
snd_opl3sa2            18176  0 
snd_ac97_codec         82848  1 snd_nm256
snd_ac97_bus            2304  1 snd_ac97_codec
snd_opl3_lib            9344  1 snd_opl3sa2
snd_hwdep               8708  1 snd_opl3_lib
tsdev                   7488  0 
snd_cs4231_lib         22272  1 snd_opl3sa2
snd_pcm_oss            43936  0 
snd_mixer_oss          15872  1 snd_pcm_oss
snd_pcm                74376  4 snd_nm256,snd_ac97_codec,snd_cs4231_lib,snd_pcm_oss
evdev                   8960  0 
snd_timer              20484  3 snd_opl3_lib,snd_cs4231_lib,snd_pcm
snd_mpu401_uart         6784  1 snd_opl3sa2
sd_mod                 16528  2 
snd_rawmidi            22304  1 snd_mpu401_uart
snd_seq_device          8460  2 snd_opl3_lib,snd_rawmidi
snd_page_alloc          9992  2 snd_cs4231_lib,snd_pcm
i2c_piix4               8336  0 
analog                 10016  0 
i2c_core               19600  1 i2c_piix4
snd                    46336  13 snd_nm256,snd_opl3sa2,snd_ac97_codec,snd_opl3_lib,snd_hwdep,
snd_cs4231_lib,snd_              pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device
floppy                 55852  0 
gameport               13704  1 analog
soundcore               8928  1 snd
yenta_socket           24076  4 
rsrc_nonstatic         12160  1 yenta_socket
pcmcia_core            37392  3 pcmcia,yenta_socket,rsrc_nonstatic
psmouse                34568  0 
serio_raw               6660  0 
pcspkr                  3204  0 
parport_pc             31728  0 
parport                31944  1 parport_pc
rtc                    11572  0 
ide_generic             1408  0 [permanent]
usb_storage            69696  1 
scsi_mod              122444  2 sd_mod,usb_storage
ide_cd                 35488  0 
cdrom                  32176  1 ide_cd
ide_disk               14976  6 
uhci_hcd               27152  0 
piix                    9092  0 [permanent]
generic                 4356  0 [permanent]
ide_core              111280  6 ide_generic,usb_storage,ide_cd,ide_disk,piix,generic
usbcore               111008  3 usb_storage,uhci_hcd
thermal                13192  0 
processor              21952  1 thermal
fan                     4740  0 

lspci:

00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC (rev 01)
00:02.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
00:02.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:02.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:03.0 CardBus bridge: Texas Instruments PCI1250 (rev 02)
00:03.1 CardBus bridge: Texas Instruments PCI1250 (rev 02)
00:05.0 VGA compatible controller: Neomagic Corporation NM2200 [MagicGraph 256AV] (rev 20)
00:05.1 Multimedia audio controller: Neomagic Corporation NM2200 [MagicMedia 256AV Audio] (rev 20)

lsusb:

Bus 001 Device 002: ID 058f:9380 Alcor Micro Corp. Flash drive
Bus 001 Device 001: ID 0000:0000

partitions (with flash drive in USB port:)

major minor  #blocks  name

   3     0    6342840 hda
   3     1     819283 hda1
   3     2          1 hda2
   3     3    2088450 hda3
   3     4    2233035 hda4
   3     5    1060258 hda5
   3     6     136489 hda6
   8     0     128000 sda
   8     1     127983 sda1


Document maintained by rgm at fabbnet.net. last update:December 20, 2006