Debian GNU/Linux on the Dell Latitude C400

This document started off early in 2002 when I installed Redhat 7.2 on the C400. I've been through several Redhat versions since 3.0.3 but, after enduring a hard disk crash, I decided for a number of reasons that Debian was the way to go.

Disclaimer: This document comes with no guarantees. The steps I followed worked for me but may not necessarily work for you or your hardware.

Configuration

Debian 3.0r1 Woody
recompiled 2.4.18 kernel
no Windows installation (see later)
PIII-M 866MHz CPU
1x 256Mb RAM
A09 BIOS
Crystal 4205 audio
3c905C-TX FastEthernet adapter (built-in)
10Gb Toshiba MK1517GAP
TrueMobile 1150 wireless (optional)

Installation

Partitioning the disk

The replacement drive was empty. The first step was to create a 768Mb save-to-disk (s2d) partition using mks2d.exe on the disk from Dell. The reason for choosing this size is that I intend adding another 512Mb RAM at some point in the future. Dell recommends that you set it up as 768Mb * 1.01 + 4Mb on the first partition so it's at a little over 800Mb now.

/dev/hda2 is set up as 50Mb boot partition (probably overkill here) and the remainder the root partition. No swap partition required at this stage as I've found swapfiles to be quite adequate in the past.

Installing Debian

This was pretty easy following the menus. Booting using the bf24 option allows you to install the ext3 filesystem.

Post-install

Configuration

This has always been a bit of a Redhat weakness in my opinion. Just as linuxconf was getting really useful they seem to have lumped it all in an gone for the more user friendly guified model of the redhat-config suite. Not that GUIs are a bad thing, mind you. It's just that they can become quite annoying when the underlying infrastructure is obfuscated.

This is where I came to appreciate Debian's relative simplicity. Instead of spreading the network interface configuration over multiple files in several directories, there is just one - /etc/network/interfaces

The dselect package took a little getting used to but it does the job of post-setup package installs quite well in conjunction with other tools like apt-get and friends.

Recompiling the kernel

Thanks to the joys of make menuconfig and make xconfig this is no longer such a bore. Here is a copy of my .config for the 2.4.18 kernel

i8kutils

The i8kutils package is a collection of tools which can control various Dell specific functionality such as the fan(s) and custom keyboard buttons when used in conjunction with the i8k kernel module. The module is installed at startup by adding it to the list in /etc/modules. They were initially created for the Inspiron 8000 series but will work with most other Dell laptops (a list is provided in the package.)

XFree86

The default version installed for Debian 3.0 stable is XFree86 4.1 so upgrading to 4.2 from Debian testing is required along with the latest i830 drivers from Intel. Instructions are on that page.

Intel i830 support is now included as of XFree86 4.3.

There is an good history of the problems associated with the Intel i830 chipset support and excellent instructions and links on Manuel Chakravarty's C400 page. Another patch I have used with Redhat 7.2 is on Jon Gans' Gateway page

Wireless network

The TrueMobile 1150 wireless mini-PCI card is factory installed and looks to the system like a card in a second PCMCIA slot. The card is based on the Hermes chipset and the orinoco_cs driver should be used.

With Redhat 7.2 there was much mucking around with both the kernel-pcmcia and pcmcia-cs versions but I eventually settled on the latter. After one too many suspend/resume cycles, the kernel-pcmcia would stop recognising the card and it would default to "Anonymous Memory". This could only be cured by rebooting. I'm not sure if this remains the case with Debian as I've now stayed with pcmcia-cs.

The version of orinoco_cs supplied with pcmcia-cs-3.1.33 is 0.09b which is a little out of date. I now use the orinoco-0.13e drivers. All this involved was copying over the equivalent files in the /usr/src/pcmcia-cs-3.1.33/wireless directory and recompiling/reinstalling.

Now despite using the same versions of the kernel, driver and wireless tools on both Redhat and Debian installs there seem to be significant performance improvements in network speed. Gnome based tools such as gnucash and jpilot were so slow when used via a remote X server that they were unusable. Removing ssh tunnelling and WEP encryption had a neglible effect. You could conclude that this had something to do with differing versions of gtk but ttcp now shows the raw network speed to be almost 3 times what it was previously. Go figure

Wireless Access Point

The base station is a venerable 256MB Pentium 233, which doubles as an X server and Internet gateway. The wireless PCMCIA card is a Netgear MA401 in a Netgear MA301 PCI adaptor (PLX based.) Initially I used the card in Ad-hoc mode with the wlan-ng drivers but it seems that Prism 2 based cards have problems when run in Ad-hoc mode. Network speed was blindingly slow and the orinoco drivers generated an unsual number of "Tx excessive retries" messages. It was the findings on Jim Carter's wireless page that led me to try the hostap drivers and I'm now on version host-0.0.4. These take advantage of the Prism 2 firmware to place it in managed mode. To the laptop it looks just like an Access Point.

Ongoing

IrDA

Works out of the box using Debian and connects to a Palm III without complaint. Synchronize and restore from jpilot work well. In the BIOS setup, the IR port is set to COM2 and the IR mode to SIR (slow) which enables connections up to 115200 baud. In /etc/irda.conf, IRDADEV=/dev/ttyS1.

I used the GPRS-HOWTO along with Mikko Rapeli's instructions to set up GPRS for the Nokia 6100. It's never going to beat a WiFi link but is a neat solution for mobile e-mail.

Of interest is that the 6100's modem (AT terminal) interface was not usable via IrDA until I first set it up using the Windows drivers.

Gnokii 0.5.1 connects to a Nokia 7110 via IrDA faultlessly but I've had no joy yet with the Nokia 6100.

Sound

This was working with the ESD drivers under Redhat 7.2. All that is required under Debian is to add these lines into /etc/modules.

    ac97_codec
    i810_audio
    options i810_audio      clocking=48000

The next step is to get the KDE aRts sound server to work with it.

PCTel Modem

Still ongoing as I've no real requirement for it at the moment. Try the latest PCTel drivers and their instructions.

Outstanding Issues

user-806785 [at] dipalo [dot] com (James Gemmell)
Dipalo