Dell Latidude C600

 

The following information is made available in the hope that you find it useful for getting Linux to run better on your Dell Latitude C600. But please note that I no longer own this machine, and the information presented here may be outdated.

Download List

The following list is meant as a quick reference to the files I've made available on this page. Please take the time to read the full text to find out what they do.

System

The Latitude C600 is fairly well designed. Both the BIOS and the power management system are for all practical purposes fully standards compliant and do not make any assumption about the operating system. Both a standard OEM CD and a recovery CD for Windows 95 were included. I was pleasantly surprised to see that the recovery CD allowed for reinstalling the system without repartitioning, thereby completely removing the necessity to leave Windows on the hard disk 'just in case'.

Kernel Configuration

You should use a 2.4 kernel for complete hardware support. USB and the ethernet part of the mini-PCI combo card work 'out of the box'. The modem part of said card is a so-called 'WinModem' and you cannot (and would not want to) use it with Linux.

The ethernet driver in Linux 2.4.1 and 2.4.2 has a problem that breaks klogd, causing it to enter an infinte loop. You should upgrade to a later kernel if you experience this problem.

I recommend using the VESA framebuffer driver for the text console. For example, you could add 'vga=773' as a kernel startup parameter, which would give you a resolution of 1024x768 at 256 colours for your text console.

If you want to use hardware 3d acceleration, you need to make sure that you use a recent kernel (2.4.18 is known to work) and build the 'r128.o' module

Problems with the VGA palette and DMA-related crashes after suspendig disappeared for me after upgrading to BIOS revision A07 and kernel 2.4.3. Unfortunatly, I do not have the time to track down where exactly each relevant fix happend. I'm currently running A21 and Linux 2.4.18, which works fine. You should use the apm tool for suspending rather than the built-in function key to avoid problems with scripts run by apmd.

You might want to download my kernel configuration and start from that.

Module Bay

The IDE hotswap support present in newer kernels is bolted on to the side of the kernel in a slightly dubious way.

Hotswapping works fine, at least with the most recent kernel and BIOS versions. Due to a limitiation of the kernel you cannot use DMA with an IDE device in the module bay if the computer was booted without a device plugged in.

There is no need to do anything special when hotswapping batteries (the BIOS takes care of that) or floppy disk drives (the FDC interface is too simple to even care about the presence of drives, all that's needed is the circuitry to avoid busting the controller on insertion).

For hotswapping IDE devices, a utility is needed to notify the kernel of the change and initiate the necessary configuration. Since Dell unfortunatly only provides a utility for Windows, I've written one myself. You can get it by downloading the file hotswap-0.4.0.tar.gz from this page. It comes with KDE and Motif frontends. Please consult the documentation. There is of course no warranty, but to my knowledge there is no way of damaging your hardware without doing something obviously stupid to it. Removing mounted devices without unmounting them may on the other hand conceivably lead to data loss.

Sound

The C600's sound interface is an ESS Maestro 3i. A driver for this chip is included in the standard kernel source starting from version 2.4.2. It works without problems for me. The ALSA project also includes a driver for this chip.

X Server

The video chip in the C600 is an ATI Rage 128 Mobility LF. You need to use XFree86 4.0.2, as earlier versions have known problems. With the correct driver ('ati'), X should work straight away. If you have a model with the 1024x768 screen, you might want to look at my configuration file. With version 4.1.0 of XFree86, 3d acceleration should also work without problems, provided the required kernel modules (agp.o and r128.o) are available. agp.o, but not r128.o, should be loaded before the X server is launched.

To use the extra function key above the keyboard labeled 'i', you could apply this patch to your xkb directory. You can then refer to the key using the 'XF86HomePage' keysym. It's not really that useful, but having it working appeals to the perfectionist in me.

Configuration Hints

You can improve the battery life by allowing the hard disk to spin down when not used. Out of the box, Linux is usually configured in such a way that this does not happen.

You might wish to have a look http://noflushd.sourceforge.net for a daemon that prevents commiting writes to idle hard disks. You are advised that implementing this considerably increases the probability of file system inconsistency and data loss in the event of a system crash. This approach works with EXT3 and XFS, but not ReiserFS, because of the way the latter implements journalling.

Problems

I have not managed to resolve the following problems:

The IDE controller and the kernel IDE subsystems are not initialized for use with an IDE device on the secondary bus if none is present during boot up.
Unfortunatly, IDE hotswap support in Linux is far from perfect.
Adapting the processor to the power configuration requires a suspend cycle.
Version 2.6 of the Linux kernel contains support for Intel's SpeedStep technology, but the chipset used in the C600 is presently not supported. I've been told that more recent kernels in the 2.6 series do contain the required driver.