Dell Latitude Sound

I have an old Dell Latitiude CPi D300XT. I run FreeBSD 5.1 RELEASE on it quite happily. KDE is a bit slow to load up on it (It’s a 300MHz PII for goodness’ sake), but otherwise, it’s quite functional.

Anyways, I couldn’t get the sound to work. This entry tells you what I did. There are a few steps.

I first found this link describing how to set up the /boot/device.hints file to give FreeBSD a clue about where the soundcard is.

That wasn’t enough. I installed these entries, reproduced here, for convenience:

hint.pcm.0.port="0x52c"
hint.pcm.0.at="isa"
hint.pcm.0.irq="5"
hint.pcm.0.drq="1"
hint.pcm.0.flags="0x10"

But the sound didn’t work. I would see these errors in the console:

pcm0:play:0: play interrupt timeout, channel dead

Then I saw this thread over at FreeBSD Forums. That reminded me that the IRQ might be in conflict. I messed around in the BIOS and found a few settings that looked like they might help, but they didn’t.

The Solution

Finally I hit on checking the BIOS revision. I had the A08 version of the BIOS and an A12 version is available here on Dell’s site. WARNING: updating your BIOS can turn a functional laptop into a paperweight. Follow my instructions at your own risk!

Anyways, I downloaded the file, put it on a DOS floppy. I booted the DOS floppy and ran it. It upgraded the flash BIOS in like 30 seconds. Then I went into the BIOS And configured a few things. I think the key things were:

  • Disable the parallel port. It’s use of IRQs seems to conflict with the sound card. It says so right in the BIOS help.
    • Set the audio to full-duplex.

    That’s it. It worked.