个人工具

UbuntuHelp:HowToSetupSoundCards

来自Ubuntu中文

Wikibot讨论 | 贡献2007年11月30日 (五) 17:44的版本

跳转至: 导航, 搜索
  • NOTE *: 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.

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. 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.

alsamixer

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

snd-cs4236

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.

alsamixer

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.
snd-sb16
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
alsamixer

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)