Linux on the Compaq LTE 5200
Written by Antti 'harakka' Riikonen, originally published 20th October 2006.
Introduction
For some time I've thought about writing briefly on my experiences with the Compaq LTE 5000-series of laptops and Linux, because most of the information on the Internet concerning them is getting somewhat old. Especially there is very little info available on using these laptops with 2.6 series Linux kernels. However I am not a Linux guru and my text is not the end-all of guides on the subject, and I suggest also reading what Linux On Laptops and TuxMobil have to say on the subject. I have appended my 'lspci' and 'dmesg' output and XFree86-4 configuration files to the end of the text, hoping they will assist you in getting your laptop working with Linux.
I currently own three Compaq LTE 5000-series laptops: LTE 5200, LTE 5280 and LTE 5300. The LTE 5200 is the one I currently use, the 5280 has malfunctioning pointing device and the 5300 is used for spare parts. I feel that for their age these laptops are very good, they have adequate connectors and the TFT display is bright and colorful. The only thing worth complaining is that the keyboard isn't very comfortable for extended periods of typing, but this can be remedied by using an external PS/2 keyboard.
I have the following peripherals:
- 3x Hard disk
- 4x Battery (two of them still can keep atleast some charge)
- AC adapter
- CD-Rom drive
- 2x Floppy drive
- Docking station
- 3Com PCMCIA network card
I use two of the hard disks: one has Debian GNU/Linux Sarge, the other has Windows 98SE. Swapping hard disks is very easy, so it's convenient to have each OS on a separate disk.
The different LTE models seem to have no problems with interchanging at least some of the parts, I have changed the 5200 display into 5280 one and also exchanged the 5280 power board for a 5300 one if I remember correctly.
The laptop I'm using has 2GB hard disk, 3Com PCMCIA network card and 32MB RAM. I've upgraded the BIOS to the latest available version using the floppies available from Compaq (nowadays HP).
This laptop has served me well as a general purprose machine, X-terminal and retro gaming machine thanks to the Windows installation.
Information on the Compaq LTE 5000 line
Original specs:
| Model | Processor | Display | Hard disk |
|---|---|---|---|
| LTE 5200 | P120MHz | 10.4" | 810MB |
| LTE 5280 | P120MHz | 11.3" | 1.35GB |
| LTE 5300 | P133MHz | 12.1" | 1.35BG |
Extensions and peripherals
CD-Rom drives, hard disks, batteries, memory extensions (8MB, 16MB, 32MB, and the 64MB which I crave) and docking station. There are two models of the docking station: one has a single ISA expansion slot, other doesn't. There also exists a peripheral with some kind of MPEG decoding and TV-connection capabilities, which I have no further knowledge of.
The model I'm using has integrated Sound Blaster Pro-compatible sound chipset (ESS Technology ES1688), 256KB cache, 16MB internal memory and integrated display chipset Cirrus Logic GD 7543 [Viking].
Connections
- Serial port
- Parallel port
- 15-Pin VGA port (1024x768@60Hz 256 colors maximum resolution)
- Speaker/headphones out
- Line in
- Microphone in
- PS/2 mouse or keyboard connector (just one connector, not one for each)
- Power connector for AC adapter (18V DC 2.6A max according to the bottom of the laptop)
- IRda
- 2x PCMCIA (Type III) slot
- Internal, swappable hard disk
- Docking station
- MultiBay expansion slot
- Battery slot
The MultiBay expansion slot accepts one: battery, hard disk in a MultiBay case, floppy drive, CD-Rom drive or a weightsaver. The machine can simultaneously have installed a battery and one of the following: two hard disks (one internal, other in the MultiBay), floppy drive, another battery in the MultiBay, CD-Rom drive.
Docking station
The docking station replicates the ports on the laptop. It also has an integrated NE2000 compatible 10Mbit network card with RJ45 and BNC connectors, two MultiBays and two PCMCIA Type III slots. When docked you can use:
- 4 Hard disks (internal, one in the laptop's expansion slot and two in the dock's expansion bays, in which the hard disks need a separate expansion frame)
- Three CD-ROM drives (one in the laptop, two in the dock, in a configuration like that neither of the CD-ROM drives in the dock can play audio CDs)
- Two floppy disk drives (one in the laptop and one in the dock, two floppy drives can't be installed in the dock simultaneously)
- Four batteries (two in the laptop, two charging in the dock)
Linux-specific information
General
I use Debian GNU/Linux Sarge (with a custom kernel including the necessary drivers compiled in, made into a Debian package, kernels in the official distribution work as well). I hope the information presented here is general enough to be useful also for people using other distributions.
Installation
Installation may, depending on your distribution of choice, be problematic for several reasons:
- Boot device and installation media. Floppy boot is an option, but floppies are slow and prone to failure. The CD-ROM drive works in Linux, but BIOS can't boot from it.
- Hardware requirements. In the worst case you have only 8MB memory available, although 16MB+8MB or 16MB+16MB is more likely. Happy are those who possess the 64MB memory expansion. Debian Sarge installer requires at least 32MB, and I have tested that 24MB was not sufficient for the installer to run.
Solutions to the above problems:
- Floppy installation. Starting the installation or minimal installation using floppies is a possible but painful and slow option.
- Use the dock: I docked the laptop and booted using a floppy with Smart Boot Manager on it. Using SBM I was able to boot from the CD-ROM drive. The CD installation in itself is pretty slow, since the CD-ROM drive speed is 6x, which I believe is somewhere around 0.9MB/sec. If you have a fast network, you should probably use Debian's excellent network installation capabilities if possible.
- Network installation. The dock has a network card which works in Linux using the ne2000 driver. I didn't try this method my self, but I see no reason why this wouldn't work since the dock doesn't seem to need any additional drivers. The network installation is possible using a PCMCIA network card as well, if your distribution supports it.
- Some speculation for people without a dock: I haven't tried this myself, I don't know if this is possible at all nor do I suggest you try this. It might, in theory, be possible to boot from a Smart Boot Manager floppy as described above, suspend the machine, switch the floppy drive into a CD drive and then continue the boot process from the CD-ROM using SBM. From the manual I understand that switching the MultiBay device is allowed when the laptop is suspended.
- Debian-specific: I solved the problem with insufficient memory for Sarge installation by using Woody's (previous Debian stable) network installation since Woody's installation only requires 12MB memory. After completing the installation with minimal configuration and packages I upgraded to Sarge using apt-get dist-upgrade, and proceeded installing packages normally.
Devices and drivers
- Generic IDE support needs to be enabled in the kernel. IDE block device support sounds like a good idea as well. You might want to use hdparm to tune some of the drive's performance options. Using hdparm may cause the following messages to appear in your log:
hda: drive_cmd: status=0x51 { DriveReady SeekComplete Error } hda: drive_cmd: error=0x04 { DriveStatusError }Of course you should be careful, but as far as I've been able to find out this message simply tells you that the hard disk did not understand whatever hdparm tried to make it do, so it aborted the command and reported an error. - The CD-ROM works with idecd.
- The laptop's trackpoint mouse works as a normal PS/2 mouse using mousedev and psmouse drivers. /dev/psaux and /dev/input/mice seem to work as expected.
- Sound works with ALSA and snd-es1688 driver.
- PCMCIA controller works with the i82365 driver. If you're using a PCMCIA network card, you need the driver for that as well.
- If problems surface with PCMCIA and/or sound, it's worthwhile to check that PCMCIA and soundcard interrupts don't overlap. In my case the soundcard used IRQ 5, so I had to tell the PCMCIA configuration not to touch that IRQ.
- As previously mentioned, the dock's network interface works with the ne2000 driver (ISA).
- I also use the fbcon and vga16fb drivers. However trying to set console resolution to something greater than 640x480 with fbset (for example 800x600, which the display should support and does support in X) the operation is succesful, but a few pixel rows from that should be on the top of the screen appear on the bottom of the screen instead. The same kind of corruption appears in XFree86 as well at times (I use the vesa driver in X, since there is no native support for the laptop's graphics chipset in Linux at this time), probably because of buggy VESA support in the display chipset.
XFree86
The only driver that seems to work in XFree86 (under XFree86 4.3.0.1) is 'vesa' with the UseFBDev setting enabled. The display works with hsync set to 51.5-40 and vsync 50-70. Maximum resolution with 16-bit color is 800x600, with 32bit colors you have to use 640x480. Display bugs happen occasionally (usually involving the few top rows of pixels appearing distorted in wrong places), especially when switching from virtual console to X and back. X is also pretty slow when compared to Windows 95/98, because there is no native support for the display chipset in Linux at this time.
Power saving features
I haven't delved very deeply into power saving since I'm always on AC, but APM's standby mode seems to work as expected. Suspend seems to work as well if X isn't displayed (that is, one switches into a virtual console before suspending). Otherwise there is a large probability that the machine hangs on waking up, or display is permanently garbled. Shutdown works as expected.
Hard disk
There is no native support for the laptop's IDE controller as far as I know, so HD speed are not mind-bending. 'hdparm -tT /dev/hda' gives the following results (averages from a couple of runs):
Timing cached reads: 80 MB in 2.10 seconds = 38.01 MB/sec Timing buffered disk reads: 6 MB in 3.18 seconds = 1.89 MB/sec
Obviously this isn't a real benchmark, but atleast gives the reader some kind of idea about what to expect.
Hdparm tells me the hard disk is a Toshiba MK2101MAN, firmware version B1.07 C, size 2GB. Also should support LBA and tells me that the disk is in mdma2 mode. Since the disk is pretty old, I have no clue how reliable this info is.
Appendices
Boot messages
SystemSoft BIOS for OPTI Viper 557/558N 1.01 (2450-75)(Version 07.32) SystemSoft Plug-n-Play BIOS Copyright 1983-1977 SystemSoft Corp. All Rights Reserved
dmesg
Linux version 2.6.8.skadi09052006.2 (xxx@xxx) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #1 Tue May 9 16:58:51 EEST 2006
BIOS-provided physical RAM map:
BIOS-e801: 0000000000000000 - 000000000009f000 (usable)
BIOS-e801: 0000000000100000 - 0000000002000000 (usable)
32MB LOWMEM available.
On node 0 totalpages: 8192
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 4096 pages, LIFO batch:1
HighMem zone: 0 pages, LIFO batch:1
DMI not present.
ACPI: Unable to locate RSDP
Built 1 zonelists
Kernel command line: root=/dev/hda1 ro noacpi
No local APIC present or hardware disabled
Initializing CPU#0
PID hash table entries: 256 (order 8: 2048 bytes)
Detected 120.048 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 29656k/32768k available (1339k kernel code, 2676k reserved, 599k data, 212k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 230.91 BogoMIPS
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: After generic identify, caps: 000001bf 00000000 00000000 00000000
CPU: After vendor identify, caps: 000001bf 00000000 00000000 00000000
Intel Pentium with F0 0F bug - workaround enabled.
CPU: After all inits, caps: 000001bf 00000000 00000000 00000000
CPU: Intel Pentium 75 - 200 stepping 0c
Checking 'hlt' instruction... OK.
NET: Registered protocol family 16
EISA bus registered
PCI: Using configuration type 1
Linux Plug and Play Support v0.97 (c) Adam Belay
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: Found PnP BIOS installation structure at 0xc00ff000
PnPBIOS: PnP BIOS version 1.0, entry 0xec000:0xe7f, dseg 0xec000
pnp: 00:01: ioport range 0xcf8-0xcff could not be reserved
pnp: 00:01: ioport range 0x26e-0x26f has been reserved
pnp: 00:01: ioport range 0x2a0-0x2a0 has been reserved
PnPBIOS: 18 nodes reported by PnP BIOS; 18 recorded by driver
Linux Kernel Card Services
options: [pci] [cardbus] [pm]
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
vga16fb: initializing
vga16fb: mapped to 0xc00a0000
fb0: VGA16 VGA frame buffer device
apm: BIOS version 1.1 Flags 0x03 (Driver version 1.16ac)
Initializing Cryptographic API
Console: switching to colour frame buffer device 80x30
Real Time Clock Driver v1.12
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
PNPBIOS fault.. attempting recovery.
PnPBIOS: Warning! Your PnP BIOS caused a fatal error. Attempting to continue
PnPBIOS: You may need to reboot with the "nobiospnp" option to operate stably
PnPBIOS: Check with your vendor for an updated BIOS
PnPBIOS: set_dev_node: unexpected status 0x28
pnp: Failed to activate device 00:11.
parport_pc: probe of 00:11 failed with error -5
Using deadline io scheduler
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
hda: TOSHIBA MK2101MAN, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 128KiB
hda: 4233600 sectors (2167 MB) w/128KiB Cache, CHS=4200/16/63
hda: hda1 hda2
Intel ISA PCIC probe:
Cirrus PD672x ISA-to-PCMCIA at port 0x3e0 ofs 0x00, 2 sockets
host opts [0]: [ring] [65/6/3] [1/15/3]
host opts [1]: [ring] [freq bypass] [65/6/3] [1/15/3]
ISA irqs (default) = 3,4,5,7,9,10,11,12 polling interval = 1000 ms
mice: PS/2 mouse device common for all mice
serio: i8042 AUX port at 0x60,0x64 irq 12
input: PS/2 Generic Mouse on isa0060/serio1
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard on isa0060/serio0
EISA: Probing bus 0 at eisa0
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
PM: Reading pmdisk image.
PM: Resume from disk failed.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 212k freed
spurious 8259A interrupt: IRQ7.
EXT3 FS on hda1, internal journal
cs: IO port probe 0x0100-0x04ff: excluding 0x220-0x22f 0x388-0x38f 0x428-0x42f 0x480-0x48f
cs: IO port probe 0x0800-0x08ff: excluding 0x828-0x82f
cs: IO port probe 0x0c00-0x0cff: excluding 0xc28-0xc2f
cs: IO port probe 0x0a00-0x0aff: clean.
cs: memory probe 0x0d0000-0x0dffff: clean.
ASIC rev 1,<6>eth0: Megahertz 574B at io 0x300, irq 3, hw_addr 00:50:04:FE:ED:67.
64K FIFO split 1:1 Rx:Tx, autoselect MII interface.
input: PC Speaker
eth0: found link beat
eth0: autonegotiation complete: 100baseT-FD selected
lspci
0000:00:00.0 Host bridge: OPTi Inc. 82C557 [Viper-M] 0000:00:01.0 ISA bridge: OPTi Inc. 82C558 [Viper-M ISA+IDE] 0000:00:02.0 VGA compatible controller: Cirrus Logic GD 7543 [Viking]
XF86Config-4
### BEGIN DEBCONF SECTION
# XF86Config-4 (XFree86 server configuration file) generated by dexconf, the
# Debian X Configuration tool, using values from the debconf database.
Section "Files"
# FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection
Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "extmod"
Load "freetype"
Load "int10"
Load "pex5"
Load "record"
Load "speedo"
Load "type1"
Load "vbe"
Load "xie"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc102"
Option "XkbLayout" "fi"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/psaux"
Option "Protocol" "PS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "Device"
Identifier "Generic Video Card"
Driver "vesa"
Option "UseFBDev" "true"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 31.5-40
VertRefresh 50-70
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "640x480"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
### END DEBCONF SECTION
lsmod
snd_mixer_oss 10400 0 snd_es1688 2344 0 snd_opl3_lib 4448 1 snd_es1688 snd_hwdep 3684 1 snd_opl3_lib snd_es1688_lib 7408 1 snd_es1688 snd_pcm 49640 1 snd_es1688_lib snd_page_alloc 4520 1 snd_pcm snd_timer 12196 2 snd_opl3_lib,snd_pcm snd_mpu401_uart 2688 1 snd_es1688 snd_rawmidi 11204 1 snd_mpu401_uart snd 27172 9 snd_mixer_oss,snd_es1688,snd_opl3_lib,snd_hwdep,snd_es1688_lib,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi soundcore 3232 1 snd pcspkr 2120 0