ISAPNP and CRYSTAL Sound cards

wass at wass.homelinux.net wass at wass.homelinux.net
Mon Jul 8 16:19:00 CDT 2002


This is a brief explanation of how to get an ISAPNP Crystal sound card 
working.  The ISAPNP portion of this explanation may be used for any 
ISAPNP device.

1.  do a pnpdump to find possible configurations for your device:

pnpdump > pnpdump.out

2.  edit pnpdump.out and uncomment the lines that contain IRQ, IO, and DMA 
settings for your particular card.

3.  be sure to uncomment the line that reads "(ACT Y)".  This line 
activates your configuration.

4.  Copy the uncommented lines (in order) to /etc/isapnp.conf (if you do 
not already have a /etc/isapnp.conf file, or your /etc/isapnp.conf file is 
empty, you may copy your pnpdump.out file exactly as is to 
/etc/isapnp.conf)

5.  Check your init scripts to see if isapnp is run automatically at boot 
(I've found Slackware to do this automatically, but I had to manually add 
this for Mandrake.  These are the only two linucies I'm familiar with).

5a. Add the line "/sbin/isapnp /etc/isapnp.conf" to one of your init 
scripts.  Typically, if I'm doing this for a sound card, I'll add this 
line to the beginning of my sound script. but it shouldn't matter where 
you add this, as long as it gets executed before the modules for the 
device are inserted into the kernel.

----END OF INSTRUCTIONS FOR ISAPNP----

6.  Figure out which module is neeeded for your crystal sound card.  The 
one mine uses is the cs4232 module (even though my card is actually a 
cs4237).  

7.  At this point, you could go one of several ways.  1. edit 
/etc/modules.conf.  2. write your own setup script. (I prefer this method 
because it gives more control over the behavior of the modules).  I'll 
only discuss the second option here.  I'd suggest manually configuring 
your sound card first, then creating a script after you have it behaving 
properly.  At any point, you may start over by doing a "modprobe -r 
sound".  If any of these commands don't work, try using the opposite.  For 
instance, if modprobe fails, try an insmod, and vice versa.

7-1. Do a "modprobe sound"
7-2. Do a "modprobe ad1848"
7-3. Do a "insmod uart401"
7-4. Do a "insmod cs4232 io=0xXXX irq=X dma=X dma2=X" where all of the 
capital X's are your settings for your card... refer to your isapnp.conf 
for help.
7-5. Do a "insmod opl3 0xXXX" again, the X's are your configuration.

8. Try using soxmix or one of the other command line mixer apps or an X 
mixer (for those running X), and adjust the PCM sound up.  Now, make sure 
that any external volume controls are at a reasonable level.  Try playing 
something and see if you can hear anything.

9. Once you've verified your sound to be working.  You may wish to create 
an init script (or modify one already in your /etc/rc.d directory).  Here 
is a copy of my /etc/rc.d/rc.sound script:

#!/bin/sh
/sbin/modprobe sound
/sbin/modprobe ad1848
/sbin/insmod uart401
/sbin/insmod cs4232 io=0x534 irq=5 dma=1 dma2=3
/sbin/insmod opl3 0x388

And there you have it.  I know this is pretty crude, but if you have any 
questions, feel free to email me.

Thanks,

Wade




More information about the Kclug mailing list