Linux on a Compaq Presario 5304
Summary of what works
Background
A few weeks ago (September 2001) I found a discarded Compaq Presario
5304. A few days later a mouse, keyboard, and monitor showed up, and
even one power cable. I kept Windows 98 (which took a lot of
re-configuring) and installed Slackware
8.0. In general everything works, but it was sometimes difficult to
figure out exactly what the hardware was (almost everything is on the
main board, and Compaq's support
page is not terribly informative. I am especially happy that the
factory-installed Winmodem works fine under Linux. I haven't tried to
set up ethernet support, since I don't have a connection now.
Hardware
There is a lot of good information at CNET.com.
Most of what I know comes from there - after looking at this sheet I could
find the chips on the main board to double-check.
Yesterday (10/28/01) I put in an extra hard disk cannibalized from a 486.
Here are the basics:
- Processor: Cyrix MII 366.
- RAM: 64 MB. I have 4 Megs video RAM, leaving 60 Megs.
- Hard Disk: 4.3 Gigs.
- Hard Drive D: 420 Megs.
- CD-ROM: 32X.
- Video adapter: SiS 530, pretty normal VGA. This should be explicitly
supported in the X-Windows setup.
- Sound: ESS Solo1. My Slackware distribution has a driver for this.
- Modem: 56K PCI Winmodem with a Lucent chipset. (Ares or Mars or something).
- Case: Kind of ugly. I painted it plaid.
Preliminaries
You should be able to boot from a CD. If not, change your BIOS. You
get the BIOS setup menu by hitting Control-Alt-Escape while the "Compaq" logo
is on the screen at boot time. I repartitioned the hard disk using
cfdisk, which should be immediately
available when you boot from the CD. I ran a defragmenter in Win-98 before
repoartitioning, and all the data currently on the hard drive ended up safe
and sound in the new first partition. (My theory is that repartitioning
never destroys any files you don't really care about anyway.)
I made a 1.3 Gig partition for Windows, 128 Megs for Linux swap, and the rest
for the main Linux partition.
After that, installing Linux worked fine. Slackware's menu-based installation
is pretty easy to use.
X / Video
For some reason the graphical X-windows configuration utility, which I
think is xf86config, hung when I tried to use it. Instead, I used
the text-based one, xf86cfg. (I might be mixed up on the names.)
The SiS 530 chip was listed, so I selected it and picked random numbers
for the monitor scan rates. (The monitor was also a discard, so I wasn't
too worried about damaging it. You should really be more careful if your
computer is not trash.) For some reason, it didn't want to use 1024x768
mode with 16 bits of color, so I edited the file XF86Config until
it did what I wanted.
I don't know anything at all about graphics acceleration. Does it work?
Is it supported? Does it exist on my computer? Who can say?
Sound
There is an ESS Solo 1 sound chip soldered onto the main board. This is
not SB16-compatible. I wasted some time by assuming that if I
didn't know what it was, it must be SB16-compatible. In my Linux
distribution, this chip has its own driver, but it's not one of the
common ones where you can just un-comment lines in rc.modules.
So I inserted the line
/sbin/modprobe esssolo1
in the audio section of the file /etc/rc.d/rc.modules. You also
have to change the permissions, but there are lots of Linux sound instructions
on the web that say how to do that.
This worked fine without passing it any information about IRQ's, DMA, etc.
For some reason, sound didn't work quite right under X-windows until I had
re-booted twice.
I have read that this sound chip may have problems with recording, but I
haven't tried it. All I know is, it's really quiet in my headphones. I
guess you need real speakers.
Modem
There is a 56k Winmodem with a Lucent chip in one of the PCI slots. Most
Linux help pages tell you to just throw them away, but mine works. There is
lots of information about this at
Linmodems.org.
You have to have a good set of kernel headers before compiling the Winmodem
driver. If you're like me, you will be asking who exactly this
Colonel Headers is and what he wants with your computer. There is help for
you at Life of a Linux
Newbie.
I tried to build the Winmodem modules once without following any of the
instructions. That didn't work at all, so I tried again following the
instructions this time. There was still a fatal problem - the linker
wanted a file called modversions.h in the kernel headers directory,
/usr/src/linux-2.4.5/. I figured that the computer didn't cost me
anything, so I might as well live dangerously - I found another file called
modsetver.h and copied it to modversions.h. After this everything
went perfectly - there were no undefined symbols or anything.
You might have to manually edit your PPP configuration files to get them to
use /dev/modem instead of one of the normal COM ports.
Spare hard drive
I pulled a 420 Meg IDE hard drive from a 486 and decided to put it in the
Presario on 10/28/01. Unfortunately, the people at Compaq decided to save
a few cents by giving you a ribbon cable for one hard disk only. (This
cable connects to the hard disk controller on the motherboard at one end,
and the hard disk at the other.) If you want to put in a second hard disk,
you will have to get a normal ribbon cable, which you can find in just about
any computer that's not a Compaq. These connect to the motherboard in just
the same way, but have connectors for two hard disks. You will also have
to find a place to put the new hard disk. I tried sticking it directly above
the standard hard disk, and below the 3.5" floppy drive; it didn't fit.
There is a lot of room below the CD-rom drive, and that's where I ended up
putting the disk, but you end up with a real tangle of ribbon cables and it
takes some dexterity to get everything connected properly.
Once I remembered to set the new hard drive's jumpers to "slave," it worked
fine. (There should most likely be instructions on your hard drive telling you
how to do this. If not, try looking up your drive's model number on the web.)
You don't have to tell the Presario about the new hard drive, and in fact you
can't, since there's no such section in the Setup menu. It should figure things
out on its own. I haven't put Linux on the smaller hard drive - I think I'll
keep it for Windows games.
Note: IDE connectors have two rows of pins, and there is one pin missing in
the second row. Make sure to match up the missing pin on the disk and the
ribbon cable - you can't hook it up wrong, but you can bend the pins around.
Standby mode
I haven't tried this yet. It would be nice, though, since the computer's too
noisy to sleep when it's on.
Quirks
For some reason, the X-windows graphical configuration utility hangs
every time I try to use it. Instead, you can use the text-based one.
When I first got this computer, the mouse wasn't working. I played with the
BIOS settings until it worked most of the time. Occasionally, it
still boots up with no mouse.
Every now and then, the computer will turn itself off when I try to reboot it.
After this, it won't do anything. The only solution is to go away for an
hour or so and try again. This must be some kind of problem with the
motherboard, I don't know. As long as it only happens on reboots, and
not when you're in the middle of something or booting from power-off, it's
not so bad.
Case
The case has one metal section that covers the sides and the top, and is
flat. There is also a plastic section that goes in front - it has bumps
and ridges and voids and holes. The entire thing was a boring flat beige, so
I painted it plaid. The front part with the bumps and ridges and voids and
holes took a lot of time and masking tape, so I would not recommend
plaid unless your computer has a more normal shape. Polka dots are much
easier. However, the plaid results were pretty good.
Maybe I'll put in a picture some time.
Useful Links
Last updated: October 9, 2001 7:43 pm
Walter Ogburn /
reuben@ugcs.caltech.edu