Subject: CS4236 on Intel PR440FX MB causes GENERIC 1.5 and 1.5.1 to hang during boot
To: None <port-i386@netbsd.org>
From: Erik E. Fair <fair@clock.org>
List: port-i386
Date: 05/01/2001 23:00:09
I've acquired my first Intel box - something I've avoided for a
very long time, however, I figured it was about time to take a look
and a friend wanted to part with this system. The beast I got is
a dual 200 MHz Pentium Pro system, based on an Intel PR440FX
motherboard, with 128MB of RAM, Intel 10/100 FDX Ethernet, USB,
Crystal CS4236 (SoundBlaster compatible sound chip), and Adaptec
7880 Ultra-Wide-SCSI on the board.

The install from the Wasabi 1.5 CD-ROM worked great, until it came
time to boot the installed system. The GENERIC kernel hung during
probe of the Crystal CS4236 sound chip. The device claims, according
to Intel's documentation, to be both SoundBlaster and Windows Sound
System (WSS) compatible.

I put together a 1.5-release branch kernel without any ISA audio
defined it in (just like the install kernel) and that comes up to
multiuser with no problems. Then I compiled a series of kernels in
an attempt to boot something that would both recognize the device
and come all the way up (no hang). I tried:

	SB on isapnp
	SB on isa (with matching params)
	WSS on isapnp

The upshot is that SB doesn't match no matter what I try, and WSS
matches, but hangs. Here's the relevant section of autoconf output
from the no-audio kernel:

isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
isapnp0: read port 0x203
isapnp0: <CS4236  Audio, CSC0000, , WSS/SB> port 0x534/4,0x388/4,0x220/16 irq 5 drq 1,0 not configured
joy0 at isapnp0 port 0x200/8
joy0: CS4236  Audio GAME
joy0: joystick not connected
isapnp0: <CS4236  Audio, CSC0010, , CTRL> port 0x120/8 not configured
isapnp0: <CS4236  Audio, CSC0003, , MPU> port 0x330/2 irq 9 not configured

I'm writing here for two reasons:

1. Report a failing in the -release branch GENERIC kernel.

2. get suggestions for ways to make this work.

Please reply to me, I'm not on port-i386 (yet).

	thanks,

	Erik <fair@clock.org>



Full dmesg.boot output from working kernel (no sb/wss in it):

NetBSD 1.5.1_BETA (HYDRA) #2: Sun Apr 29 18:28:21 GMT 2001
    root@solar.clock.org:/usr/obj/sys/arch/i386/compile/HYDRA
cpu0: Intel Pentium Pro (686-class), 198.68 MHz
total memory = 127 MB
avail memory = 114 MB
using 1659 buffers containing 6636 KB of memory
BIOS32 rev. 0 found at 0xfd9f0
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82441FX PCI and Memory Controller (PMC) (rev. 0x02)
fxp0 at pci0 dev 6 function 0: Intel i82557 Ethernet, rev 1
fxp0: interrupting at irq 10
fxp0: Ethernet address 00:a0:c9:06:ba:7c, 10/100 Mb/s
nsphy0 at fxp0 phy 1: DP83840 10/100 media interface, rev. 0
nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371SB PCI-to-ISA Bridge (PIIX3) (rev. 0x01)
pciide0 at pci0 dev 7 function 1: Intel 82371SB IDE Interface (PIIX3) (rev. 0x00)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
atapibus0 at pciide0 channel 0
cd0 at atapibus0 drive 0: <CD-516E, , 1.0C> type 5 cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2
pciide0: primary channel interrupting at irq 14
cd0(pciide0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
pciide0: disabling secondary channel (no drives)
uhci0 at pci0 dev 7 function 2: Intel 82371SB USB Host Controller (PIIX3) (rev. 0x01)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
ahc0 at pci0 dev 9 function 0
ahc0: interrupting at irq 10
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
scsibus0 at ahc0 channel 0: 16 targets, 8 luns per target
ahc1 at pci0 dev 17 function 0
ahc1: interrupting at irq 10
ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
scsibus1 at ahc1 channel 0: 16 targets, 8 luns per target
vga1 at pci0 dev 19 function 0: Matrox MGA Millennium 2064W ("Storm") (rev. 0x01)
wsdisplay0 at vga1: console (80x25, vt100 emulation)
isa0 at pcib0
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, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
lpt0 at isa0 port 0x378-0x37b irq 7
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
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: read port 0x203
isapnp0: <CS4236  Audio, CSC0000, , WSS/SB> port 0x534/4,0x388/4,0x220/16 irq 5 drq 1,0 not configured
joy0 at isapnp0 port 0x200/8
joy0: CS4236  Audio GAME
joy0: joystick not connected
isapnp0: <CS4236  Audio, CSC0010, , CTRL> port 0x120/8 not configured
isapnp0: <CS4236  Audio, CSC0003, , MPU> port 0x330/2 irq 9 not configured
biomask ef65 netmask ef65 ttymask ffe7
scsibus0: waiting 2 seconds for devices to settle...
ahc0: target 0 using 16bit transfers
ahc0: target 0 synchronous at 20.0MHz, offset = 0x8
ahc0: target 0 using tagged queuing
sd0 at scsibus0 target 0 lun 0: <COMPAQ, 4345SS, C424> SCSI2 0/direct fixed
sd0: 4094 MB, 4811 cyl, 11 head, 158 sec, 512 bytes/sect x 8386000 sectors
scsibus1: waiting 2 seconds for devices to settle...
IPsec: Initialized Security Association Processing.
boot device: sd0
root on sd0a dumps on sd0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0