Micron with CS4232 sound on mobo != sound

Micron with CS4232 sound on mobo != sound

Post by Brion Vibbe » Tue, 18 Aug 1998 04:00:00



I'm up setting Red Hat 5.1 on a Micron box with what is allegedly a
CrystalSound sound card of some sort on the motherboard. A similar
machine is working with the CS4232 driver, but this one simply does not
work for reasons unbeknownst to me. Unfortunately Micron doesn't seem to
believe that its customers need to know what is inside the machine, and
I can't seem to get any detail out of pnpdump or the Win98 drivers
(which do work) as far as what it actually is. (pnpdump claims it's a
"YMH0030 OPL3-SA3 Snd System", but what does that really tell me? The
OPL3-SA1 driver doesn't do anything either.)

The sound driver is initialized with no errors (either during boot if
compiled into the kernel or on module load), but no devices are actually
being found - cat /dev/sndstat reveals that only the system timer is a
usable driver. No sound, no midi, no mixer:

---
OSS/Free3.8s9-980302 (Mon Aug 17 13:53:20 PDT 1998 root,
Linux tintin.usc.edu 2.0.35 #1 Mon Aug 17 13:13:08 PDT 1998 i686
unknown)
Load type: Driver loaded as a module.
Kernel: Linux tintin.usc.edu 2.0.35 #1 Mon Aug 17 13:13:08 PDT 1998 i686
Config options: 0

Installed drivers:
Type 21: CS4232
Type 22: CS4232 MIDI
Type 1: OPL-2/OPL-3 FM
Type 5: Roland MPU-401
Type 26: MPU-401 (UART)

Card config:
CS4232 MIDI at 0x330 irq 9 drq 0
(CS4232 at 0x530 irq 5 drq 0,1)
(Roland MPU-401 at 0x330 irq 9 drq 0)
(OPL-2/OPL-3 FM at 0x388 drq 0)

Audio devices:

Synth devices:

Midi devices:

Timers:
0: System clock

Mixers:
---

Here's the /dev/sndstat from the machine that does work (but without
MIDI because of an IRQ conflict with the network card):

---
Sound Driver:3.5.4-960630 (Fri Aug 14 13:36:30 PDT 1998 root,
Linux bitter.usc.edu 2.0.35 #6 Sat Aug 8 14:11:56 PDT 1998 i686 unknown)
Kernel: Linux bitter.usc.edu 2.0.35 #10 Fri Aug 14 13:37:06 PDT 1998
i686
Config options: 0

Installed drivers:
Type 21: CS4232
Type 22: CS4232 MIDI
Type 1: OPL-2/OPL-3 FM

Card config:
(CS4232 MIDI at 0x330 irq 9 drq 0)
CS4232 at 0x530 irq 5 drq 0,3
OPL-2/OPL-3 FM at 0x388 drq 0

Audio devices:
0: CS4232 (CS4231) (DUPLEX)

Synth devices:
0: Yamaha OPL-3

Midi devices: NOT ENABLED IN CONFIG

Timers:
0: System clock
1: CS4232 (CS4231)

Mixers:
0: CS4232 (CS4231)
---

I've tried both the 2.0.34pre kernel that comes with RH5.1 and a clean
copy of 2.0.35, with the same results. I tried adding the latest
OSS/Free drivers - the same. I have also tried switching the order of
the DMA channels (0,1 and 1,0), using the default second DMA channel of
3 instead of the 1 that I think it should be, not including MIDI
support, and setting the I/O base to 0x534 as one person suggested might
help in a post I came across on DejaNews.

I tried an eval copy of OSS/Linux, but it doesn't seem to talk to the
card either... if I choose "Generic Crystal CS4232 based soundcard or
motherboard (non PnP)" I get "Error: Can't allocate IRQ for a device".
The three PnP settings can be selected without error but give the same
results on load as the above - that is, nothing actually is talking to
the card, and no sound works.

The settings shown above are taken from Win98's settings (except the
MIDI IRQ which I can't find anywhere), but since the machine needs to be
unplugged when going from Windows to Linux (a problem with the network
card), these settings might not be being preserved... I tried setting
PnP OS to no in the BIOS, but the video card (a Riva 128 of some
variety) doesn't work in that case. :(

Is there something I can do with isapnp to get this thing working? PnP
is a royal pain and shouldn't be necessary for something that you can't
plug in or out anyway! All suggestions are welcome, but helpful ones are
preferred. ;) Thanks in advance...


 
 
 

Micron with CS4232 sound on mobo != sound

Post by Phil DeBecke » Thu, 20 Aug 1998 04:00:00


What kind of Micron system is it?  And are you sure it does in fact have
the CS4232?  Is the CS4232 enabled in the BIOS (there is a setting for
"sound enabled" in the Peripheral Configuration part of the BIOS).

I have a brand new Millennia 400 (minitower, not microtower).  It does
indeed have the CS4232.  As of this weekend, I have it working fine under
RH5.1.   The short list of things to get it working perfectly is:

1) look in Windows 98's Hardware Manager and get the Resources for all the
different components of the sound card.  Mine worked out to something like
(I'm not on that machine right now) IO Base 0x534 IRQ 5 DMA 0, 3 (not sure
about the DMA) MIDI 0x330 IRQ 10.

2) run pnpdump > /etc/isapnp.conf.  Then edit isapnp.conf and uncomment the
configuration that matches your Windows 98 settings.  Mine turned out to be
the first set listed, the "preferred" settings.

3) get kernel 2.0.35, and install the OSSfree driver.  (This is the OSSfree
driver, not the eval version of OSS/Linux).  Do a make xconfig, enable
sound, and enable MPU401, MIDI, and CS4232 support.  I'm pretty sure I only
enabled those, and not the OPL2/OPL3 options.  Plug in the correct values
in the CS4232 section - you'll notice that the OSSfree suggests 0x534, not
0x530 as the 3.5 version in the kernel suggests.

4) build kernel, reboot, voila.

One thing I noticed - the OSSfree driver works as a module, but it seems to
reinitialize the card every time a sound is played as there is a loud POP!
from the speakers.  Building the driver directly into the kernel works much
better, as the sound is only initialized once (you should hear the
POP then...).

With the stock kernel drivers, sound worked but MIDI did not, and the mixer
was all screwed up (some channels didn't work, and other weirdness like the
CD being recognized as Line 2).   This was true whether or not I specified
0x530 or 0x534.  The OSSfree driver fixed all these issues.

Anyway, those are the things I did and now everything works fine for me.  I
think it's pretty crucial to use isapnp to set up the card properly.  I
left PNP Aware OS turned on in the BIOS, btw.

Good luck,
Phil


> I'm up setting Red Hat 5.1 on a Micron box with what is allegedly a
> CrystalSound sound card of some sort on the motherboard. A similar
> machine is working with the CS4232 driver, but this one simply does not
> work for reasons unbeknownst to me. Unfortunately Micron doesn't seem to
> believe that its customers need to know what is inside the machine, and
> I can't seem to get any detail out of pnpdump or the Win98 drivers
> (which do work) as far as what it actually is. (pnpdump claims it's a
> "YMH0030 OPL3-SA3 Snd System", but what does that really tell me? The
> OPL3-SA1 driver doesn't do anything either.)

> The sound driver is initialized with no errors (either during boot if
> compiled into the kernel or on module load), but no devices are actually
> being found - cat /dev/sndstat reveals that only the system timer is a
> usable driver. No sound, no midi, no mixer:

> ---
> OSS/Free3.8s9-980302 (Mon Aug 17 13:53:20 PDT 1998 root,
> Linux tintin.usc.edu 2.0.35 #1 Mon Aug 17 13:13:08 PDT 1998 i686
> unknown)
> Load type: Driver loaded as a module.
> Kernel: Linux tintin.usc.edu 2.0.35 #1 Mon Aug 17 13:13:08 PDT 1998 i686
> Config options: 0

> Installed drivers:
> Type 21: CS4232
> Type 22: CS4232 MIDI
> Type 1: OPL-2/OPL-3 FM
> Type 5: Roland MPU-401
> Type 26: MPU-401 (UART)

> Card config:
> CS4232 MIDI at 0x330 irq 9 drq 0
> (CS4232 at 0x530 irq 5 drq 0,1)
> (Roland MPU-401 at 0x330 irq 9 drq 0)
> (OPL-2/OPL-3 FM at 0x388 drq 0)

> Audio devices:

> Synth devices:

> Midi devices:

> Timers:
> 0: System clock

> Mixers:
> ---

> Here's the /dev/sndstat from the machine that does work (but without
> MIDI because of an IRQ conflict with the network card):

> ---
> Sound Driver:3.5.4-960630 (Fri Aug 14 13:36:30 PDT 1998 root,
> Linux bitter.usc.edu 2.0.35 #6 Sat Aug 8 14:11:56 PDT 1998 i686 unknown)
> Kernel: Linux bitter.usc.edu 2.0.35 #10 Fri Aug 14 13:37:06 PDT 1998
> i686
> Config options: 0

> Installed drivers:
> Type 21: CS4232
> Type 22: CS4232 MIDI
> Type 1: OPL-2/OPL-3 FM

> Card config:
> (CS4232 MIDI at 0x330 irq 9 drq 0)
> CS4232 at 0x530 irq 5 drq 0,3
> OPL-2/OPL-3 FM at 0x388 drq 0

> Audio devices:
> 0: CS4232 (CS4231) (DUPLEX)

> Synth devices:
> 0: Yamaha OPL-3

> Midi devices: NOT ENABLED IN CONFIG

> Timers:
> 0: System clock
> 1: CS4232 (CS4231)

> Mixers:
> 0: CS4232 (CS4231)
> ---

> I've tried both the 2.0.34pre kernel that comes with RH5.1 and a clean
> copy of 2.0.35, with the same results. I tried adding the latest
> OSS/Free drivers - the same. I have also tried switching the order of
> the DMA channels (0,1 and 1,0), using the default second DMA channel of
> 3 instead of the 1 that I think it should be, not including MIDI
> support, and setting the I/O base to 0x534 as one person suggested might
> help in a post I came across on DejaNews.

> I tried an eval copy of OSS/Linux, but it doesn't seem to talk to the
> card either... if I choose "Generic Crystal CS4232 based soundcard or
> motherboard (non PnP)" I get "Error: Can't allocate IRQ for a device".
> The three PnP settings can be selected without error but give the same
> results on load as the above - that is, nothing actually is talking to
> the card, and no sound works.

> The settings shown above are taken from Win98's settings (except the
> MIDI IRQ which I can't find anywhere), but since the machine needs to be
> unplugged when going from Windows to Linux (a problem with the network
> card), these settings might not be being preserved... I tried setting
> PnP OS to no in the BIOS, but the video card (a Riva 128 of some
> variety) doesn't work in that case. :(

> Is there something I can do with isapnp to get this thing working? PnP
> is a royal pain and shouldn't be necessary for something that you can't
> plug in or out anyway! All suggestions are welcome, but helpful ones are
> preferred. ;) Thanks in advance...




 
 
 

Micron with CS4232 sound on mobo != sound

Post by Phil DeBecke » Thu, 20 Aug 1998 04:00:00


OK, now I'm home and I can list out the relevant stuff.

Here we go.  First, the kernel configuration variables.  Keep in mind
this is with OSS/free, so the config options differ slightly from the
standard 2.0.35 kernel:

#
# Sound
#
CONFIG_SOUND=y                  <- Y not M!
# CONFIG_PAS is not set
# CONFIG_SB is not set
CONFIG_ADLIB=y                  <- Generic OPL2/OPL3
# CONFIG_GUS is not set
# CONFIG_MPU401 is not set
# CONFIG_PSS is not set
# CONFIG_GUS16 is not set
# CONFIG_GUSMAX is not set
# CONFIG_MSS is not set
# CONFIG_SSCAPE is not set
# CONFIG_TRIX is not set
# CONFIG_MAD16 is not set
CONFIG_CS4232=y                 <- Obviously...
# CONFIG_MAUI is not set
# CONFIG_OPL3SA1 is not set
# CONFIG_SOFTOSS is not set
# CONFIG_YM3812 is not set
CS4232_BASE=534
CS4232_IRQ=5
CS4232_DMA=1
CS4232_DMA2=3
CS4232_MPU_BASE=330
CS4232_MPU_IRQ=10
# CONFIG_LOWLEVEL_SOUND is not set

Here's the CSC0000 part of my /etc/isapnp.conf:

# Logical device id CSC0000
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be
changed if required
# Don't forget to uncomment the activate (ACT Y) when happy

(CONFIGURE CSC0b35/-1 (LD 0

# Multiple choice time, choose one only !

#     Start dependent functions: priority preferred
#       First DMA channel 1.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode
#             DMA channel speed type A
 (DMA 0 (CHANNEL 1))
#       Next DMA channel 0 or 3.
#             8 bit DMA only
#             Logical device is not a bus master
#             DMA may execute in count by byte mode
#             DMA may not execute in count by word mode#             DMA
channel speed type A (DMA 1 (CHANNEL 3))
#       IRQ 5.#             High true, edge sensitive interrupt (by
default)
 (INT 0 (IRQ 5 (MODE +E)))
#       Logical device decodes 16 bit IO address lines#            
Minimum IO base address 0x0534
#             Maximum IO base address 0x0534
#             IO base alignment 4 bytes
#             Number of IO addresses required: 4
 (IO 0 (BASE 0x0534))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0388
#             Maximum IO base address 0x0388
#             IO base alignment 8 bytes
#             Number of IO addresses required: 4
 (IO 1 (BASE 0x0388))
#       Logical device decodes 16 bit IO address lines
#             Minimum IO base address 0x0220
#             Maximum IO base address 0x0220
#             IO base alignment 32 bytes
#             Number of IO addresses required: 16
 (IO 2 (BASE 0x0220))

#       Start dependent functions: priority acceptable

< SNIP >

#     End dependent functions
 (ACT Y)
))
#
# Logical device id CSC0001

I did the same further down for the MPU portion of the sound card.
Again, this is much easier than it looks, since you just do pnpdump >
/etc/isapnp and then uncomment out the lines that look like (IO 2 (BASE
0x0220)) and (ACT Y) and such.  PNP is basically multiple choice; there
are only 3 or 4 combinations that the board will allow and you have to
pick one.  I was happy that the first one was the right one.

Here's my /dev/sndstat:

OSS/Free3.8s9-980302 (Mon Aug 17 23:02:35 EDT 1998 root,
Linux sycorax 2.0.35 #5 Mon Aug 17 22:47:29 EDT 1998 i686 unknown)
Load type: Driver compiled into kernel
Kernel: Linux sycorax 2.0.35 #6 Mon Aug 17 23:03:50 EDT 1998 i686
Config options: 0

Installed drivers:
Type 21: CS4232
Type 22: CS4232 MIDI
Type 26: MPU-401 (UART)

Card config:
CS4232 MIDI at 0x330 irq 10 drq 0
CS4232 at 0x534 irq 5 drq 1,3

Audio devices:
0: Crystal audio controller (CS4236) (DUPLEX)

Synth devices:

Midi devices:
0: MPU-401 (UART) MIDI

Timers:
0: System clock
1: Crystal audio controller (CS4236)

Mixers:
0: Crystal audio controller (CS4236)

This is probably more info than anyone needs, but hey.

Phil

---


> What kind of Micron system is it?  And are you sure it does in fact have
> the CS4232?  Is the CS4232 enabled in the BIOS (there is a setting for
> "sound enabled" in the Peripheral Configuration part of the BIOS).

> I have a brand new Millennia 400 (minitower, not microtower).  It does
> indeed have the CS4232.  As of this weekend, I have it working fine under
> RH5.1.   The short list of things to get it working perfectly is:

> 1) look in Windows 98's Hardware Manager and get the Resources for all the
> different components of the sound card.  Mine worked out to something like
> (I'm not on that machine right now) IO Base 0x534 IRQ 5 DMA 0, 3 (not sure
> about the DMA) MIDI 0x330 IRQ 10.

> 2) run pnpdump > /etc/isapnp.conf.  Then edit isapnp.conf and uncomment the
> configuration that matches your Windows 98 settings.  Mine turned out to be
> the first set listed, the "preferred" settings.

> 3) get kernel 2.0.35, and install the OSSfree driver.  (This is the OSSfree
> driver, not the eval version of OSS/Linux).  Do a make xconfig, enable
> sound, and enable MPU401, MIDI, and CS4232 support.  I'm pretty sure I only
> enabled those, and not the OPL2/OPL3 options.  Plug in the correct values
> in the CS4232 section - you'll notice that the OSSfree suggests 0x534, not
> 0x530 as the 3.5 version in the kernel suggests.

> 4) build kernel, reboot, voila.

> One thing I noticed - the OSSfree driver works as a module, but it seems to
> reinitialize the card every time a sound is played as there is a loud POP!
> from the speakers.  Building the driver directly into the kernel works much
> better, as the sound is only initialized once (you should hear the
> POP then...).

> With the stock kernel drivers, sound worked but MIDI did not, and the mixer
> was all screwed up (some channels didn't work, and other weirdness like the
> CD being recognized as Line 2).   This was true whether or not I specified
> 0x530 or 0x534.  The OSSfree driver fixed all these issues.

> Anyway, those are the things I did and now everything works fine for me.  I
> think it's pretty crucial to use isapnp to set up the card properly.  I
> left PNP Aware OS turned on in the BIOS, btw.

> Good luck,
> Phil

 
 
 

Micron with CS4232 sound on mobo != sound

Post by Brion Vibbe » Fri, 21 Aug 1998 04:00:00



> What kind of Micron system is it?

"Micron Millennia Xku" No numbers, all very mysterious....

[snip]

Quote:> I have a brand new Millennia 400 (minitower, not microtower).  It does
> indeed have the CS4232.  As of this weekend, I have it working fine under
> RH5.1.   The short list of things to get it working perfectly is:

[snip]

This seems to have done it, thanks!


[Disclaimer: My opinions are not necessarily those of my employers, but
if they offer to pay me this may change.]

 
 
 

Micron with CS4232 sound on mobo != sound

Post by Phil DeBecke » Sat, 22 Aug 1998 04:00:00





> [snip]

> > 3) get kernel 2.0.35, and install the OSSfree driver.  (This is the OSSfree
> > driver, not the eval version of OSS/Linux).  Do a make xconfig, enable
> > sound, and enable MPU401, MIDI, and CS4232 support.  I'm pretty sure I only
> > enabled those, and not the OPL2/OPL3 options.  Plug in the correct values
> > in the CS4232 section - you'll notice that the OSSfree suggests 0x534, not
> > 0x530 as the 3.5 version in the kernel suggests.

> Doesn't the CS4232 driver have MPU401 built in?  The help text says it does,
> and the help text on the MPU401 says not to enable it for deviced that have
> built-in support for it.

Er yes.  Read my followup post.  In the original post, I got the OPL2/OPL3 and
MPU401 reversed (that is, I had in fact enabled the OPL2/OPL3 and not enabled
the MPU401).  As I said, I was typing this from memory.  Sorry for any
confusion.  It turns out in any case that OPL2/OPL3 is not necessary and
enabling MPU401 doesn't *seem* to cause a conflict.  Sorry for any confusion...

Phil

 
 
 

Micron with CS4232 sound on mobo != sound

Post by Randal Carpente » Sat, 22 Aug 1998 04:00:00







> > [snip]

> > > 3) get kernel 2.0.35, and install the OSSfree driver.  (This is the
OSSfree
> > > driver, not the eval version of OSS/Linux).  Do a make xconfig,
enable
> > > sound, and enable MPU401, MIDI, and CS4232 support.  I'm pretty sure
I only
> > > enabled those, and not the OPL2/OPL3 options.  Plug in the correct
values
> > > in the CS4232 section - you'll notice that the OSSfree suggests
0x534, not
> > > 0x530 as the 3.5 version in the kernel suggests.

OSSFree is already in the linux kernel, so dont waste your time installing
it...just
run make config and build the darn kernel :)
o
o
o
o
o

o

o

o
o
o
o

 
 
 

Micron with CS4232 sound on mobo != sound

Post by Brion Vibbe » Sat, 22 Aug 1998 04:00:00



> OSSFree is already in the linux kernel, so dont waste your time installing
> it...just
> run make config and build the darn kernel :)

Yes, but an older version. Don't know if it makes that much of a
difference but the new version (3.8 something I think) works so I'll
stick with it for now.


[ Disclaimer blah blah blah. But I'm not on company time right now so
why bother disclaiming? ]

 
 
 

Micron with CS4232 sound on mobo != sound

Post by Phil DeBecke » Mon, 24 Aug 1998 04:00:00



> [snip]

> OSSFree is already in the linux kernel, so dont waste your time installing
> it...just
> run make config and build the darn kernel :)

Please read my post more carefully before replying.  The version of
OSSFree in the 2.0.35 kernel is OSSFree 3.5; I recommended getting the
newer 3.8 version which is NOT included in the kernel.  It does in fact
make a difference wrt this sound chipset (the mixer works properly,
fewer "popping" problems, etc).

Phil