2 Advanced Linux Sound Architecture - Driver
3 ==========================================
10 To enable the ALSA support, at least you need to build the kernel with
11 the primary sound card support (CONFIG_SOUND). Since ALSA can emulate
12 the OSS, you don't have to choose any of the OSS/Free modules. Please
13 enable "OSS API emulation" (CONFIG_SND_OSSEMUL) and both OSS mixer and
14 PCM supports if you want to run the OSS application with the ALSA.
16 When you want to support the WaveTable functionality on some cards
17 such like SB Live!, you need to enable "Sequencer support"
18 (CONFIG_SND_SEQUENCER).
20 For getting more verbose debug messages, turn on "Verbose printk" and
21 "Debug" options. For checking the memory leaks, you can turn on
22 "Debug memory" option, too. "Debug detection" will put more
23 additional checks for the detection of cards.
25 Please note that all the ALSA ISA drivers support Linux isapnp API (if
26 the card supports). You don't need to configure the PnP via
33 Use the /dev/MAKEDEV script to create the nessecary device nodes.
39 A user can modify or set parameters at the load time of the module. If
40 the module supports more cards and you have got more than one card
41 of the same type, you may simply specify more values for the parameter,
44 Note that module option names were changed in 0.9.0rc4. The 'snd_'
50 The module snd is the ALSA core module, which is used by all ALSA
51 card drivers. This takes the global options for creating devices,
54 major - major # for sound driver
57 - specifies card limit # for auto-loading (1-8)
59 - for auto-loading more than 1 card, specify this option
60 together with snd-card-X aliases.
62 - specifies permission mask for dynamic sound device filesystem
63 (available only when DEVFS is enabled)
64 - default value = 0666
65 - for example 'device_mode=0660'
71 The PCM OSS emulation module.
72 This module takes the options to change the mapping of devices.
74 dsp_map - PCM device number maps assigned to the 1st OSS device.
76 adsp_map - PCM device number maps assigned to the 2st OSS device.
78 nonblock_open - Don't block opening busy PCM devices.
80 For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of
81 the card #0. Similarly, when adsp_map=0, /dev/adsp will be mapped
82 to PCM #0 of the card #0.
83 For changing the second or later card, specify the option with
84 commas, such like "dsp_map=0,1".
86 nonblock_open option is used to change the behavior of the PCM
87 regarding opening the device. When this option is non-zero,
88 opening a busy OSS PCM device won't be blocked but return
89 immediately with EAGAIN (just like O_NONBLOCK flag).
94 This module takes the options to change the mapping of OSS
95 devices like snd-pcm-oss module.
97 midi_map - MIDI device number maps assigned to the 1st OSS device.
99 amidi_map - MIDI device number maps assigned to the 2st OSS device.
102 Common parameters for top soundcard modules
103 -------------------------------------------
105 Each of top-level soundcard module takes some general options,
107 index - 0-7 - index (slot #) for soundcard
108 - if not set or -1, first free index (slot #) is assigned
109 id - user identification for card (up to 15 chars)
110 - default expression is 'card<index>' (for example card1)
111 - value is used for /proc/asound filesystem
112 - this value can be used by applications for identification
113 of card if user does not want identify card with index number
114 enable - enable card. (all cards enabled for PCI and ISA PnP cards
120 Module for soundcards based on Analog Devices AD1816A/AD1815 ISA chips.
122 port - port # for AD1816A chip (PnP setup)
123 mpu_port - port # for MPU-401 UART (PnP setup)
124 fm_port - port # for OPL3 (PnP setup)
125 irq - IRQ # for AD1816A chip (PnP setup)
126 mpu_irq - IRQ # for MPU-401 UART (PnP setup)
127 dma1 - first DMA # for AD1816A chip (PnP setup)
128 dma2 - second DMA # for AD1816A chip (PnP setup)
130 Module supports up to 8 cards, autoprobe and PnP.
135 Module for soundcards based on AD1848/AD1847/CS4248 ISA chips.
137 port - port # for AD1848 chip
138 irq - IRQ # for AD1848 chip
139 dma1 - DMA # for AD1848 chip (0,1,3)
141 Module supports up to 8 cards. This module does not support autoprobe
142 thus main port must be specified!!! Other ports are optional.
147 Module for ALi M5451 PCI chip.
149 pcm_channels - Number of hardware channels assigned for PCM
150 spdif - Support SPDIF I/O (disabled by default)
152 Module supports autoprobe and multiple chips (max 8).
154 The power-management is supported.
159 Module for soundcards based on Avance Logic ALS100/ALS120 ISA chips.
161 port - port # for ALS100 (SB16) chip (PnP setup)
162 irq - IRQ # for ALS100 (SB16) chip (PnP setup)
163 dma8 - 8-bit DMA # for ALS100 (SB16) chip (PnP setup)
164 dma16 - 16-bit DMA # for ALS100 (SB16) chip (PnP setup)
165 mpu_port - port # for MPU-401 UART (PnP setup)
166 mpu_irq - IRQ # for MPU-401 (PnP setup)
167 fm_port - port # for OPL3 FM (PnP setup)
169 Module supports up to 8 cards, autoprobe and PnP.
174 Module for soundcards based on Avance Logic ALS4000 PCI chip.
176 joystick_port - port # for legacy joystick support.
177 0 = disabled (default), 1 = auto-detect
179 Module supports up to 8 cards, autoprobe and PnP.
184 Module for ATI IXP 150/200/250 AC97 controllers.
186 ac97_clock - AC'97 clock (defalut = 48000)
187 spdif_aclink - S/PDIF transfer over AC-link (default = 1)
189 This module supports up to 8 cards and autoprobe.
191 Module snd-au8810, snd-au8820, snd-au8830
192 -----------------------------------------
194 Module for Aureal Vortex, Vortex2 and Advantage device.
196 pcifix - Control PCI workarounds
197 0 = Disable all workarounds
198 1 = Force the PCI latency of the Aureal card to 0xff
199 2 = Force the Extend PCI#2 Internal Master for Efficient
200 Handling of Dummy Requests on the VIA KT133 AGP Bridge
201 3 = Force both settings
202 255 = Autodetect what is required (default)
204 This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
205 EQ, mpu401, gameport. A3D and wavetable support are still in development.
206 Development and reverse engineering work is being coordinated at
207 http://savannah.nongnu.org/projects/openvortex/
208 SPDIF output has a copy of the AC97 codec output, unless you use the
209 "spdif" pcm device, which allows raw data passthru.
210 The hardware EQ hardware and SPDIF is only present in the Vortex2 and
213 Note: Some ALSA mixer applicactions don't handle the SPDIF samplerate
214 control correctly. If you have problems regarding this, try
215 another ALSA compliant mixer (alsamixer works).
220 Module for soundcards based on Aztech System AZT2320 ISA chip (PnP only).
222 port - port # for AZT2320 chip (PnP setup)
223 wss_port - port # for WSS (PnP setup)
224 mpu_port - port # for MPU-401 UART (PnP setup)
225 fm_port - FM port # for AZT2320 chip (PnP setup)
226 irq - IRQ # for AZT2320 (WSS) chip (PnP setup)
227 mpu_irq - IRQ # for MPU-401 UART (PnP setup)
228 dma1 - 1st DMA # for AZT2320 (WSS) chip (PnP setup)
229 dma2 - 2nd DMA # for AZT2320 (WSS) chip (PnP setup)
231 Module supports up to 8 cards, PnP and autoprobe.
236 Module for soundcards based on Aztech AZF3328 PCI chip.
238 joystick - Enable joystick (default off)
240 Module supports up to 8 cards.
245 Module for video cards based on Bt87x chips.
247 digital_rate - Override the default digital rate (Hz)
249 Module supports up to 8 cards.
254 Module for soundcards based on C-Media CMI8330 ISA chips.
256 wssport - port # for CMI8330 chip (WSS)
257 wssirq - IRQ # for CMI8330 chip (WSS)
258 wssdma - first DMA # for CMI8330 chip (WSS)
259 sbport - port # for CMI8330 chip (SB16)
260 sbirq - IRQ # for CMI8330 chip (SB16)
261 sbdma8 - 8bit DMA # for CMI8330 chip (SB16)
262 sbdma16 - 16bit DMA # for CMI8330 chip (SB16)
264 Module supports up to 8 cards and autoprobe.
269 Module for C-Media CMI8338 and 8738 PCI soundcards.
271 mpu_port - 0x300,0x310,0x320,0x330, 0 = disable (default)
272 fm_port - 0x388 (default), 0 = disable (default)
273 soft_ac3 - Sofware-conversion of raw SPDIF packets (model 033 only)
275 joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
277 Module supports autoprobe and multiple chips (max 8).
282 Module for soundcards based on CS4231 ISA chips.
284 port - port # for CS4231 chip
285 mpu_port - port # for MPU-401 UART (optional), -1 = disable
286 irq - IRQ # for CS4231 chip
287 mpu_irq - IRQ # for MPU-401 UART
288 dma1 - first DMA # for CS4231 chip
289 dma2 - second DMA # for CS4231 chip
291 Module supports up to 8 cards. This module does not support autoprobe
292 thus main port must be specified!!! Other ports are optional.
294 The power-management is supported.
299 Module for soundcards based on CS4232/CS4232A ISA chips.
301 port - port # for CS4232 chip (PnP setup - 0x534)
302 cport - control port # for CS4232 chip (PnP setup - 0x120,0x210,0xf00)
303 mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
304 fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
305 irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
306 mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
307 dma1 - first DMA # for CS4232 chip (0,1,3)
308 dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
309 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
311 Module supports up to 8 cards. This module does not support autoprobe
312 thus main port must be specified!!! Other ports are optional.
314 The power-management is supported.
319 Module for soundcards based on CS4235/CS4236/CS4236B/CS4237B/
320 CS4238B/CS4239 ISA chips.
322 port - port # for CS4236 chip (PnP setup - 0x534)
323 cport - control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
324 mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
325 fm_port - FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
326 irq - IRQ # for CS4236 chip (5,7,9,11,12,15)
327 mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
328 dma1 - first DMA # for CS4236 chip (0,1,3)
329 dma2 - second DMA # for CS4236 chip (0,1,3), -1 = disable
330 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
332 Module supports up to 8 cards. This module does not support autoprobe
333 (if ISA PnP is not used) thus main port and control port must be
334 specified!!! Other ports are optional.
336 The power-management is supported.
341 Module for Cirrus Logic CS4281 soundchip.
343 dual_codec - Secondary codec ID (0 = disable, default)
345 Module supports up to 8 cards.
347 The power-management is supported.
352 Module for PCI soundcards based on CS4610/CS4612/CS4614/CS4615/CS4622/
353 CS4624/CS4630/CS4280 PCI chips.
355 external_amp - Force to enable external amplifer.
356 thinkpad - Force to enable Thinkpad's CLKRUN control.
357 mmap_valid - Support OSS mmap mode (default = 0).
359 Module supports up to 8 cards and autoprobe.
360 Usually external amp and CLKRUN controls are detected automatically
361 from PCI sub vendor/device ids. If they don't work, give the options
364 The power-management is supported.
369 Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
372 port - Port # (PnP setup)
373 mpu_port - Port # for MPU-401 (PnP setup)
374 fm_port - Port # for FM OPL-3 (PnP setup)
375 irq - IRQ # (PnP setup)
376 mpu_irq - IRQ # for MPU-401 (PnP setup)
377 dma8 - DMA # (PnP setup)
379 Module supports up to 8 cards. This module is enabled only with
385 Module for the dummy soundcard. This soundcard doesn't do any output
386 or input, but you may use this module for any application which
387 requires a soundcard (like RealPlayer).
392 Module for EMU10K1/EMU10k2 based PCI soundcards.
393 * Sound Blaster Live!
394 * Sound Blaster PCI 512
395 * Emu APS (partially supported)
396 * Sound Blaster Audigy
398 extin - bitmap of available external inputs for FX8010 (see bellow)
399 extout - bitmap of available external outputs for FX8010 (see bellow)
400 seq_ports - allocated sequencer ports (4 by default)
401 max_synth_voices - limit of voices used for wavetable (64 by default)
402 max_buffer_size - specifies the maximum size of wavetable/pcm buffers
403 given in MB unit. Default value is 128.
404 enable_ir - enable IR
406 Module supports up to 8 cards and autoprobe.
408 Input & Output configurations [extin/extout]
409 * Creative Card wo/Digital out [0x0003/0x1f03]
410 * Creative Card w/Digital out [0x0003/0x1f0f]
411 * Creative Card w/Digital CD in [0x000f/0x1f0f]
412 * Creative Card wo/Digital out + LiveDrive [0x3fc3/0x1fc3]
413 * Creative Card w/Digital out + LiveDrive [0x3fc3/0x1fcf]
414 * Creative Card w/Digital CD in + LiveDrive [0x3fcf/0x1fcf]
415 * Creative Card wo/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]
416 * Creative Card w/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]
417 * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
418 * Creative Card 5.1/w Digital out + LiveDrive [0x3fc3/0x1fff]
419 * Creative Card all ins and outs [0x3fff/0x1fff]
424 Module for Ensoniq AudioPCI ES1370 PCI soundcards.
425 * SoundBlaster PCI 64
426 * SoundBlaster PCI 128
428 joystick - Enable joystick (default off)
430 Module supports up to 8 cards and autoprobe.
435 Module for Ensoniq AudioPCI ES1371 PCI soundcards.
436 * SoundBlaster PCI 64
437 * SoundBlaster PCI 128
438 * SoundBlaster Vibra PCI
440 joystick_port - port # for joystick (0x200,0x208,0x210,0x218),
441 0 = disable (default), 1 = auto-detect
443 Module supports up to 8 cards and autoprobe.
448 Module for soundcards based on ESS ES968 chip (PnP only).
450 port - port # for ES968 (SB8) chip (PnP setup)
451 irq - IRQ # for ES968 (SB8) chip (PnP setup)
452 dma1 - DMA # for ES968 (SB8) chip (PnP setup)
454 Module supports up to 8 cards, PnP and autoprobe.
459 Module for ESS AudioDrive ES-1688 and ES-688 soundcards.
461 port - port # for ES-1688 chip (0x220,0x240,0x260)
462 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
463 irq - IRQ # for ES-1688 chip (5,7,9,10)
464 mpu_irq - IRQ # for MPU-401 port (5,7,9,10)
465 dma8 - DMA # for ES-1688 chip (0,1,3)
467 Module supports up to 8 cards and autoprobe (without MPU-401 port).
472 Module for ESS AudioDrive ES-18xx soundcards.
474 port - port # for ES-18xx chip (0x220,0x240,0x260)
475 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
476 fm_port - port # for FM (optional, not used)
477 irq - IRQ # for ES-18xx chip (5,7,9,10)
478 dma1 - first DMA # for ES-18xx chip (0,1,3)
479 dma2 - first DMA # for ES-18xx chip (0,1,3)
480 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
482 Module supports up to 8 cards ISA PnP and autoprobe (without MPU-401 port
483 if native ISA PnP routines are not used).
484 When dma2 is equal with dma1, the driver works as half-duplex.
486 The power-management is supported.
491 Module for soundcards based on ESS Solo-1 (ES1938,ES1946) chips.
493 Module supports up to 8 cards and autoprobe.
498 Module for soundcards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
500 total_bufsize - total buffer size in kB (1-4096kB)
501 pcm_substreams_p - playback channels (1-8, default=2)
502 pcm_substreams_c - capture channels (1-8, default=0)
503 clock - clock (0 = auto-detection)
504 use_pm - support the power-management (0 = off, 1 = on,
506 enable_mpu - enable MPU401 (0 = off, 1 = on, 2 = auto (default))
507 joystick - enable joystick (default off)
509 Module supports up to 8 cards and autoprobe.
511 The power-management is supported.
516 Module for ForteMedia FM801 based PCI soundcards.
518 Module supports up to 8 cards and autoprobe.
520 Module snd-gusclassic
521 ---------------------
523 Module for Gravis UltraSound Classic soundcard.
525 port - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
526 irq - IRQ # for GF1 chip (3,5,9,11,12,15)
527 dma1 - DMA # for GF1 chip (1,3,5,6,7)
528 dma2 - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
529 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
530 voices - GF1 voices limit (14-32)
531 pcm_voices - reserved PCM voices
533 Module supports up to 8 cards and autoprobe.
535 Module snd-gusextreme
536 ---------------------
538 Module for Gravis UltraSound Extreme (Synergy ViperMax) soundcard.
540 port - port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
541 gf1_port - port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
542 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
543 irq - IRQ # for ES-1688 chip (5,7,9,10)
544 gf1_irq - IRQ # for GF1 chip (3,5,9,11,12,15)
545 mpu_irq - IRQ # for MPU-401 port (5,7,9,10)
546 dma8 - DMA # for ES-1688 chip (0,1,3)
547 dma1 - DMA # for GF1 chip (1,3,5,6,7)
548 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
549 voices - GF1 voices limit (14-32)
550 pcm_voices - reserved PCM voices
552 Module supports up to 8 cards and autoprobe (without MPU-401 port).
557 Module for Gravis UltraSound MAX soundcard.
559 port - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
560 irq - IRQ # for GF1 chip (3,5,9,11,12,15)
561 dma1 - DMA # for GF1 chip (1,3,5,6,7)
562 dma2 - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
563 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
564 voices - GF1 voices limit (14-32)
565 pcm_voices - reserved PCM voices
567 Module supports up to 8 cards and autoprobe.
572 Module for RME Hammerfall DSP audio interface(s)
574 precise_ptr - Enable precise pointer (doesn't work reliably).
576 line_outs_monitor - Send all input and playback streams to line outs
577 by default. (default = 0)
578 force_firmware - Force a reload of the I/O box firmware
581 Module supports up to 8 cards.
583 Note: you need to load the firmware via hdsploader utility included
584 in alsa-tools and alsa-firmware packages.
586 Note: snd-page-alloc module does the job which snd-hammerfall-mem
587 module did formerly. It will allocate the buffers in advance
588 when any HDSP cards are found. To make the buffer
589 allocation sure, load snd-page-alloc module in the early
590 stage of boot sequence.
595 Module for Envy24 (ICE1712) based PCI soundcards.
596 * MidiMan M Audio Delta 1010
597 * MidiMan M Audio Delta 1010LT
598 * MidiMan M Audio Delta DiO 2496
599 * MidiMan M Audio Delta 66
600 * MidiMan M Audio Delta 44
601 * MidiMan M Audio Delta 410
602 * MidiMan M Audio Audiophile 2496
607 * Hoontech SoundTrack DSP 24
608 * Hoontech SoundTrack DSP 24 Value
609 * Hoontech SoundTrack DSP 24 Media 7.1
612 omni - Omni I/O support for MidiMan M-Audio Delta44/66
613 cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transciever)
614 in msec resolution, default value is 500 (0.5 sec)
616 Module supports up to 8 cards and autoprobe. Note: The consumer part
617 is not used with all Envy24 based cards (for example in the MidiMan Delta
623 Module for Envy24HT (VT/ICE1724) based PCI soundcards.
624 * MidiMan M Audio Revolution 7.1
626 * TerraTec Aureon Sky-5.1, Space-7.1
628 Module supports up to 8 cards and autoprobe.
633 Module for AC'97 motherboards from Intel and compatibles.
634 * Intel i810/810E, i815, i820, i830, i84x, MX440
636 * NVidia NForce, NForce2
637 * AMD AMD768, AMD8111
640 ac97_clock - AC'97 codec clock base (0 = auto-detect)
641 joystick - Enable joystick (default off)
642 mpu_port - MPU401 port # (0 = disabled, 0x330,0x300)
643 ac97_quirk - AC'97 workaround for strange hardware (-1 = default)
644 -1 = default, don't override
646 1 = use headphone control as master
647 2 = swap headphone and master controls
648 3 = for AD1985, turn on OMS bit and use headphone
649 4 = for ALC65x, turn on the jack sense mode
651 Module supports autoprobe and multiple bus-master chips (max 8).
653 Note: the latest driver supports auto-detection of chip clock.
654 if you still encounter too fast playback, specify the clock
655 explicitly via the module option "ac97_clock=41194".
657 The joystick and MPU-401 are supported only certain hardwares.
658 MPU401 is experimental, It doesn't work perfectly.
660 The ac97_quirk option is used to enable/override the workaround
661 for specific devices. Some hardware have swapped output pins
662 between Master and Headphone, or Surround. The driver provides
663 the auto-detection of known problematic devices, but some might
664 be unknown or wrongly detected. In such a case, pass the proper
665 value with this option.
667 The power-management is supported.
672 Module for Intel ICH (i8x0) chipset MC97 modems.
674 ac97_clock - AC'97 codec clock base (0 = auto-detect)
676 This module supports up to 8 cards and autoprobe.
681 Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
682 and other soundcards based on AMD InterWave (tm) chip.
684 port - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
685 irq - IRQ # for InterWave chip (3,5,9,11,12,15)
686 dma1 - DMA # for InterWave chip (0,1,3,5,6,7)
687 dma2 - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
688 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
689 midi - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
690 pcm_voices - reserved PCM voices for the synthesizer (default 2)
691 effect - 1 = InterWave effects enable (default 0);
694 Module supports up to 8 cards, autoprobe and ISA PnP.
696 Module snd-interwave-stb
697 ------------------------
699 Module for UltraSound 32-Pro (soundcard from STB used by Compaq)
700 and other soundcards based on AMD InterWave (tm) chip with TEA6330T
701 circuit for extended control of bass, treble and master volume.
703 port - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
704 port_tc - tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
705 irq - IRQ # for InterWave chip (3,5,9,11,12,15)
706 dma1 - DMA # for InterWave chip (0,1,3,5,6,7)
707 dma2 - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
708 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
709 midi - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
710 pcm_voices - reserved PCM voices for the synthesizer (default 2)
711 effect - 1 = InterWave effects enable (default 0);
714 Module supports up to 8 cards, autoprobe and ISA PnP.
719 Module for Korg 1212 IO PCI card
721 Module supports up to 8 cards.
726 Module for Allegro/Maestro3 chips
728 external_amp - enable external amp (enabled by default)
729 amp_gpio - GPIO pin number for external amp (0-15) or
730 -1 for default pin (8 for allegro, 1 for
733 Module supports autoprobe and multiple chips (max 8).
735 Note: the binding of amplifier is dependent on hardware.
736 If there is no sound even though all channels are unmuted, try to
737 specify other gpio connection via amp_gpio option.
738 For example, a Panasonic notebook might need "amp_gpio=0x0d"
741 The power-management is supported.
746 Module for Digigram miXart8 soundcards.
748 Module supports multiple cards.
749 Note: One miXart8 board will be represented as 4 alsa cards.
750 See MIXART.txt for details.
755 Module for MPU-401 UART devices.
757 port - port number or -1 (disable)
758 irq - IRQ number or -1 (disable)
759 acpipnp - ACPI PnP detection - 0 = disable, 1 = enable (default)
761 Module supports multiple devices (max 8) and ACPI PnP. If PnP is not
762 used (or ACPI not enabled), port and irq must be specified.
767 Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
770 port - I/O port # for MTPAV (0x378,0x278, default=0x378)
771 irq - IRQ # for MTPAV (7,5, default=7)
772 hwports - number of supported hardware ports, default=8.
774 Module supports only 1 card. This module has no enable option.
779 Module for NeoMagic NM256AV/ZX chips
781 playback_bufsize - max playback frame size in kB (4-128kB)
782 capture_bufsize - max capture frame size in kB (4-128kB)
783 force_ac97 - 0 or 1 (disabled by default)
784 buffer_top - specify buffer top address
785 use_cache - 0 or 1 (disabled by default)
786 vaio_hack - alias buffer_top=0x25a800
788 Module supports autoprobe and multiple chips (max 8).
790 Note: on some notebooks the buffer address cannot be detected
791 automatically, or causes hang-up during initialization.
792 In such a case, specify the buffer top address explicity via
795 Sony F250: buffer_top=0x25a800
796 Sony F270: buffer_top=0x272800
797 The driver supports only ac97 codec. It's possible to force
798 to initialize/use ac97 although it's not detected. In such a
799 case, use force_ac97=1 option.
801 The power-management is supported.
806 Module for Yamaha OPL3-SA2/SA3 soundcards.
808 port - control port # for OPL3-SA chip (0x370)
809 sb_port - SB port # for OPL3-SA chip (0x220,0x240)
810 wss_port - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
811 midi_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
812 fm_port - FM port # for OPL3-SA chip (0x388), -1 = disable
813 irq - IRQ # for OPL3-SA chip (5,7,9,10)
814 dma1 - first DMA # for Yamaha OPL3-SA chip (0,1,3)
815 dma2 - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
816 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
818 Module supports up to 8 cards and ISA PnP. This module does not support
819 autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
821 The power-management is supported.
823 Module snd-opti92x-ad1848
824 -------------------------
826 Module for soundcards based on OPTi 82c92x and Analog Devices AD1848 chips.
827 Module works with OAK Mozart cards as well.
829 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
830 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
831 fm_port - port # for OPL3 device (0x388)
832 irq - IRQ # for WSS chip (5,7,9,10,11)
833 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
834 dma1 - first DMA # for WSS chip (0,1,3)
836 This module supports only one card, autoprobe and PnP.
838 Module snd-opti92x-cs4231
839 -------------------------
841 Module for soundcards based on OPTi 82c92x and Crystal CS4231 chips.
843 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
844 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
845 fm_port - port # for OPL3 device (0x388)
846 irq - IRQ # for WSS chip (5,7,9,10,11)
847 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
848 dma1 - first DMA # for WSS chip (0,1,3)
849 dma2 - second DMA # for WSS chip (0,1,3)
851 This module supports only one card, autoprobe and PnP.
856 Module for soundcards based on OPTi 82c93x chips.
858 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
859 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
860 fm_port - port # for OPL3 device (0x388)
861 irq - IRQ # for WSS chip (5,7,9,10,11)
862 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
863 dma1 - first DMA # for WSS chip (0,1,3)
864 dma2 - second DMA # for WSS chip (0,1,3)
866 This module supports only one card, autoprobe and PnP.
868 Module snd-powermac (on ppc only)
869 ---------------------------------
871 Module for PowerMac, iMac and iBook on-board soundchips
873 enable_beep - enable beep using PCM (enabled as default)
875 Module supports autoprobe a chip.
877 Note: the driver may have problems regarding endianess.
879 The power-management is supported.
884 Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32,
885 Prodif96 and Prodif Gold) soundcards.
887 Module supports up to 8 cards.
892 Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST soundcards.
894 Module supports up to 8 cards.
899 Module for RME Digi9652 (Hammerfall, Hammerfall-Light) soundcards.
901 precise_ptr - Enable precise pointer (doesn't work reliably).
904 Module supports up to 8 cards.
906 Note: snd-page-alloc module does the job which snd-hammerfall-mem
907 module did formerly. It will allocate the buffers in advance
908 when any RME9652 cards are found. To make the buffer
909 allocation sure, load snd-page-alloc module in the early
910 stage of boot sequence.
912 Module snd-sa11xx-uda1341 (on arm only)
913 ---------------------------------------
915 Module for Philips UDA1341TS on Compaq iPAQ H3600 soundcard.
917 Module supports only one card.
918 Module has no enable and index options.
923 Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
927 port - port # for SB DSP chip (0x220,0x240,0x260)
928 irq - IRQ # for SB DSP chip (5,7,9,10)
929 dma8 - DMA # for SB DSP chip (1,3)
931 Module supports up to 8 cards and autoprobe.
933 Module snd-sb16 and snd-sbawe
934 -----------------------------
936 Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
937 SoundBlaster AWE 32 (PnP),
938 SoundBlaster AWE 64 PnP
940 port - port # for SB DSP 4.x chip (0x220,0x240,0x260)
941 mpu_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
942 awe_port - base port # for EMU8000 synthesizer (0x620,0x640,0x660)
943 (snd-sbawe module only)
944 irq - IRQ # for SB DSP 4.x chip (5,7,9,10)
945 dma8 - 8-bit DMA # for SB DSP 4.x chip (0,1,3)
946 dma16 - 16-bit DMA # for SB DSP 4.x chip (5,6,7)
947 mic_agc - Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
948 csp - ASP/CSP chip support - 0 = disable (default), 1 = enable
949 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
951 Module supports up to 8 cards, autoprobe and ISA PnP.
953 Note: To use Vibra16X cards in 16-bit half duplex mode, you must
954 disable 16bit DMA with dma16 = -1 module parameter.
955 Also, all Sound Blaster 16 type cards can operate in 16-bit
956 half duplex mode through 8-bit DMA channel by disabling their
962 Module for Aztech Sound Galaxy soundcard.
964 sbport - Port # for SB16 interface (0x220,0x240)
965 wssport - Port # for WSS interface (0x530,0xe80,0xf40,0x604)
966 irq - IRQ # (7,9,10,11)
969 Module supports up to 8 cards.
974 Module for ENSONIQ SoundScape PnP cards.
976 port - Port # (PnP setup)
977 irq - IRQ # (PnP setup)
978 mpu_irq - MPU-401 IRQ # (PnP setup)
979 dma - DMA # (PnP setup)
981 Module supports up to 8 cards. ISA PnP must be enabled.
982 You need sscape_ctl tool in alsa-tools package for loading
985 Module snd-sun-amd7930 (on sparc only)
986 --------------------------------------
988 Module for AMD7930 sound chips found on Sparcs.
990 Module supports up to 8 cards.
992 Module snd-sun-cs4231 (on sparc only)
993 -------------------------------------
995 Module for CS4231 sound chips found on Sparcs.
997 Module supports up to 8 cards.
1000 --------------------
1002 Module for Turtle Beach Maui, Tropez and Tropez+ soundcards.
1004 cs4232_pcm_port - Port # for CS4232 PCM interface.
1005 cs4232_pcm_irq - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1006 cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1007 cs4232_mpu_irq - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1008 use_cs4232_midi - Use CS4232 MPU-401 interface
1009 (inaccessibly located inside your computer)
1010 ics2115_port - Port # for ICS2115
1011 ics2115_irq - IRQ # for ICS2115
1012 fm_port - FM OPL-3 Port #
1013 dma1 - DMA1 # for CS4232 PCM interface.
1014 dma2 - DMA2 # for CS4232 PCM interface.
1015 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
1017 Module supports up to 8 cards and ISA PnP.
1019 Module snd-sonicvibes
1020 ---------------------
1022 Module for S3 SonicVibes PCI soundcards.
1023 * PINE Schubert 32 PCI
1025 reverb - Reverb Enable - 1 = enable, 0 = disable (default)
1026 - SoundCard must have onboard SRAM for this.
1027 mge - Mic Gain Enable - 1 = enable, 0 = disable (default)
1029 Module supports up to 8 cards and autoprobe.
1031 Module snd-serial-u16550
1032 ------------------------
1034 Module for UART16550A serial MIDI ports.
1036 port - port # for UART16550A chip
1037 irq - IRQ # for UART16550A chip, -1 = poll mode
1038 speed - speed in bauds (9600,19200,38400,57600,115200)
1040 base - base for divisor in bauds (57600,115200,230400,460800)
1042 outs - number of MIDI ports in a serial port (1-4)
1044 adaptor - Type of adaptor.
1045 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1046 3 = MS-124W M/B, 4 = Generic
1048 Module supports up to 8 cards. This module does not support autoprobe
1049 thus the main port must be specified!!! Other options are optional.
1054 Module for Trident 4DWave DX/NX soundcards.
1055 * Best Union Miss Melody 4DWave PCI
1057 * Warpspeed ONSpeed 4DWave PCI
1060 * CHIC True Sound 4Dwave
1061 * Shark Predator4D-PCI
1062 * Jaton SonicWave 4D
1064 pcm_channels - max channels (voices) reserved for PCM
1065 wavetable_size - max wavetable size in kB (4-?kb)
1067 Module supports up to 8 cards and autoprobe.
1069 The power-management is supported.
1071 Module snd-usb-audio
1072 --------------------
1074 Module for USB audio and USB MIDI devices.
1076 vid - Vendor ID for the device (optional)
1077 pid - Product ID for the device (optional)
1079 This module supports up to 8 cards, autoprobe and hotplugging.
1084 Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
1085 8233A, 8233C, 8235 (south) bridge.
1087 mpu_port - 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1089 joystick - Enable joystick (default off) [VIA686A/686B only]
1090 ac97_clock - AC'97 codec clock base (default 48000Hz)
1091 dxs_support - support DXS channels,
1092 0 = auto (defalut), 1 = enable, 2 = disable,
1093 3 = 48k only, 4 = no VRA
1094 [VIA8233/C,8235 only]
1095 ac97_quirk - AC'97 workaround for strange hardware
1096 See the description of intel8x0 module for details.
1098 Module supports autoprobe and multiple bus-master chips (max 8).
1100 Note: on some SMP motherboards like MSI 694D the interrupts might
1101 not be generated properly. In such a case, please try to
1102 set the SMP (or MPS) version on BIOS to 1.1 instead of
1103 default value 1.4. Then the interrupt number will be
1104 assigned under 15. You might also upgrade your BIOS.
1106 Note: VIA8233/5 (not VIA8233A) can support DXS (direct sound)
1107 channels as the first PCM. On these channels, up to 4
1108 streams can be played at the same time.
1109 As default (dxs_support = 0), 48k fixed rate is chosen
1110 except for the known devices since the output is often
1111 noisy except for 48k on some mother boards due to the
1113 Please try once dxs_support=1 and if it works on other
1114 sample rates (e.g. 44.1kHz of mp3 playback), please let us
1115 know the PCI subsystem vendor/device id's (output of
1117 If it doesn't work, try dxs_support=4. If it still doesn't
1118 work and the default setting is ok, dxs_support=3 is the
1119 right choice. If the default setting doesn't work at all,
1120 try dxs_support=2 to disable the DXS channels.
1121 In any cases, please let us know the result and the
1122 subsystem vendor/device ids.
1124 Note: for the MPU401 on VIA823x, use snd-mpu401 driver
1125 additonally. The mpu_port option is for VIA686 chips only.
1130 Module for virtual rawmidi devices.
1131 This module creates virtual rawmidi devices which communicate
1132 to the corresponding ALSA sequencer ports.
1134 midi_devs - MIDI devices # (1-8, default=4)
1136 Module supports up to 8 cards.
1141 Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
1143 mic - Enable Microphone on V222 Mic (NYI)
1144 ibl - Capture IBL size. (default = 0, minimum size)
1146 Module supports up to 8 cards.
1148 For loading the firmware, use vxloader utility in alsa-tools
1149 and alsa-firmware packages. You can load the firmware automatically
1150 by adding the following to /etc/modprobe.conf
1152 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
1154 (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
1155 /etc/modules.conf, instead.)
1156 IBL size defines the interrupts period for PCM. The smaller size
1157 gives smaller latency but leads to more CPU consumption, too.
1158 The size is usually aligned to 126. As default (=0), the smallest
1159 size is chosen. The possible IBL values can be found in
1160 /proc/asound/cardX/vx-status proc file.
1165 Module for Digigram VX-Pocket VX2 PCMCIA card.
1167 irq_mask - IRQ bitmask, specifies the available IRQs as bits
1168 (default = 0xffff, all available)
1169 irq_list - List of available interrupts (default = -1, not specified)
1170 4 numbers must be given (if specified).
1171 ibl - Capture IBL size. (default = 0, minimum size)
1173 Module supports up to 8 cards. The module is compiled only when
1174 PCMCIA is supported on kernel.
1176 To activate the driver via the card manager, you'll need to set
1177 up /etc/pcmcia/vxpocket.conf. See the sound/pcmcia/vx/vxpocket.c.
1179 For loading the firmware, use vxloader utility in alsa-tools
1180 and alsa-firmware packages.
1182 The irq_mask and irq_list are provided to avoid allocation of
1183 specific IRQs. Usually you don't need to specify them.
1185 About capture IBL, see the description of snd-vx222 module.
1187 Note: the driver is build only when CONFIG_ISA is set.
1192 Module for Digigram VX-Pocket 440 PCMCIA card.
1194 irq_mask - IRQ bitmask, specifies the available IRQs as bits
1195 irq_list - List of available interrupts (default = -1, not specified)
1196 4 numbers must be given (if specified).
1197 ibl - Capture IBL size. (default = 0, minimum size)
1199 Module supports up to 8 cards. The module is compiled only when
1200 PCMCIA is supported on kernel.
1202 To activate the driver via the card manager, you'll need to set
1203 up /etc/pcmcia/vxp440.conf. See the sound/pcmcia/vx/vxp440.c.
1205 For loading the firmware, use vxloader utility in alsa-tools
1206 and alsa-firmware packages.
1208 The irq_mask and irq_list are provided to avoid allocation of
1209 specific IRQs. Usually you don't need to specify them.
1211 About capture IBL, see the description of snd-vx222 module.
1213 Note: the driver is build only when CONFIG_ISA is set.
1218 Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
1220 mpu_port - 0x300,0x330,0x332,0x334, 0 (disable) by default,
1221 1 (auto-detect for YMF744/754 only)
1222 fm_port - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
1223 1 (auto-detect for YMF744/754 only)
1224 joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
1226 rear_switch - enable shared rear/line-in switch (bool)
1228 Module supports autoprobe and multiple chips (max 8).
1230 The power-management is supported.
1232 Module snd-pdaudiocf
1233 --------------------
1235 Module for Sound Core PDAudioCF soundcard.
1237 irq_mask - IRQ mask (PCMCIA type)
1238 irq_list - List of available interrupts for this soundcard
1240 Note: the driver is build only when CONFIG_ISA is set.
1243 Configuring Non-ISAPNP Cards
1244 ============================
1246 When the kernel is configured with ISA-PnP support, the modules
1247 supporting the isapnp cards will have module options "isapnp".
1248 If this option is set, *only* the ISA-PnP devices will be probed.
1249 For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
1250 together with the proper i/o and irq configuration.
1252 When the kernel is configured without ISA-PnP support, isapnp option
1253 will be not built in.
1256 Module Autoloading Support
1257 ==========================
1259 The ALSA drivers can be loaded automatically on demand by defining
1260 module aliases. The string 'snd-card-%1' is requested for ALSA native
1261 devices where %i is soundcard number from zero to seven.
1263 To auto-load an ALSA driver for OSS services, define the string
1264 'sound-slot-%i' where %i means the slot number for OSS, which
1265 corresponds to the card index of ALSA. Usually, define this
1266 as the the same card module.
1268 An example configuration for a single emu10k1 card is like below:
1269 ----- /etc/modprobe.conf
1270 alias snd-card-0 snd-emu10k1
1271 alias sound-slot-0 snd-emu10k1
1272 ----- /etc/modprobe.conf
1274 The available number of auto-loaded soundcards depends on the module
1275 option "cards_limit" of snd module. As default it's set to 1.
1276 To enable the auto-loading of multiple cards, specify the number of
1277 soundcards in that option.
1279 When multiple cards are available, it'd better to specify the index
1280 number for each card via module option, too, so that the order of
1281 cards is kept consistent.
1283 An example configuration for two soundcards is like below:
1285 ----- /etc/modprobe.conf
1287 options snd cards_limit=2
1288 alias snd-card-0 snd-interwave
1289 alias snd-card-1 snd-ens1371
1290 options snd-interwave index=0
1291 options snd-ens1371 index=1
1293 alias sound-slot-0 snd-interwave
1294 alias sound-slot-1 snd-ens1371
1295 ----- /etc/moprobe.conf
1297 In this example, the interwave card is always loaded as the first card
1298 (index 0) and ens1371 as the second (index 1).
1301 ALSA PCM devices to OSS devices mapping
1302 =======================================
1304 /dev/snd/pcmC0D0 -> /dev/audio0 (/dev/audio) -> minor 4
1305 /dev/snd/pcmC0D0 -> /dev/dsp0 (/dev/dsp) -> minor 3
1306 /dev/snd/pcmC0D1 -> /dev/adsp0 (/dev/adsp) -> minor 12
1307 /dev/snd/pcmC1D0 -> /dev/audio1 -> minor 4+16 = 20
1308 /dev/snd/pcmC1D0 -> /dev/dsp1 -> minor 3+16 = 19
1309 /dev/snd/pcmC1D1 -> /dev/adsp1 -> minor 12+16 = 28
1310 /dev/snd/pcmC2D0 -> /dev/audio2 -> minor 4+32 = 36
1311 /dev/snd/pcmC2D0 -> /dev/dsp2 -> minor 3+32 = 39
1312 /dev/snd/pcmC2D1 -> /dev/adsp2 -> minor 12+32 = 44
1314 The first number from /dev/snd/pcmC{X}D{Y} expression means soundcard number
1315 and second means device number.
1316 Please note that the device mapping above may be varied via the module
1317 options of snd-pcm-oss module.
1323 The ALSA driver fully supports the devfs extension.
1324 You should add lines below to your devfsd.conf file:
1326 LOOKUP snd MODLOAD ACTION snd
1327 REGISTER ^sound/.* PERMISSIONS root.audio 660
1328 REGISTER ^snd/.* PERMISSIONS root.audio 660
1330 Warning: These lines assume that you have the audio group in your system.
1331 Otherwise replace audio word with another group name (root for
1335 Proc interfaces (/proc/asound)
1336 ==============================
1338 /proc/asound/card#/pcm#[cp]/oss
1339 -------------------------------
1340 String "erase" - erase all additional informations about OSS applications
1341 String "<app_name> <fragments> <fragment_size> [<options>]"
1343 <app_name> - name of application with (higher priority) or without path
1344 <fragments> - number of fragments or zero if auto
1345 <fragment_size> - size of fragment in bytes or zero if auto
1346 <options> - optional parameters
1347 - disable the application tries to open a pcm device for
1348 this channel but does not want to use it.
1349 (Cause a bug or mmap needs)
1350 It's good for Quake etc...
1351 - direct don't use plugins
1352 - block force block mode (rvplayer)
1353 - non-block force non-block mode
1354 - whole-frag write only whole fragments (optimization affecting
1356 - no-silence do not fill silence ahead to avoid clicks
1358 Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
1359 echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
1360 echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
1366 ALSA project homepage
1367 http://www.alsa-project.org