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.
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.