Compaq Presario 800T

(actual model number: 80XL4)

[This is the original page. The revised page is here.]




presario

The system is very light (about 3.5 lbs.) and, as you can see, all of the drives are external (I have the floppy and the DVD stacked on top of each other on the left in the picture.) Like all small notebooks, there are a lot of compromises in the design, some good, some not so. Most of the connectors, including the ide, two USB, one 1394, the modem and the NIC and the single PCMCIA slot, are all on the left edge. That's a lot of stuff. The push-button for the release of the PCMCIA card is around ¼" from the NIC cable. If you want to use a USB mouse and you're right-handed, you have to string the cable around the system. The right edge has the IR port, and a large vent for the fan. The fan is fairly loud, and has a will of its own. There is no software or hardware control for it; it's probably locked into a CPU heat sensor.

The keyboard has an inverted T of arrow keys art the lower right. There's a function key at the lower left which converts the arrows to PGUP, PGDN, HOME and END. This presents some key-mapping challenges in Linux. DELETE/SCRLOCK is at the upper right edge. just next to INSERT/NUMLOCK. The keyboard is 'almost' full size; it seems easier to use than the one on my old Toshiba Portege 650. I'm getting used to it.

USB and IEEE 1394 devices should insert on the fly without a problem, but since the DVD is actually an IDE device, you are warned not to attach or remove it unless the unit is powered down.

There are no legacy ports. Period.


The system came with Windows™ ME pre-installed, and the disk set up in what appears to be a typical Compaq way: large C drive on a primary partition, smallish D drive inside a logical partition, occupied by a large set of 'recover data' files (about 1.4 Gig). There is a 'rescue' CD which is really a floppy image, and which can recover the system to its as-delivered state by reading the files on D.

After some exploration of the system, I copied the recovery data off to another system and put it onto tape. I expanded the logical partition holding D drive and added several Linux partitions. I then removed the primary partition and installed Windows™ 2000 from scratch. The Compaq drivers for Windows™ 2000 were all available from their web site and all worked well.

For Linux, I installed Debian first, despite its rather rocky installation process and its limited support for USB. I could not use the floppy drive because of the chicken-egg problem: the system would boot from the floppy, but then the small running installation system could not access the USB floppy for drivers. The Compaq "Insyde ACPI BIOS" (sic) does not permit having the BIOS take over the floppy, which solves this problem on some other systems, so I had to boot from the DVD. Of my two favorite Linux distributions, I had only a Debian 2.2r3 CD bootable ISO. The Realtek 10/100 card came up when the appropriate module was loaded, and I added some ftp sources for the balance of the installation.

The initial installation steps went fairly smoothly, and even with the usual Debian dselect bugs and oddities. I soon had a rough working system. I booted back to WIN2K to use G. Vollant's bootpart to add the Debian partition to the WIN2K boot loader. I had a problem there; apparently the boot sector file wasn't being produced correctly by the bootpart program. I got back into Debian using the CD as a rescue disk, and created the boot sector file myself from using

# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1

I put that file on a diskette (see below) and copied it to c:\, using the name I specified with bootpart. Now I could boot Linux from the WIN2K loader.

Earlier in the process, while I was getting to Debian using the CD as a rescue disk, I had started working on peripherals. At http://www.ifrance.com/hecnar/ I found very solid information on getting the USB floppy to work (as a SCSI device!) I loaded the Debian sg module for scsi support, the usb-storage module and the usb-uchi modules, and the drive became available as /dev/sda. I modified /etc/fstab so I could auto-mount floppy, but be warned: scripts expecting /dev/fd0 to exist will fail. The drivers are still a bit buggy, and I get a lot of interrupt messages when I first plug it in. But it does work.

I found a sample config for the ATI Rage Mobility from Yoshiro MIHIRA (sanpei@sanpei.org) and lifted his screen and monitor sections. They worked first time out, using the Mach64 server.

The Synaptics touchpad works fine if you pretend it's a PS/2 mouse on /dev/psaux. I've had no experience the sort of flaky behavior after switching between operating systems that others have reported

The sound card is a work-in-progress. I found some information at http://www.christophmaurer.de/linux/acer508t_en.html that indicated that the CS4299 should be treated as an Intel chip (which is how it's identified in /proc/pci.) I skipped Alsa and used modconf to load the ac97_codec module (and soundcore etc.) and the i810_audio module. All sound-related software, including mixers, load and react normally. The volume is fairly low, however, and it occasionally descends into clacks and clicks instead of fully formed sounds, especially after attempting to handle an 8-bit sound file. I see various patches for the CS4299 chip are being put into new kernels, so I suppose there's hope for better performance in the future.

By the way, the speakers on this little box are very poor, but one doesn't buy a lightweight notebook to use as a boombox.

I've seen reports that the Lucent ASKAR linmodem may work with one of the Lucent™ binary drivers. I've tried the one in linux568.zip, but it reports an interrupt conflict and fails. This 'modem' performs poorly even under Win2K with custom drivers from Compaq, so that's one Linux problem I'll probably not bother trying to solve.

UPDATE: I have recompiled the2.2.19pre17 Debian kernel to get APM turned on, remove microchannel and generally clean up. I have also added a Linksys wireless LAN PC card (and hub.) The wireless card worked with the original kernel, and continues to work with my customized version. I have also installed a custom Libc which supports Kylix™.


My next adventure was to figure out a way to get SuSE onto the laptop. I'm torn between Debain and SuSE, and if I have space I often install both. SuSE 7.1 has a much cleaner install system, a more advanced kernel and usually has better integration. Problem is, they don't distribute a free ISO image, and the USB floppy problem still applies.

SuSE does have a 'free' version distributed through FTP sites. Rather than download all 5 Gig of the FTP distribution, I followed their excellent instructions for a local hard drive installation, downloaded only the key packages, and did the base install from the Presario's own hard disk. The post-install scripts failed rather spectacularly after the partial install, so I had to clean up the mess, configure the network card, then point YaST at a SuSE FTP site to resume and complete the rest of the installation.

The SuSE version of Alsa found the sound chip and turned it on, the SuSE X configurator, SaX, set up XF86, once for 3.3.6 and a second time for 4.x. I selected the 2.4.2 kernel, and the USB manager duly reports the Mitsumi floppy. The big problem, however, is that the floppy cannot be mounted, because (apparently) there is no appropriate device. I tried forcing the sg module to load ahead of usb-storage, but I still get no device, despite the fact that the drive is visible to the usb bus. /dev/sda, which is how the device sets up in Debian, reports as 'not a block device.'

Actually, the SuSE installation is a bit of a disappointment, overall. The touchpad occasionally stops responding to taps during X sessions, and every time I boot into SuSE after running Win2K, the boot process hangs on a cardmgr failure. None of that stuff happens with Debian. Of course, in a couple of weeks, 7.2 will be on the FTP sites, and I might do it all again. Or I might blow it away to conserve HD space.


Debian files:


/etc/X11/XF86Config

# File generated by xf86config.

<snip>
#
# **********************************************************************
# Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

    Identifier  "800T"
    VendorName  "COMPAQ"
    ModelName   "LCD"
    HorizSync   31.5 - 57.0
    VertRefresh 50-70
    Modeline "1024x768" 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
EndSection


# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

# Standard VGA Device:

Section "Device"
    Identifier  "Generic VGA"
    VendorName  "Unknown"
    BoardName   "Unknown"
    Chipset     "generic"

#    VideoRam   256

#    Clocks     25.2 28.3

EndSection

# Sample Device for accelerated server:

# Section "Device"
#    Identifier "Actix GE32+ 2MB"
#    VendorName "Actix"
#    BoardName  "GE32+"
#    Ramdac     "ATT20C490"
#    Dacspeed   110
#    Option     "dac_8_bit"
#    Clocks      25.0  28.0  40.0   0.0  50.0  77.0  36.0  45.0
#    Clocks     130.0 120.0  80.0  31.0 110.0  65.0  75.0  94.0
# EndSection

# Sample Device for Hercules mono card:

# Section "Device"
#    Identifier "Hercules mono"
# EndSection

# Device configured by xf86config:

Section "Device"
    Identifier  "ATI Rage Mobility"
    VendorName  "Unknown"
    BoardName   "Unknown"
    #VideoRam    4096
    # Insert Clocks lines here if appropriate
EndSection


# **********************************************************************
# Screen sections
# **********************************************************************

# The Colour SVGA server

Section "Screen"
    Driver      "svga"
    Device      "Generic VGA"
    #Device      "ATI Rage Mobility"
    Monitor     "800T"
    Subsection "Display"
        Depth       16
        Modes      "1024x768"
    EndSubsection
EndSection

# The accelerated servers (S3, Mach32, Mach8, 8514, P9000, AGX, W32, Mach64)

Section "Screen"
    Driver      "accel"
    Device      "ATI Rage Mobility"
    Monitor     "800T"
    Subsection "Display"
        Depth      16 
        Modes      "1024x768"
        ViewPort    0 0
    EndSubsection
EndSection

/proc/modules listing

lockd                  41744   0 (autoclean) (unused)
sunrpc                 57800   0 (autoclean) [lockd]
ds                      6376   1
i82365                 22352   1
pcmcia_core            44896   0 [ds i82365]
af_packet               6136   0 (autoclean)
nls_cp437               3880   3 (autoclean)
vfat                    9408   1 (autoclean)
sound                  56364   0 (unused)
soundlow                 368   0 [sound]
i810_audio             11016   0 (unused)
soundcore               2440   5 [sound i810_audio]
usb-uhci               18204   0 (unused)
usb-storage            11240   0 (unused)
sg                     14944   0 (unused)
usbmouse                1624   0 (unused)
input                   2688   0 [usbmouse]
ac97_codec              7360   0 [i810_audio]
rtl8139                11144   1
visor                   3688   0 (unused)
usbserial              12112   0 [visor]
usbcore                41032   0 [usb-uhci usb-storage usbmouse visor usbserial]
unix                   11336  10 (autoclean)


pci device list:

PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel Unknown device (rev 1).
      Vendor id=8086. Device id=7194.
      Medium devsel.  Master Capable.  Latency=64.  
  Bus  0, device   0, function  1:
    Multimedia audio controller: Intel Unknown device (rev 0).
      Vendor id=8086. Device id=7195.
      Fast devsel.  IRQ 5.  Master Capable.  No bursts.  
      I/O at 0x1600 [0x1601].
      I/O at 0x1500 [0x1501].
  Bus  0, device   0, function  2:
    Unknown class: Intel Unknown device (rev 0).
      Vendor id=8086. Device id=7196.
      Fast devsel.  IRQ 5.  Master Capable.  No bursts.  
      I/O at 0x1800 [0x1801].
      I/O at 0x1700 [0x1701].
  Bus  0, device   7, function  0:
    ISA bridge: Intel Unknown device (rev 1).
      Vendor id=8086. Device id=7198.
      Medium devsel.  Fast back-to-back capable.  Master Capable.  No bursts.  
  Bus  0, device   7, function  1:
    IDE interface: Intel Unknown device (rev 0).
      Vendor id=8086. Device id=7199.
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=64.  
      I/O at 0x1100 [0x1101].
  Bus  0, device   7, function  2:
    USB Controller: Intel Unknown device (rev 0).
      Vendor id=8086. Device id=719a.
      Medium devsel.  Fast back-to-back capable.  IRQ 11.  Master Capable.  Latency=240.  
      I/O at 0x1200 [0x1201].
  Bus  0, device   7, function  3:
    Bridge: Intel Unknown device (rev 0).
      Vendor id=8086. Device id=719b.
      Medium devsel.  Fast back-to-back capable.  
  Bus  0, device   8, function  0:
    CardBus bridge: Texas Instruments Unknown device (rev 1).
      Vendor id=104c. Device id=ac50.
      Medium devsel.  IRQ 10.  Master Capable.  Latency=64.  Min Gnt=192.Max Lat=7.
  Bus  0, device   9, function  0:
    VGA compatible controller: ATI Unknown device (rev 100).
      Vendor id=1002. Device id=4c52.
      Medium devsel.  Fast back-to-back capable.  Master Capable.  No bursts.  Min Gnt=8.
      Non-prefetchable 32 bit memory at 0xc0000000 [0xc0000000].
      I/O at 0x3000 [0x3001].
      Non-prefetchable 32 bit memory at 0xc1000000 [0xc1000000].
  Bus  0, device  10, function  0:
    Ethernet controller: Realtek 8139 (rev 16).
      Medium devsel.  Fast back-to-back capable.  IRQ 11.  Master Capable.  Latency=128.  Min Gnt=32.Max Lat=64.
      I/O at 0x3e00 [0x3e01].
      Non-prefetchable 32 bit memory at 0xe9100000 [0xe9100000].
  Bus  0, device  11, function  0:
    FireWire (IEEE 1394): NEC Unknown device (rev 2).
      Vendor id=1033. Device id=cd.
      Medium devsel.  Fast back-to-back capable.  IRQ 11.  Master Capable.  Latency=64.  
      Non-prefetchable 32 bit memory at 0x8000000 [0x8000000].

SuSE 7.1 files


lspci

00:00.0 Host bridge: Intel Corporation 82440MX I/O Controller (rev 01)
00:00.1 Multimedia audio controller: Intel Corporation 82440MX AC'97 Audio Controller
00:00.2 Modem: Intel Corporation: Unknown device 7196
00:07.0 ISA bridge: Intel Corporation 82440MX PCI to ISA Bridge (rev 01)
00:07.1 IDE interface: Intel Corporation 82440MX EIDE Controller
00:07.2 USB Controller: Intel Corporation 82440MX USB Universal Host Controller
00:07.3 Bridge: Intel Corporation 82440MX Power Management Controller
00:08.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 01)
00:09.0 VGA compatible controller: ATI Technologies Inc 3D Rage P/M Mobility (rev 64)
00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
00:0b.0 FireWire (IEEE 1394): NEC Corporation: Unknown device 00cd (rev 02)

/etc/XF86Config (by SaX):

# SaX autogenerated XF86Config file
# This file was generated from the SaX
# Version: 2.8 - sax@suse.de
# Date: Wed Jun 20 06:15:30 EST 2001
# Xserver:SVGA
# MouseVendor:Unknown
# MouseName:Unknown
# RamDac:207
# Dac8:207
# Dac16:
# Dac24:207
# Dac32:

Section "Files"
  RgbPath       "/usr/X11R6/lib/X11/rgb"
  FontPath      "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath      "/usr/X11R6/lib/X11/fonts/local"
  FontPath      "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath      "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath      "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath      "/usr/X11R6/lib/X11/fonts/URW"
  FontPath      "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath      "/usr/X11R6/lib/X11/fonts/misc"
  FontPath      "/usr/X11R6/lib/X11/fonts/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/100dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/PEX"
  FontPath      "/usr/X11R6/lib/X11/fonts/cyrillic"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin2/misc"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin2/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin2/100dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin2/Type1"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin7/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/kwintv"
  FontPath      "/usr/X11R6/lib/X11/fonts/uni"
  FontPath      "/usr/X11R6/lib/X11/fonts/baekmuk"
  FontPath      "/usr/X11R6/lib/X11/fonts/ucs/misc"
  FontPath      "/usr/X11R6/lib/X11/fonts/ucs/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/ucs/100dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/hellas/misc"
  FontPath      "/usr/X11R6/lib/X11/fonts/hellas/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/hellas/100dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/hellas/Type1"
  FontPath      "/usr/X11R6/lib/X11/fonts/xtest"
EndSection

Section "ServerFlags"
  AllowMouseOpenFail
EndSection

Section "Module"
EndSection

# This section is no longer supported
# See a template below
# Section "XInput"
# EndSection

Section "Keyboard"
  Protocol      "Standard"
  XkbRules      "xfree86"
  XkbModel      "pc104"
  XkbLayout     "us"
EndSection

Section "Pointer"
  Protocol              "PS/2"
  Device                "/dev/psaux"
  SampleRate            60
  BaudRate              1200
EndSection

Section "Monitor"
  Identifier    "Primary-Monitor"
  VendorName    "!!! LCD !!!"
  ModelName     "XGA 1024X768@60HZ"
  HorizSync     31.5-50
  VertRefresh   58-62
  Modeline "1400x1050" 90.80 1400 1416 1704 1816 1050 1050 1057 1097
  Modeline "1280x960" 83.20 1280 1296 1552 1664 960 960 967 1003
  Modeline "1600x1000" 104.00 1600 1616 1968 2080 1000 1000 1007 1044
  Modeline "1024x864" 66.40 1024 1040 1216 1328 864 864 871 902
  Modeline "800x600" 40.35 800 816 928 1040 600 600 606 626
  Modeline "1152x864" 74.80 1152 1168 1384 1496 864 864 871 902
  Modeline "1280x1024" 83.20 1280 1296 1552 1664 1024 1024 1031 1070
  Modeline "640x480" 25.79 640 656 720 832 480 480 484 501
  Modeline "1024x768" 66.00 1024 1040 1216 1328 768 768 775 802
  Modeline "1600x1200" 104.00 1600 1616 1968 2080 1200 1200 1207 1253
EndSection

Section "Device"
  Identifier    "Primary-Card"
  VendorName    "---AUTO DETECTED---"
  BoardName     "---AUTO DETECTED---"
EndSection

Section "Screen"
  Driver        "SVGA"
  Device        "Primary-Card"
  Monitor       "Primary-Monitor"
  DefaultColorDepth     24
  SubSection "Display"
    Depth       32
    Modes       "640x480"
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "1024x768"
    Virtual     1024 768
  EndSubSection
  SubSection "Display"
    Depth       16
    Modes       "640x480"
  EndSubSection
  SubSection "Display"
    Depth       8
    Modes       "640x480"
  EndSubSection
EndSection


Section "Screen"
  Driver        "Accel"
  Device        "Primary-Card"
  Monitor       "Primary-Monitor"
  DefaultColorDepth     24
  SubSection "Display"
    Depth       32
    Modes       "640x480"
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "1024x768"
    Virtual     1024 768
  EndSubSection
  SubSection "Display"
    Depth       16
    Modes       "640x480"
  EndSubSection
  SubSection "Display"
    Depth       8
    Modes       "640x480"
  EndSubSection
EndSection

lsmod:


Module                  Size  Used by
snd-pcm-oss            19888   0  (autoclean)
snd-pcm-plugin         15632   0  (autoclean) [snd-pcm-oss]
snd-mixer-oss           5248   1  (autoclean) [snd-pcm-oss]
nls_iso8859-1           2848   0  (autoclean)
snd-card-intel8x0       2624   1
snd-intel8x0            8464   0  [snd-card-intel8x0]
snd-pcm                36864   0  [snd-pcm-oss snd-pcm-plugin snd-intel8x0]
snd-timer              10784   0  [snd-pcm]
snd-ac97-codec         27712   0  [snd-intel8x0]
snd-mixer              28176   0  [snd-mixer-oss snd-ac97-codec]
snd                    42672   1  [snd-pcm-oss snd-pcm-plugin snd-mixer-oss
snd-card-intel8x0 snd-intel8x0 snd-pcm snd-timer snd-ac97-codec snd-mixer]
soundcore               3664   2  [snd]
mousedev                3968   0  (unused)
hid                    11744   0  (unused)
input                   3104   0  [mousedev hid]
usb-uhci               21712   0  (unused)
usbcore                46512   1  [hid usb-uhci]
ipv6                  117744  -1  (autoclean)
ds                      6896   1
i82365                 24224   1
pcmcia_core            44992   0  [ds i82365]
rtl8139                14880   1  (autoclean)

Document maintained by rgm at fabbnet.net. last update: July 28, 2001