Subject: Re: Crystal Sound System WSS/SB (CS4232)
To: None <current-users@netbsd.org>
From: C Kane <ckane@best.com>
List: current-users
Date: 02/23/1999 21:11:45
In previous email, I wrote:
>My NetBSD/i386 system has a built-in CS4232 sound card, and NetBSD-current
>doesn't seem to like it.

Whoever has been working on the WSS/SB/CS42* stuff:  Thanks.

Starting with today's sup, NetBSD is once again able to configure
and attach the CS4232 sound chip.  It even plays correctly at full
speed (when last it was working, around December, I had to downsample).

I have some questions.

In the dmesg output included below, it reports
    wss0: CS4232 WSS/SB: broken
Why does it do that and is there something I can do to make it better?

You can also see in the dmesg output the message:
    isapnp0: card 1 violates PnP spec; byte 4
I believe byte 4 is the start of the serial number, which might be
changeable via software.  Is this something I should learn to live with,
or is this fixable?

The CS4232 is a WSS chip, but it will also emulate a SB.  Is it better
to configure NetBSD to configure the chip as WSS or as SB?  For example,
the CS4232 can also emulate a MPU401 but NetBSD seems to have configuration
examples to attach an MPU401 only to SB, and not to WSS.

Thanks for any reply...
-- Chuck



NetBSD 1.3I (ckane4) #10: Tue Feb 23 20:52:59 PST 1999
    root@ckane4:/usr/netbsd-current/src/sys/arch/i386/compile/ckane4
cpu0: family 5 model 4 step 1
cpu0: Intel Pentium/MMX (586-class)
real mem  = 66715648
avail mem = 59019264
using 840 buffers containing 3440640 bytes of memory
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o enabled, memory enabled
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82437FX System Controller (TSC) (rev. 0x02)
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371FB PCI-to-ISA Bridge (PIIX) (rev. 0x02)
  :
isa0 at pcib0
wss probe kludge
wss probe kludge
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
sysbeep0 at pcppi0
wss probe kludge
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
wss probe kludge
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
isapnp0: Trying port 203isapnp0: read port 0x203
isapnp0: card 1 violates PnP spec; byte 4
PnP version 1.0, Vendor version 0.1
ANSI Ident: CS4232
Logical device id CSC0000
ANSI Ident: WSS/SB
>>> Start dependent function config: preferred
IRQ's supported: 5 7 9 E+
DRQ's supported: 1 3 Width: 8-bit Speed: compat Attributes: incr 8 
DRQ's supported: 0 1 3 Width: 8-bit Speed: compat Attributes: incr 8 
4 IO Ports: 16 address bits, alignment 212 min 0x534, max 0x608
4 FIXED IO Ports: 10 address bits, alignment 1 min 0x388, max 0x388
16 IO Ports: 10 address bits, alignment 32 min 0x220, max 0x240
>>> Start dependent function config: acceptable
IRQ's supported: 5 7 9 11 12 15 E+
DRQ's supported: 0 1 3 Width: 8-bit Speed: compat Attributes: incr 8 
4 IO Ports: 16 address bits, alignment 212 min 0x534, max 0x608
4 FIXED IO Ports: 10 address bits, alignment 1 min 0x388, max 0x388
16 IO Ports: 10 address bits, alignment 16 min 0x210, max 0x260
>> Start dependent function config: preferred
IRQ's supported: 9 E+
2 FIXED IO Ports: 10 address bits, alignment 1 min 0x330, max 0x330
>>> Start dependent function config: acceptable
IRQ's supported: 9 E+
2 FIXED IO Ports: 10 address bits, alignment 1 min 0x300, max 0x300
 config: preferred
4 IO Ports: 16 address bits, alignment 212 min 0x534, max 0x608
4 IO Ports: 10 address bits, alignment 1 min 0x388, max 0x388
16 IO Ports: 10 address bits, alignment 32 min 0x220, max 0x240
IRQ's supported: 5 7 9 E+
DRQ's supported: 1 3 Width: 8-bit Speed: compat Attributes: incr 8 
DRQ's supported: 0 1 3 Width: 8-bit Speed: compat Attributes: incr 8 
Register configuration:
io[0]: 0x534/0
io[1]: 0x388/0
io[2]: 0x220/0
irq[0]: 5
drq[0]: 1
drq[1]: 0
isapnp0: configuring <CS4232, CSC0000, , WSS/SB>
wss0 at isapnp0 port 0x534/4,0x388/4,0x220/16 irq 5 drq 1,0
Found <CS4232, CSC0000, , WSS/SB> config: preferred
4 IO Ports: 16 address bits, alignment 212 min 0x534, max 0x608
4 IO Ports: 10 address bits, alignment 1 min 0x388, max 0x388
16 IO Ports: 10 address bits, alignment 32 min 0x220, max 0x240
IRQ's supported: 5 7 9 E+
DRQ's supported: 1 3 Width: 8-bit Speed: compat Attributes: incr 8 
DRQ's supported: 0 1 3 Width: 8-bit Speed: compat Attributes: incr 8 
wss0: CS4232 WSS/SB: broken
audio0 at wss0: full duplex
Found <CS4232, CSC0001, PNPB02F, Game> config: acceptable
8 IO Ports: 10 address bits, alignment 1 min 0x200, max 0x200
Register configuration:
io[0]: 0x200/0
isapnp0: configuring <CS4232, CSC0001, PNPB02F, Game>
joy0 at isapnp0 port 0x200/8
Found <CS4232, CSC0001, PNPB02F, Game> config: acceptable
8 IO Ports: 10 address bits, alignment 1 min 0x200, max 0x200
joy0: CS4232 Game
joy0: joystick not connected
Found <CS4232, CSC0002, , Ctrl> config: acceptable
8 IO Ports: 16 address bits, alignment 8 min 0xf00, max 0xfe8
Register configuration:
io[0]: 0xf00/0
isapnp0: configuring <CS4232, CSC0002, , Ctrl>
isapnp0: <CS4232, CSC0002, , Ctrl> port 0xf00/8 not configured
Found <CS4232, CSC0003, , MPU> config: preferred
2 IO Ports: 10 address bits, alignment 1 min 0x330, max 0x330
IRQ's supported: 9 E+
Register configuration:
io[0]: 0x330/0
irq[0]: 9
isapnp0: configuring <CS4232, CSC0003, , MPU>
isapnp0: <CS4232, CSC0003, , MPU> port 0x330/2 irq 9 not configured
biomask 4840 netmask 48c0 ttymask 58c2
wscons: wskbd0 glued to wsdisplay0 (console)