These are just a few pieces of information which might be interesting to anyone thinking about installing Linux on a Dell Latitude 400 [].

Other sources of information

If you haven't already done so, first thing to do is to read Manuel Chakravarty's really good article Liberating the Dell Latitude C400 [].


Well, graphics with the i830M chipset is still at 8bit colours with 1024x768. But I did not have any problems using the FrameBuffer device for either console or X usage. So there should be no need to get the very latest X server or even compile it yourself.

When you like to have more than 80x25 characters on your console, try VGA mode 773 (which is 1024x768 8bit). This will get you small but crisp 127x48 characters (and a free penguin when booting :-)).


The i810_audio driver works fine. If you're running a do-it-yourself Linux distribution, aliasing "sound-slot-0" to "i810_audio" should do most of the job.


I'm running a 2.4.18 kernel here. Don't compile ACPI into the kernel, this will break some of the Fn keys.

The BIOS can be entered while the machine is running, which is very convenient. However, entering the BIOS will suspend the system completely. Apparently APM signals are sent, so make sure you have APM in your kernel (or the module loaded) to keep your system clock etc. correct.


A few words on how suspend-to-disk works on this machine. This information has been found out by trial and error, it may not be correct nor will it be complete...

The "mks2d" tool needs to create a partition at the beginning of your hard drive. The documentation says that it will need to be within the first two GB on a hard disk with more than eight GB. (To me, this sounds like a 1024cyl boundary.) If you move your existing partitions away from the beginning of your HDD (using PartitionMagic or some similar tool) and keep the first entry in the partition table free, a suspend-to-disk partition can later be created without loss of data. The "mks2d" tool will happily take that free space and occupy the first entry without touching the rest.

But beware! The documenation of "mks2d" gives a formula for calculating the amount of space needed for the s2d partition. I believe it was this:

With 512 MB installed, this would turn out to be a little more than 520 MB. On my machine, the partition was created with a size of 538 MB! The beginning of the following partition was simply set to a higher cylinder. This behaviour (a shame for any decent programmer, the program has absolutely zero interactivity or warnings) successfully destroyed the installation of WinXP. Well, I wanted to reinstall that anyway...

The way suspend-to-disk works is also slightly unusal. There is a Phoenix BIOS inside the machine, or at least parts are from Phoenix. However, Dell apparantly believes to be something better and does not use the usual Phoenix method which has been working fine for years ("phdisk", specially formatted partition which has to be given as fourth entry in partition table).

When suspending to disk, the contents of RAM is written to the prepared partition. Then the "bootable" flag probably set on one of your partitions is cleared and instead set on the s2d-partition. Dell now expects your boot loader to boot from the partition which is marked as bootable. LILO for example doesn't give a sh.. about that. So if you're using a good boot loader, you'll need to add a further entry telling the boot loader to boot from your s2d-partition. Contents of RAM will be restored, the boot flags, too.

There is a problem with this method: One can restore the saved state more than once. If anyone finds this useful it sure is a good thing, but if you can't remember whether you powered the machine down or it put itself into S2D state, you'll need to boot without touching your HDD's contents and have a look at the boot flags.

Can any of the standard boot loaders offer choices based on the "bootable" flag? Currently I'm using a DOS boot loader in the MBR which is looking for the "bootable"-flag. It's then either booting from the S2D-partition of firing up LILO stored in the boot record of one of the primary partitions.

Outstanding problems

I notice regular HDD activity which seems to be blocking the system. I haven't been able to determine the cause, but it's quite annoying if your mouse cursor stops moving. This seems to block network activity, too.

Update, 2002-04-20


I gave the X server from Xi Graphics [] a try. It looks all right, but there are several reasons I probably won't be using it:


I tried the latest PCTel [] software but had no luck with it. The most detailled message I could get was PCTel: No device detected. Abort module loading..

Hot swapping devices

This isn't really hard. With a fairly recent version of "hdparm" (here, version 4.5 is working) there comes a file called "idectl" as part of the documentation. Calling "idectl 1 rescan" will call "hdparm" and remove all IDE devices on IDE channel 1 from the kernel if they're no longer present. It will also add IDE devices on IDE channel 1 if they've been newly connected. This allows for the external CD-ROM drive to be added and removed while the machine is running.

The floppy drive seems to be available to the kernel at all times. If you try to access it although it's not connected, you'll get a few error messages and the attempt will eventually time out.

SCSI emulation for IDE devices

This is slightly off-topic but nevertheless related. If you want to use your external CDRW-drive to burn CDs using e.g. "cdrecord", you'll need to have a SCSI emulation for this (IDE) drive. But usually you don't want to have SCSI emulation for this drive all the time. All you need to do is make sure that "ide-scsi" as well as "ide-cd" (that's ATAPI support) are compiled as modules.

If you then give the kernel a "hdc=ide-scsi" at boot time, modprobing "ide-scsi" will turn on SCSI emulation for "hdc". Just note that "ide-scsi" and "ide-cd" will not be working fine next to each other, so make sure you've got only one inserted at any time. As long as "ide-scsi" is not inserted, access to "hdc" should automatically insert "ide-cd" and normal IDE access will be possible.

Hauptseite ]
Kontakt ]
[ 2002-04-20 ]
Marcus C. Gottwald <> ]