Content Cleanup Required
This article should be cleaned-up to follow the content standards in the Wiki Guide. More info...


Many older devices are not probed (autodetected) by the 2.6 kernel to avoid hardware issues like crashes. You have to load the module yourself. Loading the correct module for your device will not cause your system to crash. Probing or loading the wrong one may. You may have to experiment. It is relatively easy to do. You need to tell the kernel to load the module. A module is a driver. I found this: http://www.icewalkers.com/Linux/Howto/BootPrompt-HOWTO-8.html I used the information to get my older sound card working.

Loading Module

For example, I opened my box and looked at the sound chip. It had ESS Audio Drive written on it (1899-45-68). I consulted the list and tried loading the ESS Audiodrive module by hand:

sudo modprobe snd-es18xx

To see if your card is working, run alsamixer. If you get sliders to move around, it is working.


That worked so, I added "snd-es18xx" to /etc/modules so that it would be loaded at boot time.

sudo nano /etc/modules

Ubuntu Dapper Drake will not load the the Crystal CS-4236 driver used in a Dell Optiplex GX1 (and others) by default. Adding the line


to the file /etc/modules and rebooting got this system working. Do read the documentation on sudo and nano, They are less intimidating than you might think.

I *think* you need to tell the kernel the sound settings in some circumstances (look in your bios for the values):

sudo modprobe opl3 port=0x220 irq=5 dma1=1

Another thing! Alsa sound is muted by default. Run alsamixer in the console to unmute your sound.


So, if you are unsure of the module, load it and run alsamixer. It will display the sound device it is using.

EXAMPLE SoundBlaster SB16 non PNP ISA card:

1. Add following line to the /etc/modules file. This will make the driver to load at boot time.

2. Add following line to the /etc/modprobe.d/alsa_local and /etc/modutils/alsa_local files.
options snd-sb16 isapnp=0 port=0x220 irq=5 dma8=1 dma16=5 mpu_port=0x330

Note! Propably alsa_local files does not exist so create them first.
Note! isapnp=0 will turn isapnp off so non pnp card can be found.

Perhaps /etc/modutils/alsa_local is not needed but I did not test.

You can test the driver and the options at alsa_local file without reboot:
sudo modprobe snd-sb16

Here is the text from the above mentioned website:

8. The Sound Drivers

Note that there was a rewrite of a lot of the sound core and related drivers. The older stuff is generally called OSS' and the newer is called ALSA'. The intention is to drop the OSS stuff eventually. To avoid name conflict, the ALSA stuff generally has `snd-' as a prefix to all the boot parameters.

Note that each driver has its own individual boot argument (very old kernels used a shared sound=). Also, generally no defaults are set at compile time (i.e. you must supply a boot argument for older non-PNP ISA cards to be detected.) Your best source of information for your card is the files in linux/Documentation/sound/.

8.1 Individual Sound Device Driver Arguments

ALSA ISA drivers

snd-dummy= Dummy soundcard

snd-mpu401= mpu401 UART

snd-mtpav= MOTU Midi Timepiece

snd-serial= Serial UART 16450/16550 MIDI

snd-virmidi= Dummy soundcard for virtual rawmidi devices

snd-ad1816a= ADI SoundPort AD1816A

snd-ad1848= Generic driver for AD1848/AD1847/CS4248

snd-als100= Avance Logic ALS100

snd-azt2320= Aztech Systems AZT2320 (and 2316)

snd-cmi8330= C-Media's CMI8330

snd-cs4231= Generic driver for CS4231 chips

snd-cs4232= Generic driver for CS4232 chips

snd-cs4236= Generic driver for CS4235/6/7/8/9 chips

snd-dt019x= Diamond Technologies DT-019x

snd-es1688= Generic ESS AudioDrive ESx688

snd-es18xx= Generic ESS AudioDrive ES18xx

snd-gusclassic= Gus classic

snd-gusextreme= Gus extreme

snd-gusmax= Gus Max

snd-interwave= Interwave

snd-interwave-stb= Interwave

snd-opl3sa2= Yamaha OPL3SA2

snd-opti93x= OPTi 82c93x based cards

snd-opti92x-cs4231= OPTi 82c92x/CS4231

snd-opti92x-ad1848= OPTi 82c92x/AD1848

snd-es968= ESS AudioDrive ES968

snd-sb16= SoundBlaster 16

snd-sbawe= SoundBlaster 16 AWE

snd-sb8= Old 8 bit SoundBlaster (1.0, 2.0, Pro)

snd-sgalaxy= Sound galaxy

snd-wavefront= Wavefront

OSS drivers

ad1848= AD1848

adlib= Adlib

mad16= MAD16

pas2= ProAudioSpectrum PAS16

sb= SoundBlaster

uart401= UART 401 (on card chip)

uart6850= UART 6850 (on card chip)

opl3= Yamaha OPL2/OPL3/OPL4 FM Synthesizer (on card chip)

opl3sa= Yamaha OPL3-SA FM Synthesizer (on card chip)

opl3sa2= Yamaha OPL3-SA2/SA3 FM Synthesizer (on card chip)

ALSA PCI Drivers

snd-ali5451= ALi PCI audio M5451

snd-als4000= Avance Logic ALS4000

snd-cmipci= C-Media CMI8338 and 8738

snd-cs4281= Cirrus Logic CS4281

snd-cs46xx= Cirrus Logic Sound Fusion CS46XX

snd-emu10k1= EMU10K1 (SB Live!)

snd-ens1370= Ensoniq ES1370 AudioPCI

snd-ens1371= Ensoniq ES1371 AudioPCI

snd-es1938= ESS Solo-1 (ES1938, ES1946, ES1969)

snd-es1968= ESS Maestro 1/2/2E

snd-fm801= ForteMedia FM801

snd-intel8x0= Intel ICH (i8x0) chipsets

snd-maestro3= ESS Maestro3/Allegro (ES1988)

snd-korg1212= Korg 1212 IO

snd-rme32= RME Digi32, Digi32/8 and Digi32 PRO

snd-nm256= NeoMagic 256AV and 256ZX

snd-rme96= RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST

snd-rme9652= RME Digi9652 audio interface

snd-hdsp= RME Hammerfall DSP

snd-sonicvibes= S3 SonicVibes

snd-trident= Trident 4DWave DX/NX & SiS SI7018

snd-via82xx= VIA South Bridge VT82C686A/B/C, VT8233A/C, VT8235

snd-ymfpci= Yamaha DS1/DS1E

snd-ice1712= ICEnsemble ICE1712 (Envy24)


After trying all of the steps listed here, my ES-1869 solution was actually rather simple: I went into my BIOS and set the IRQ manually. I had to retry a few times before I figured out the Slot numbering schema, but once I locked the sound card's slot to IRQ 5, the card was detected and works like it should. This also fixed the sound card stuttering problem I had.


HowToSetupSoundCards (last edited 2009-05-20 02:29:03 by gsawt)