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:

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