Subject: Re: Soundcard with OPTi931 supported?
To: Joerg Czeranski <>
From: Bill Studenmund <>
List: port-alpha
Date: 08/17/1999 16:12:29
On Mon, 16 Aug 1999, Joerg Czeranski wrote:

> Hi,
> I have a P&P sound card with OPTi 82C931 chip, supposed to be "Microsoft
> Windows Sound System Compatible".  The leaflet calls it "OPTiSound 64
> Deluxe" "1817 Series Sound Card".

Mine is a "Magic Sound 16".

> NetBSD 1.4 reports:
>   isapnp0: read port 0x202
>   isapnp0: <OPTi Audio 16, OPTFFFF, , AUX0> not configured
>   isapnp0: <OPTi Audio 16, OPT9310, , OPTi Audio 16> port 0x534/4,0x380/12,0x220/16,0xe0c/4 irq 5 drq 0,0 not configured
>   isapnp0: <OPTi Audio 16, OPT0001, , Game Port> port 0x200/1 not configured

The gameport should have worked. It does on my system. Does your card not
have a gameport adapter?

>   isapnp0: <OPTi Audio 16, OPT0002, , MPU401> port 0x300/2 irq 5 not configured
> When I force it to use wss in the isapnpdevs, I get:
>   wss0 at isapnp0 port 0x534/4,0x380/12,0x220/16,0xe0c/4 irq 5 drq 0,0
>   wss0: ad1848_probe failed
> I even tried to add a kludge to the drq allocation, moving it from drq 0,0
> to drq 0,1, but that didn't help.
> A friend of mine succeeded with the card on FreeBSD/i386, it detects:
>   CSN 1 Vendor ID: OPT0931 [0x3109143e] Serial 0xffffffff Comp ID: @@@0000 [0x00000000]
>   AD_WAIT_INIT FAILED 1002 0xff
>   mss_attach <OPTi931>1 at 0x604 irq 10 dma 3:1 flags 0x11
>   pcm1 (OPTi931 <OPTi931> sn 0xffffffff) at 0x604-0x60b irq 10 drq 3 flags 0x11 on isa

Does it work (make ok sound, etc.)

I have one of these cards (which is why we support the IDE and gameports),
but I never got the wss emulation to work. It always died in the ad_probe.

I messed with it in the early days of 1.3B or so, so my experiences then
might be no longer valid. The first thing which needed to be done (which
might have) was to make the ad1848/wss driver take a subrange (it normally
wanted 530/8, but this chip gives 534/4). After that, there's some way to
put the chip in "wss" mode. Normally it expects to be in a "write magic
constant to funky i/o address" mode - something from well before PnP

I'd love to see it supported, but can't really do much about it other than
testing later on. I can dig up the docs I have for it, though, if you

Take care,