Installing SoundBlaster 16 PCI on FreeBSD 3.2?

David Marsh dm at
Sun Sep 24 18:19:58 BST 2000

Hi Mark (and list), thanks for all your help so far..

On 23-Sep-00 Mark Ovens wrote:
> On Sat, Sep 23, 2000 at 11:04:54AM +0100, David Marsh wrote:
>> On 23-Sep-00 Mark Ovens wrote:
>> > On Sat, Sep 23, 2000 at 01:50:27AM +0100, David Marsh wrote:
>> >> 
>> > 
> Ah yes, ``device pcm'' on its own only works in 4.x. 

If I have to, upgrading is always an option.. ;-)

> Here's something I found in the -questions mail archives that might
> help you:

I've tried following the advice given in the message below, including
the lines where noted..

> ---- begin included message ----------
> From: bill at (T. William Wells)
> To: freebsd-questions at
> Subject: SB16 config for 3.2
> Message-ID: <7n1ba7$26au$1 at>
> Date: Tue, 20 Jul 1999 04:18:01 -0400
> Sender: owner-freebsd-questions at FreeBSD.ORG

> There are plenty of other descriptions of configuring the old SB16
> card, so I won't be describing that here. However, here is what I
> did for the new one:
> In my kernel configuration:
> device pcm0 at isa? port? tty irq 5 drq 1 flags 0xB

Am I reading too much into this here: Does FreeBSD regard everything as
being on the ISA bus (isa?) for convenience, even if the card in
question is a PCI card?

Also, for what it's worth, my PC BIOS reports the soundcard being on
IRQ 11 (ie, not 5).

(What does DRQ mean? Should I know this?)

> Note the flags at the end. They're saying that I'm using DMA
> channel 3 as the secondary DMA channel.

Full disclosure time.

OK, the values I get from the Other OS for its 'legacy' driver/device
for the card are:

I/O: 0220h - 022Fh
I/O: 0330h - 033Fh
I/O: 0388h - 038Bh
DMA: 01
DMA: 07

(ie, not DMA 3 as with Mr Wells' card: I have no idea what I should
change the flags value to..)

The 'normal' W**9x device gives:

IRQ 11 (this matches with what my BIOS thinks, anyway)
I/O: F700h - F73Fh

> In /boot/kernel.conf
> pnp 1 0 os enable port0 0x220 port1 0x300 port2 0x388 irq0 5 drq0 1
> drq1 3
> I'm using port 0x300 instead of the default 0x330. That's because
> I also have an Adaptec 1540 SCSI controller in my machine. If
> 0x330 is free, you might as well use it.

The settings given here match with the I/O values from the 'legacy
driver' - at least something makes sense. (I changed the 0x300 back
to 0x330 since I don't have a SCSI card). Again I'm left with an IRQ
value which I'm not sure is correct (I really don't understand how this
things work!) and DRQ values which I also don't understand..

To cut a very long story short, when I make a new kernel and reboot, I
get: pcm0 not found, so obviously these settings aren't working.

Does anybody know, from the information I've given, what the right
values should be, or would it just be easiest for me to upgrade to



David Marsh,drmarsh at |          |
Glasgow, Scotland.              | If urgent, phone: +44 77-121-848-90 |
>Trim quotes b4 replying; Quote 1st, reply 2nd; Ask b4 attaching files<

More information about the Ukfreebsd mailing list