Monday, August 4, 2008

Detecting Old Sound Card in Ubuntu

Many older devices are not automatically detected by the current 2.6 kernel series. This is done to avoid hardware issues such as crashes. Unfortunately if you have an older sound card, it means you need to roll your sleeves up and poke around to get it running. To do this you need to know which kernel module your card needs and then load the module yourself. Loading the correct module for your device will not cause your system to crash, but loading the wrong one may well do so. You may need to experiment with different modules.

Look for the model of sound card you have by referring to your computer's specifications, the name of the device in Windows (if applicable), or by opening the computer case and looking at the sound chip. You can use Google to match a chip's serial number with the chipset type. Here is a list of devices and the relevant kernel module:

• 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-es168 = 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
• 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)


When you have found the name of the module required, try loading it into the kernel:

foo@bar:~$ sudo modprobe themodule


If there is no error message, it may just be the right one! Run alsamixer to see if there is a sound device for it to configure:

foo@bar:~$ alsamixer


If the module is the wrong one, alsamixer will not allow you to set the sound parameters. If you can, add the module name to the /etc/modules file so that it gets loaded every time you boot:

foo@bar:~$ sudo gedit/etc/modules

Source of Information : The Official Ubuntu Book

No comments: