Compaq 18XL380

Linux on the Compaq 1800 series.

This document applies to the Compaq Presario 1800 series, but was specifically based on a custom built computer exactly equivalent to the Presario 18XL380.  This document should also be helpful to those trying to make a 1400x1050 display work with an ATI Rage 128 Mobility chipset, and those wanting to use a Debian Linux distribution on their laptop.  If you have any questions or comments (please, no "fix my computer for me" type questions) contact me.

BTW,  be sure to read section 12, Compaq service(?) .  It details problems I've personally had with Compaq service.  I wouldn't not buy the machine because of these issues, but it is definitely a consideration.
 

1. Contents

2. Changes

27-April-02:
The machine is dead.
14-April-01:
Updated LiViD DVD player information (it works now!).
14-April-01:
Added information on XFree86 hardware acceleration (DRI).
24-March-01:
Update to working software hybernation.
24-Feb-01:
Added ancidotal evidence of a working software hybernation.
23-Feb-01 to 5-March-01:
Added a section on my experience with Compaq service.
23-Feb-01:
Added information about XFree86 3.3.6 support for ATI 128 Mobility.

3. Introduction

The 1800T as I ordered it came with the following specifications: It turns out that shortly after I received my special order machine Compaq chose to make the exact same machine a standard retail model.  So it turns out this ends up being a description of the Compaq Presario 18XL380.

4. Installation

I am a fan of Debian Linux so I decided to try the Storm Linux 2000 distribution, which is based on Debian.  I like Debian because system maintenance and upgrade is the easiest I've seen, and the stable release is always very stable.  The drawback has always been that the install is challenging.  The folks at Storm have taken a great deal of the pain from the initial install.  Since the end result is a more-or-less standard Debian system (the kernel is a custom Storm kernel, but I'm not sure what the differences are from a standard kernel), combined with an easier initial install (and some nifty administration tools) I decided to give it a whirl.

I found the Storm Linux install to be quite straightforward.  It autodetects most of the hardware (except the display, of course).  It stops just short of helping you configure the modem, printer, etc.  But a utility is provided, called sas (Storm Administration System), which is a great help on those items.
The laptop came with Windows Millenium Edition installed.  Now, I'm no fan of windows, but ME really takes the cake.  I had the machine for less than 12 hours and I'd already seen safe mode twice, and scandisk half a dozen times.  Definitely time to install Linux!

Partitioning the disk

The latest version of Partition Magic (5.0) is pretty nifty, knows about linux partitions, and is easy to use.  The only problem is, guess what?  Windows ME.  Partition Magic requires DOS mode to run.  Windows ME has no DOS mode.  Swell.  I got around that by setting up the repartition in the Partition Magic GUI.  When PM tried to go into DOS mode to complete the repartition, I instead booted the machine with an old Windows 98 disk I had laying around.  Then I changed to the c:/Program Files/PowerQuest/PartitionMagic 5.0/Win9X directory and executed Pmagicbt.exe.   This finished up the partitioning.

Based on my experience so far, I would highly recommend against Windows ME.  If you want to dual boot your system as I do, get 98 or 2000, or even NT.  Windows ME does.

I partitioned the disk as follows:

Installing Storm Linux

Next, I booted the Storm Linux install disk.  The install is quite straightforward, and I won't go into it here.  Everything is autodetected except the Winmodem and the graphics card.  We'll deal with that later.

Although Storm Linux comes with a custom version of the 2.2.16 kernel (that's good), it isn't very well built for this machine (that's bad).  In the next section we'll discuss what needs to be done to the kernel to make it usable.
 

5. Kernel

The default kernel that comes with Storm lacks support for several essential services.  The two major ones are It also didn't support the wireless networking card I'm using.

The reason APM support isn't included is because the default kernel supports multiple processors, which excludes most of the APM features.

I believe (somebody correct me on this) that most distributions such as RedHat and Suse are not so handicapped.  From what I've read these distributions usually have a loptop-tuned kernel.

If you need to rebuild your kernel read the Linux Kernel HOWTO .  The important areas that I had to look at were

Framebuffers

In order for X to work you have to have framebuffer support.  Under the Console Drivers section of the kernel configuration there are several things that need to be enabled.  See the Framebuffer HOWTO, How do I activate the veafb drivers section for details.

There is one other thing that must be done to enable framebuffer support.  A line must be added to your lilo.conf file.  You must add a line that looks like:

vga=835
I have not been able to find any real documentation on these numbers, except that on the Framebuffer HOWTO page (which only covers standard VESA codes, not ones for oddball display configurations like 1400x1050).  I have found from research on the net, however, that 834 is the code (on ATI chips, at least) 1400x1050 resolution with 16 bit depth, while 835 is the same resolution with 24 bit depth.  You must set this mode either in the lilo.conf file or as a kernel parameter at boot time.

Here is a copy of my lilo.conf file.

APM

APM support is fairly simple.  In the General setup section of the kernel configuration are the APM controls.  See the Advanced Power Management subsection of the Linux Laptop-Howto for details.  One thing of note is that you cannot have both multi-processor and power management support enabled at the same time.  Not a problem in this case.

One thing I would recommend, while you are tinkering with the kernel, is enabling of Advanced RTC (Real Time Clock) support.  This is most useful in multiprocessor systems (required, in fact) but there are apps that require it as well.

Sound

To support the ESS Solo 1 soundcard you will need to enable the ESS Solo 1 driver in the kernel.  This can be found, naturally, in the Sound section of the configuration.  As this is an experimental driver you will have to enable experimental drivers in the Code maturity level options section.

For those that are interested, here is a copy of my kernel configuration.  You can load it using the menu or x configuration utilities in XFree86 (make menuconfig or make xconfig ).

6. PCMCIA

PCMCIA support was installed automatically.  I use it with a wireless network (Raylink) at work, and it worked flawlessly, after the kernel rebuild.  I think that had to do with wireless support in the kernel rather than the PCMCIA support.  PCMCIA is a non-issue.

7. Xwindows

The 18XL380 uses the ATI Mobility 128 AGP video card. Support for the ATI Mobility 128 cards is *NOT*  included in XFree86 as of version 3.3.6.  I understand it is possible to get it running with framebuffer support under XFree86 3.3.6, but there is accelerated support under the latest X server, 4.0.1. Use the Binary Distribution of the official XFree86 4.0.1 release.  Here is a copy of my XF86Config file.  To get 1400x1050x16 use vga=834 in lilo.conf.  To get 1400x1050x24 use vga=835 in lilo.conf.  Don't ask me where these mystery numbers come from:  I've found almost no documentation on this.  If anybody has this documentation, let me know and I'll post it here.

23-Feb-01: Apparently my statement above about ATI Mobility 128 cards not being supported under 3.3.6 is incorrect.  Tom A. Cox sent in this email correction:

Hi Ken,

I've attached my configuration file and the output from 'X -probeonly.'
Basically, the default Mandrake installation set things up to use the Mach64
server at 32bpp, 1024x768.  This is a good resolution four me.  Although it set
up additional resolutions, trying to switch to one of them will cause the
screen to blank and the system to lock up.  It appears that Mandrake also set
up a frame buffer device, but it isn't used and I haven't experimented with it.

I've run Mesa, OpenGL programs and the GIMP and everything seems to work just
fine.  I still need to work on the APM configuration.  It's just barely usable;
apm -s from the console works, but apm -s from inside X will never recover.
DPMS works at times, and doesn't at others.

On an interesting side note, I'm currently working with real-time systems.
I've run several variants of real-time Linux on this system without a problem.

.
.
..

Thanks,
Tom

Here is the configuration file and the X -probeonly file Tom sent.  Thanks Tom!

14-April-01:  In an attempt to get some of my Virtual Reality research to run a little faster on this machine, I tried installing the DRI (Direct Rendering Interface) support for XFree86 4.0.2.  See the DRI User Guide and the DRI Compilation Guide (BTW, as of this writing XFree86 is up to 4.0.3, so you might as well use that).  The installation proceedure is complicated, so if you aren't comfortable with configuring kernels (it requires a kernel > 2.4) and compiling applications that don't have much good documentation and don't compile all by themselves (i.e., I had to go hunt down the pieces that didn't compile from the main compile and compile them seperately), don't try it.  On the other hand, if you are reasonably careful there isn't much harm you can do.  I didn't replace my original X, so I can always revert back to it if I have to.  Just one more caution:  follow the directions.  I thought I was smart enough to leave out things I didn't think were important or that didn't apply.  I was wrong.

I never did get the accelleration I was looking for.  In fact, my VR environment ran much slower.  What seemed to happen is the simple examples worked like greased lightning, but the more complex ones didn't.  I haven't tracked down what exactly slowed it down, but there was an unexpected side effect:  the LiViD DVD player started working much better.

8. Sound

The 1800 comes with an ESS Solo 1 soundcard. Using the experimental ESS Solo 1 driver in the kernel, described earlier,  it works OOTB.  I have noticed an occasional hiccup with this driver, but overall it has been quite reliable.  If you want to shell out the $30.00 or so check out 4Front Technologies.  They have drivers for most everything.

9. Modem

The 1800 series comes with what is not-so-affectionately known as a Winmodem.  In the past that pretty much meant if you were using Linux you were toast.  But the kind folks a Lucent Technologies , the manufacturer of the chipset in the 1800 series, have written a linux driver, which makes it a Linmodem.  This style of modem uses the processor for most of the processing done by a normal modem.  This makes it cheaper to build, but more expensive to use.  But, in my opinion, it is better to waste the CPU cycles on the rare occasion I use the modem that waste a perfectly good modem.

Unfortunately, while the kind people at Lucent have made a driver, they were a bit unkind to those of us who don't use RedHat Linux.  The install script that comes with the driver makes some assumptions about how things work, assumptions geared for a RedHat box.  What I ended up doing is performing the easy stuff by hand, and then putting a driver control script in /etc/init.d .

The hand setup stuff is pretty straightforward.  As root run the following commands from the directory in which you unpacked the linmodem driver.

rm -f /dev/ttyS14
mknod /dev/ttyS14 c 62 78
rm -f /dev/modem
ln -s /dev/ttyS14 /dev/modem
chgrp uucp /dev/ttyS14
chmod 666 /dev/ttyS14
cp ltmodem.o /lib/modules/`uname -r`/misc/
Then put this control file (linmodem ) in /etc/init.d .  Then to enable the driver when you boot run, as root
update-rc.d linmodem defaults 20
Now it can be started by executing (as root)
/etc/init.d/linmodem start
and stopped by executing
/etc/init.d/linmodem stop.

10. USB

I have not yet had a chance to test the USB port, as I have no USB devices. If anyone has info on this, let me know and I'll update this site.

11. APM

APM is working fairly well.  The battery condition is correctly reported, and suspend using [Fn]-F4 works fine.  The one thing that doesn't work is the suspend to disk or hibernation feature.  Pressing the power button doesn't seem to work.  There is also a software hibernation out there, but I haven't gotten that one working either.  If anybody knows how to make this work, drop me a line.

X seems to recover fine from sleep mode.  I've been led to believe that this wasn't always the case, but the combination of a 2.2.16 kernel and XFree86 4.0.1 seems to have solved that problem.  On the other hand, no hibernation yet, either.

24-Feb-01: I received this email the other day.  It seems that someone has gotten software hibernation to work.  Following is the email:

I have a 12XL300 with the suspend-to-disk working fine.  I set up /dev/hda4 as
type A0 (IIRC; the laptop is at home and I'm at work) and sized it to the next
complete cylinder after sizeof(RAM) + sizeof(video) + 2 MB.  I formatted it with
lphdisk (which looks for /dev/hda4 and then checks to see if it is type IBM
Thinkpad before it formats it).  Now I can suspend to disk (or hibernate, if you
prefer) with the power button, suspend to memory with Fn-F4 or shut it down
completely with "shutdown -h now".  The
thing that makes it easy is that the laptop is exclusively Linux with Windows
running as a task in X (with the use of Win4Lin).  I haven't tried setting up a
hard drive with an extended partition at /dev/hda3, a primary partition at.
/dev/hda4 and the logical drives at /dev/hda5+ and in fact don't even know if it would
work.  (The limiting factor here, AIUI, is the insistence of the hibernation
BIOS on working exclusively with /dev/hda4.)

HTH

Thanks HTH! (whoever you are :)

24-March-01: I tried this today with the same result:  nada.  I'm begining to suspect, based on some other laptops I've seen, that the new BIOSes are handling this in a new and interesting way.  Dell's latest uses a hibernation partition at /dev/hda1, rather than /dev/hda4.  Maybe this machine is simular.  Well, onward and upward.

12. Intel EtherExpress Pro/100

The ethernet card was autodetected, and running fine.  Make sure you enable the driver when (if) you compile the kernel.  Most kernels will have this already enabled by default.  I used the sas administration utility by Storm to set up the network.  It is a snap.

13. DVD/CD-ROM

The DVD/CD-ROM is autodetected and functions as a CD reader without having to do anything.  There is a project called LiViD to view DVD movies under Linux.  It requires a bit of technical expertise so it isn't for beginners.  In fact I haven't got it working yet.  Yet.

14-April-01:  OK, now I have it working.  It took at least a week of pounding my head against the wall and fiddling with the supplied development libraries.  It is my fault, really.  I decided that using the Storm Linux CD was too much trouble, so I tried to convert the system to straight Debian.  This caused all sorts of havoc with the Storm supplied libraries for which I had no development versions.

But now the DVD player works!  At first I had a real problem with it skipping and popping and making these horrible squealing noises.  Heavy Metal wasn't too bad, but the Matrix was just unwatchable.  Then, for an unrelated reason I built an accellerated X.  Sometime later I discovered that, even without running a kernel the X accellerator seemed to need, the player worked much better (I'm still running the original kernel I configured for the machine, above ).  Now all movies play without all the annoying sound effects.  Not perfectly, mind you, but many are now acceptable.  Most all of them have just a slight little jerkyness to them, but it is, for the most part, ignorable.  Some movies, though, like Austin Powers, the Spy Who Shagged Me, are really attrocious.

The controls are run by a GTK interface, which is really slick, but not entirely functional.  You can select where to start the movie, play, pause, and select the soundtrack.  But that's all.  Anything else is either unavailable or locks it up tighter than a drum when you try to use it.

So the good news is, a free DVD player for Linux is working, and it works on this machine.  The less than good news is that it is a little bit buggy.  But an admirable feat as it is anyway.  I really like it.

As for building it, I followed the directions.  The place to start is the Oms How To.  It wasn't that complicated, and basically, once all the prerequisite stuff was loaded, it worked as advertised.  The only caviat is that you must install the accellerated X server or it won't be worth a piddle.
 

14. Compaq service(?)

or How I survived four weeks without my laptop while Compaq dithered.

23-Feb-01 to 5-March-01

Since this section got to be enormously long, and doesn't have a direct bearing on the subject at hand, it has been moved.
 

15. The machine is dead

In February, 10 days after the warrantee expired, the machine died.  I believe it was suffering from a general failure of the display long before that, but Compaq kept insisting it was a driver problem.  It finally went batzoid and quit.  The screen would just lock up after 5 seconds or 5 minutes or 50 minutes (rarely that long, however).  

Since I was ever so politely informed that it was no longer under warrantee, and the factory was not interested in fixing it, I decided to use my own resources and see if it was a loose cable or something.  It was not.  I completely dissasembled the machine right down to the bottom case and reassembled it again.  Same problems.  Since the factory wasn't interested in working on it, I took it to a local repair place who said it was either a) the motherboard ($400) or b) the processor ($700).  I sold it for scrap on Ebay.

I now have a new machine (a Dell Inspiron 8200), which is a darn site better than the Compaq in every respect.  Even allowing for the improvement in technology, the Dell is a much better machine, especially for Linux.

16. Appendix A: Files

17. Appendix B: References

Special thanks to rshmid@zhlive.ch whose format I shamelessly stole, and who actually provided the last bits of information I needed to make this beast work.  See his web page for the IBM Thinkpad A20p for some things I haven't mentioned here that may be applicable.

Last modified March 5, 2001

summers@ahpcc.unm.edu