Linux on a Dell Latitude D800

I have a beautiful Dell Latitude D800 (with the very sexy wide-screen monitor). Here are some notes on getting Debian up and running on it.

This page is still in sketch form. If you have any questions, feel free to e-mail me. Also, you may want to see TuxMobil for other success stories...

For the curious, I am posting my .config file for the Linux 2.6.0-test7 kernel I am currently running (Oct 11, 2003). This is lifted straight from /proc/config.gz, a feature my fellow Linux old-timers will remember having been repeatedly rejected by the core kernel developers as wasteful, ugly, and hackish many times in years gone by. And there it is today, as mainstream as virtual memory and journaling. How times have changed...


WARNING: Potential Docking Station Issue!

Okay, apparently a not-uncommon problem with D800s (and related machines) where they get confused and think they're in the docking bay when really they're not. The BIOS, noting that the machine appears to be docked but is not being supplied with external power, puts up this message:

This computer is docked and only battery power is detected. This can happen if the power adapter is missing, the power cord is unplugged, or the computer is not properly connected to the docking station.

You should undock, redock, attach a power adapter, or plug in the power cord.

Strike the F1 key to shutdown.

Then, nada. Couldn't get into the BIOS setup screen, can't get a boot menu, and LILO isn't launched. However, if you either dock the machine or connect the AC adapter, it boots correctly without incident or complaint.

Others have had this same problem. I'm talking w/ tech support now trying to get it resolved for my machine, which (from the looks of things) will probably require a motherboard replacement (i.e., giving up my laptop for a few days).

IMNSHO, in addition to the apparent hardware problem, this is a BIOS bug - a soft error is preventing the machine from booting instead of presenting the user with a warning and continuing.


Summary

Everything seems to work, except for the smartcard reader (which I have no smart cards to test on).

Boot CD and Network Installation

If you got a CD drive and have Debian CDs (or the patience to download them), you can install off of those. I wanted to do a network install, but had to overcome a few problems.

First, the default Debian install kernels I used had no support for the integrated Broadcom 5705 networking chip or the MiniPCI Intel PRO/Wireless 2100 WLAN card in my system. (Newer 2.6.0 kernels include a version of the Tigon 3 driver, tg3, which can drive the broadcom adapter.) So I had to be creative and use a run-of-the-mill PC Card network adapter (which is supported by the stock 3c59x driver); this required that I get PCMCIA working, which required an obscure tweak to a config file (followed by /etc/init.d/pcmcia restart) but otherwise went without a hitch.

Landline Networking

The Tigon 3 (tg3) driver in the recent 2.6.0-testX kernels works great. If you prefer older kernels, Broadcom distributes a driver, available as Debian package bcm5700-source.

Wireless Networking

There is a driver for the Intel PRO/Wireless 2100 MiniPCI adapter available from Intel at sourceforge.net.

USB

USB seems to work just fine with the UHCI/EHCI drivers.

IEEE 1394

IEEE 1394 seems to work just fine with the OHCI driver. I've got an 80GB hard drive hanging off of mine, works just fine.

Bluetooth

The bluetooth adapter connects itself to the system as a USB device; hitting the magic "wireless" toggle keys (Fn-F2) simply causes this device to detach and re-attach itself from/to the USB bus.

If I had any bluetooth gadgets, I would give them a try. But I don't, so I haven't.

IrDA

I haven't even touched this. Others report it is working.

X Windows

You will need to compile the nvidia module from source and select the nvidia driver when configuring xserver-xfree86. You will probably also want to install nvidia-glx to take advantage of hardware 3D acceleration (the bouncingcow screen saver alone makes it worth it).

PCMCIA/PC Card Socket

If you plan to use Card Services, you will need to tweak the default /etc/pcmcia/config.opts by removing "port 0x800-0x8ff" from any include lines; you may even want to create a corresponding exclude line, "exclude port 0x800-0x8ff" since Dell laptops in general respond badly (hard lockups) to twiddling that region.

When using older (pre-CardBus) PCMCIA cards on a fully loaded system, you may find yourself running out of interrupts and getting error messages like "orinoco_cs: RequestIRQ: Resource in use". In my case, this was happening because all of the interrupt channels were either eaten up by PCI devices or being reserved for legacy exclusive-interrupt devices (serial ports, parallel port, etc). Again, if you run into this problem, you may want to tweak /etc/pcmcia/config.opts and comment one of the three "exclude irq [437]" lines to make that interrupt available for ISA devices. (Of course, if you're using the parallel port, you probably shouldn't open up IRQ 7, and similarly for the serial lines and their respective IRQs.)

Smart Card Socket

DOME

Audio

The ALSA driver for "Intel 8X0" chips works like a charm. Note that the main outputs and headphone outputs are controlled as different channels under alsamixer, which can have unexpected side-effects when other programs (e.g. multimedia keys daemons, magic keys) twiddle with volume settings.

I don't have the S/PDIF output jack working (and don't have much to plug it into anyway), but rumor has it that it does in fact work.

Playing DVDs

You don't mean illegally cracking CSS and playing encrypted DVDs on an unauthorized device, do you? Why, that would be illegal!

Video Output

I haven't even tried to get the TV output jack working... it looks like there are some options to the nvidia XFree86 driver that should do the trick, though.

Recording CD-R/CD-RW/DVD+RW

Compile the kernel with ide-scsi support and include the argument hdc=ide-scsi in your boot arguments (e.g., using the line append="hdc=ide-scsi" in /etc/lilo.conf) and all works as expected. I have used cdrecord and cdrdao without problems.

Base Station

Extra Media Bay
I use this for an extra 60GB hard disk, which shows up as a SCSI device on the USB bus (usb-storage driver).
Plugs, jacks, etc
Seem to work fine. Haven't tried hot-plugging/swapping, though.
Release Button
This probably generates some sort of signal so the OS can respond appropriately, but I haven't figured out what it is yet.