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 5.1 (c) 2003 [0x3fc3/0x7cff]
420 * Creative Card all ins and outs [0x3fff/0x7fff]
425 Module for Ensoniq AudioPCI ES1370 PCI soundcards.
426 * SoundBlaster PCI 64
427 * SoundBlaster PCI 128
429 joystick - Enable joystick (default off)
431 Module supports up to 8 cards and autoprobe.
436 Module for Ensoniq AudioPCI ES1371 PCI soundcards.
437 * SoundBlaster PCI 64
438 * SoundBlaster PCI 128
439 * SoundBlaster Vibra PCI
441 joystick_port - port # for joystick (0x200,0x208,0x210,0x218),
442 0 = disable (default), 1 = auto-detect
444 Module supports up to 8 cards and autoprobe.
449 Module for soundcards based on ESS ES968 chip (PnP only).
451 port - port # for ES968 (SB8) chip (PnP setup)
452 irq - IRQ # for ES968 (SB8) chip (PnP setup)
453 dma1 - DMA # for ES968 (SB8) chip (PnP setup)
455 Module supports up to 8 cards, PnP and autoprobe.
460 Module for ESS AudioDrive ES-1688 and ES-688 soundcards.
462 port - port # for ES-1688 chip (0x220,0x240,0x260)
463 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
464 irq - IRQ # for ES-1688 chip (5,7,9,10)
465 mpu_irq - IRQ # for MPU-401 port (5,7,9,10)
466 dma8 - DMA # for ES-1688 chip (0,1,3)
468 Module supports up to 8 cards and autoprobe (without MPU-401 port).
473 Module for ESS AudioDrive ES-18xx soundcards.
475 port - port # for ES-18xx chip (0x220,0x240,0x260)
476 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
477 fm_port - port # for FM (optional, not used)
478 irq - IRQ # for ES-18xx chip (5,7,9,10)
479 dma1 - first DMA # for ES-18xx chip (0,1,3)
480 dma2 - first DMA # for ES-18xx chip (0,1,3)
481 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
483 Module supports up to 8 cards ISA PnP and autoprobe (without MPU-401 port
484 if native ISA PnP routines are not used).
485 When dma2 is equal with dma1, the driver works as half-duplex.
487 The power-management is supported.
492 Module for soundcards based on ESS Solo-1 (ES1938,ES1946) chips.
494 Module supports up to 8 cards and autoprobe.
499 Module for soundcards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
501 total_bufsize - total buffer size in kB (1-4096kB)
502 pcm_substreams_p - playback channels (1-8, default=2)
503 pcm_substreams_c - capture channels (1-8, default=0)
504 clock - clock (0 = auto-detection)
505 use_pm - support the power-management (0 = off, 1 = on,
507 enable_mpu - enable MPU401 (0 = off, 1 = on, 2 = auto (default))
508 joystick - enable joystick (default off)
510 Module supports up to 8 cards and autoprobe.
512 The power-management is supported.
517 Module for ForteMedia FM801 based PCI soundcards.
519 Module supports up to 8 cards and autoprobe.
521 Module snd-gusclassic
522 ---------------------
524 Module for Gravis UltraSound Classic soundcard.
526 port - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
527 irq - IRQ # for GF1 chip (3,5,9,11,12,15)
528 dma1 - DMA # for GF1 chip (1,3,5,6,7)
529 dma2 - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
530 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
531 voices - GF1 voices limit (14-32)
532 pcm_voices - reserved PCM voices
534 Module supports up to 8 cards and autoprobe.
536 Module snd-gusextreme
537 ---------------------
539 Module for Gravis UltraSound Extreme (Synergy ViperMax) soundcard.
541 port - port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
542 gf1_port - port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
543 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
544 irq - IRQ # for ES-1688 chip (5,7,9,10)
545 gf1_irq - IRQ # for GF1 chip (3,5,9,11,12,15)
546 mpu_irq - IRQ # for MPU-401 port (5,7,9,10)
547 dma8 - DMA # for ES-1688 chip (0,1,3)
548 dma1 - DMA # for GF1 chip (1,3,5,6,7)
549 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
550 voices - GF1 voices limit (14-32)
551 pcm_voices - reserved PCM voices
553 Module supports up to 8 cards and autoprobe (without MPU-401 port).
558 Module for Gravis UltraSound MAX soundcard.
560 port - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
561 irq - IRQ # for GF1 chip (3,5,9,11,12,15)
562 dma1 - DMA # for GF1 chip (1,3,5,6,7)
563 dma2 - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
564 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
565 voices - GF1 voices limit (14-32)
566 pcm_voices - reserved PCM voices
568 Module supports up to 8 cards and autoprobe.
573 Module for RME Hammerfall DSP audio interface(s)
575 precise_ptr - Enable precise pointer (doesn't work reliably).
577 line_outs_monitor - Send all input and playback streams to line outs
578 by default. (default = 0)
579 force_firmware - Force a reload of the I/O box firmware
582 Module supports up to 8 cards.
584 Note: you need to load the firmware via hdsploader utility included
585 in alsa-tools and alsa-firmware packages.
587 Note: snd-page-alloc module does the job which snd-hammerfall-mem
588 module did formerly. It will allocate the buffers in advance
589 when any HDSP cards are found. To make the buffer
590 allocation sure, load snd-page-alloc module in the early
591 stage of boot sequence.
596 Module for Envy24 (ICE1712) based PCI soundcards.
597 * MidiMan M Audio Delta 1010
598 * MidiMan M Audio Delta 1010LT
599 * MidiMan M Audio Delta DiO 2496
600 * MidiMan M Audio Delta 66
601 * MidiMan M Audio Delta 44
602 * MidiMan M Audio Delta 410
603 * MidiMan M Audio Audiophile 2496
608 * Hoontech SoundTrack DSP 24
609 * Hoontech SoundTrack DSP 24 Value
610 * Hoontech SoundTrack DSP 24 Media 7.1
613 model - Use the given board model, one of the following:
614 delta1010, dio2496, delta66, delta44, audiophile, delta410,
615 delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
616 dmx6fire, dsp24, dsp24_71, ez8
617 omni - Omni I/O support for MidiMan M-Audio Delta44/66
618 cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transciever)
619 in msec resolution, default value is 500 (0.5 sec)
621 Module supports up to 8 cards and autoprobe. Note: The consumer part
622 is not used with all Envy24 based cards (for example in the MidiMan Delta
628 Module for Envy24HT (VT/ICE1724) based PCI soundcards.
629 * MidiMan M Audio Revolution 7.1
631 * TerraTec Aureon Sky-5.1, Space-7.1
633 model - Use the given board model, one of the following:
634 revo71, amp2000, prodigy71, aureon51, aureon71
636 Module supports up to 8 cards and autoprobe.
641 Module for AC'97 motherboards from Intel and compatibles.
642 * Intel i810/810E, i815, i820, i830, i84x, MX440
644 * NVidia NForce, NForce2
645 * AMD AMD768, AMD8111
648 ac97_clock - AC'97 codec clock base (0 = auto-detect)
649 joystick - Enable joystick (default off)
650 mpu_port - MPU401 port # (0 = disabled, 0x330,0x300)
651 ac97_quirk - AC'97 workaround for strange hardware (-1 = default)
652 -1 = default, don't override
654 1 = use headphone control as master
655 2 = swap headphone and master controls
656 3 = for AD1985, turn on OMS bit and use headphone
657 4 = for ALC65x, turn on the jack sense mode
659 Module supports autoprobe and multiple bus-master chips (max 8).
661 Note: the latest driver supports auto-detection of chip clock.
662 if you still encounter too fast playback, specify the clock
663 explicitly via the module option "ac97_clock=41194".
665 The joystick and MPU-401 are supported only certain hardwares.
666 MPU401 is experimental, It doesn't work perfectly.
668 The ac97_quirk option is used to enable/override the workaround
669 for specific devices. Some hardware have swapped output pins
670 between Master and Headphone, or Surround. The driver provides
671 the auto-detection of known problematic devices, but some might
672 be unknown or wrongly detected. In such a case, pass the proper
673 value with this option.
675 The power-management is supported.
680 Module for Intel ICH (i8x0) chipset MC97 modems.
682 ac97_clock - AC'97 codec clock base (0 = auto-detect)
684 This module supports up to 8 cards and autoprobe.
689 Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
690 and other soundcards based on AMD InterWave (tm) chip.
692 port - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
693 irq - IRQ # for InterWave chip (3,5,9,11,12,15)
694 dma1 - DMA # for InterWave chip (0,1,3,5,6,7)
695 dma2 - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
696 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
697 midi - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
698 pcm_voices - reserved PCM voices for the synthesizer (default 2)
699 effect - 1 = InterWave effects enable (default 0);
702 Module supports up to 8 cards, autoprobe and ISA PnP.
704 Module snd-interwave-stb
705 ------------------------
707 Module for UltraSound 32-Pro (soundcard from STB used by Compaq)
708 and other soundcards based on AMD InterWave (tm) chip with TEA6330T
709 circuit for extended control of bass, treble and master volume.
711 port - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
712 port_tc - tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
713 irq - IRQ # for InterWave chip (3,5,9,11,12,15)
714 dma1 - DMA # for InterWave chip (0,1,3,5,6,7)
715 dma2 - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
716 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
717 midi - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
718 pcm_voices - reserved PCM voices for the synthesizer (default 2)
719 effect - 1 = InterWave effects enable (default 0);
722 Module supports up to 8 cards, autoprobe and ISA PnP.
727 Module for Korg 1212 IO PCI card
729 Module supports up to 8 cards.
734 Module for Allegro/Maestro3 chips
736 external_amp - enable external amp (enabled by default)
737 amp_gpio - GPIO pin number for external amp (0-15) or
738 -1 for default pin (8 for allegro, 1 for
741 Module supports autoprobe and multiple chips (max 8).
743 Note: the binding of amplifier is dependent on hardware.
744 If there is no sound even though all channels are unmuted, try to
745 specify other gpio connection via amp_gpio option.
746 For example, a Panasonic notebook might need "amp_gpio=0x0d"
749 The power-management is supported.
754 Module for Digigram miXart8 soundcards.
756 Module supports multiple cards.
757 Note: One miXart8 board will be represented as 4 alsa cards.
758 See MIXART.txt for details.
763 Module for MPU-401 UART devices.
765 port - port number or -1 (disable)
766 irq - IRQ number or -1 (disable)
767 acpipnp - ACPI PnP detection - 0 = disable, 1 = enable (default)
769 Module supports multiple devices (max 8) and ACPI PnP. If PnP is not
770 used (or ACPI not enabled), port and irq must be specified.
775 Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
778 port - I/O port # for MTPAV (0x378,0x278, default=0x378)
779 irq - IRQ # for MTPAV (7,5, default=7)
780 hwports - number of supported hardware ports, default=8.
782 Module supports only 1 card. This module has no enable option.
787 Module for NeoMagic NM256AV/ZX chips
789 playback_bufsize - max playback frame size in kB (4-128kB)
790 capture_bufsize - max capture frame size in kB (4-128kB)
791 force_ac97 - 0 or 1 (disabled by default)
792 buffer_top - specify buffer top address
793 use_cache - 0 or 1 (disabled by default)
794 vaio_hack - alias buffer_top=0x25a800
796 Module supports autoprobe and multiple chips (max 8).
798 The power-management is supported.
800 Note: on some notebooks the buffer address cannot be detected
801 automatically, or causes hang-up during initialization.
802 In such a case, specify the buffer top address explicity via
805 Sony F250: buffer_top=0x25a800
806 Sony F270: buffer_top=0x272800
807 The driver supports only ac97 codec. It's possible to force
808 to initialize/use ac97 although it's not detected. In such a
809 case, use force_ac97=1 option - but *NO* guarantee whether it
812 Note: The NM256 chip can be linked internally with non-AC97
813 codecs. This driver supports only the AC97 codec, and won't work
814 with machines with other (most likely CS423x or OPL3SAx) chips,
815 even though the device is detected in lspci. In such a case, try
816 other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP
817 but some doesn't have ISA PnP. You'll need to speicfy isapnp=0
818 and proper hardware parameters in the case without ISA PnP.
820 Note: This driver is really crappy. It's a porting from the
821 OSS driver, which is a result of black-magic reverse engineering.
822 The detection of codec will fail if the driver is loaded *after*
823 X-server as described above. You might be able to force to load
824 the module, but it may result in hang-up. Hence, make sure that
825 you load this module *before* X if you encounter this kind of
831 Module for Yamaha OPL3-SA2/SA3 soundcards.
833 port - control port # for OPL3-SA chip (0x370)
834 sb_port - SB port # for OPL3-SA chip (0x220,0x240)
835 wss_port - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
836 midi_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
837 fm_port - FM port # for OPL3-SA chip (0x388), -1 = disable
838 irq - IRQ # for OPL3-SA chip (5,7,9,10)
839 dma1 - first DMA # for Yamaha OPL3-SA chip (0,1,3)
840 dma2 - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
841 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
843 Module supports up to 8 cards and ISA PnP. This module does not support
844 autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
846 The power-management is supported.
848 Module snd-opti92x-ad1848
849 -------------------------
851 Module for soundcards based on OPTi 82c92x and Analog Devices AD1848 chips.
852 Module works with OAK Mozart cards as well.
854 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
855 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
856 fm_port - port # for OPL3 device (0x388)
857 irq - IRQ # for WSS chip (5,7,9,10,11)
858 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
859 dma1 - first DMA # for WSS chip (0,1,3)
861 This module supports only one card, autoprobe and PnP.
863 Module snd-opti92x-cs4231
864 -------------------------
866 Module for soundcards based on OPTi 82c92x and Crystal CS4231 chips.
868 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
869 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
870 fm_port - port # for OPL3 device (0x388)
871 irq - IRQ # for WSS chip (5,7,9,10,11)
872 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
873 dma1 - first DMA # for WSS chip (0,1,3)
874 dma2 - second DMA # for WSS chip (0,1,3)
876 This module supports only one card, autoprobe and PnP.
881 Module for soundcards based on OPTi 82c93x chips.
883 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
884 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
885 fm_port - port # for OPL3 device (0x388)
886 irq - IRQ # for WSS chip (5,7,9,10,11)
887 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
888 dma1 - first DMA # for WSS chip (0,1,3)
889 dma2 - second DMA # for WSS chip (0,1,3)
891 This module supports only one card, autoprobe and PnP.
893 Module snd-powermac (on ppc only)
894 ---------------------------------
896 Module for PowerMac, iMac and iBook on-board soundchips
898 enable_beep - enable beep using PCM (enabled as default)
900 Module supports autoprobe a chip.
902 Note: the driver may have problems regarding endianess.
904 The power-management is supported.
909 Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32,
910 Prodif96 and Prodif Gold) soundcards.
912 Module supports up to 8 cards.
917 Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST soundcards.
919 Module supports up to 8 cards.
924 Module for RME Digi9652 (Hammerfall, Hammerfall-Light) soundcards.
926 precise_ptr - Enable precise pointer (doesn't work reliably).
929 Module supports up to 8 cards.
931 Note: snd-page-alloc module does the job which snd-hammerfall-mem
932 module did formerly. It will allocate the buffers in advance
933 when any RME9652 cards are found. To make the buffer
934 allocation sure, load snd-page-alloc module in the early
935 stage of boot sequence.
937 Module snd-sa11xx-uda1341 (on arm only)
938 ---------------------------------------
940 Module for Philips UDA1341TS on Compaq iPAQ H3600 soundcard.
942 Module supports only one card.
943 Module has no enable and index options.
948 Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
952 port - port # for SB DSP chip (0x220,0x240,0x260)
953 irq - IRQ # for SB DSP chip (5,7,9,10)
954 dma8 - DMA # for SB DSP chip (1,3)
956 Module supports up to 8 cards and autoprobe.
958 Module snd-sb16 and snd-sbawe
959 -----------------------------
961 Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
962 SoundBlaster AWE 32 (PnP),
963 SoundBlaster AWE 64 PnP
965 port - port # for SB DSP 4.x chip (0x220,0x240,0x260)
966 mpu_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
967 awe_port - base port # for EMU8000 synthesizer (0x620,0x640,0x660)
968 (snd-sbawe module only)
969 irq - IRQ # for SB DSP 4.x chip (5,7,9,10)
970 dma8 - 8-bit DMA # for SB DSP 4.x chip (0,1,3)
971 dma16 - 16-bit DMA # for SB DSP 4.x chip (5,6,7)
972 mic_agc - Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
973 csp - ASP/CSP chip support - 0 = disable (default), 1 = enable
974 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
976 Module supports up to 8 cards, autoprobe and ISA PnP.
978 Note: To use Vibra16X cards in 16-bit half duplex mode, you must
979 disable 16bit DMA with dma16 = -1 module parameter.
980 Also, all Sound Blaster 16 type cards can operate in 16-bit
981 half duplex mode through 8-bit DMA channel by disabling their
987 Module for Aztech Sound Galaxy soundcard.
989 sbport - Port # for SB16 interface (0x220,0x240)
990 wssport - Port # for WSS interface (0x530,0xe80,0xf40,0x604)
991 irq - IRQ # (7,9,10,11)
994 Module supports up to 8 cards.
999 Module for ENSONIQ SoundScape PnP cards.
1001 port - Port # (PnP setup)
1002 irq - IRQ # (PnP setup)
1003 mpu_irq - MPU-401 IRQ # (PnP setup)
1004 dma - DMA # (PnP setup)
1006 Module supports up to 8 cards. ISA PnP must be enabled.
1007 You need sscape_ctl tool in alsa-tools package for loading
1010 Module snd-sun-amd7930 (on sparc only)
1011 --------------------------------------
1013 Module for AMD7930 sound chips found on Sparcs.
1015 Module supports up to 8 cards.
1017 Module snd-sun-cs4231 (on sparc only)
1018 -------------------------------------
1020 Module for CS4231 sound chips found on Sparcs.
1022 Module supports up to 8 cards.
1024 Module snd-wavefront
1025 --------------------
1027 Module for Turtle Beach Maui, Tropez and Tropez+ soundcards.
1029 cs4232_pcm_port - Port # for CS4232 PCM interface.
1030 cs4232_pcm_irq - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1031 cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1032 cs4232_mpu_irq - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1033 use_cs4232_midi - Use CS4232 MPU-401 interface
1034 (inaccessibly located inside your computer)
1035 ics2115_port - Port # for ICS2115
1036 ics2115_irq - IRQ # for ICS2115
1037 fm_port - FM OPL-3 Port #
1038 dma1 - DMA1 # for CS4232 PCM interface.
1039 dma2 - DMA2 # for CS4232 PCM interface.
1040 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
1042 Module supports up to 8 cards and ISA PnP.
1044 Module snd-sonicvibes
1045 ---------------------
1047 Module for S3 SonicVibes PCI soundcards.
1048 * PINE Schubert 32 PCI
1050 reverb - Reverb Enable - 1 = enable, 0 = disable (default)
1051 - SoundCard must have onboard SRAM for this.
1052 mge - Mic Gain Enable - 1 = enable, 0 = disable (default)
1054 Module supports up to 8 cards and autoprobe.
1056 Module snd-serial-u16550
1057 ------------------------
1059 Module for UART16550A serial MIDI ports.
1061 port - port # for UART16550A chip
1062 irq - IRQ # for UART16550A chip, -1 = poll mode
1063 speed - speed in bauds (9600,19200,38400,57600,115200)
1065 base - base for divisor in bauds (57600,115200,230400,460800)
1067 outs - number of MIDI ports in a serial port (1-4)
1069 adaptor - Type of adaptor.
1070 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1071 3 = MS-124W M/B, 4 = Generic
1073 Module supports up to 8 cards. This module does not support autoprobe
1074 thus the main port must be specified!!! Other options are optional.
1079 Module for Trident 4DWave DX/NX soundcards.
1080 * Best Union Miss Melody 4DWave PCI
1082 * Warpspeed ONSpeed 4DWave PCI
1085 * CHIC True Sound 4Dwave
1086 * Shark Predator4D-PCI
1087 * Jaton SonicWave 4D
1089 pcm_channels - max channels (voices) reserved for PCM
1090 wavetable_size - max wavetable size in kB (4-?kb)
1092 Module supports up to 8 cards and autoprobe.
1094 The power-management is supported.
1096 Module snd-usb-audio
1097 --------------------
1099 Module for USB audio and USB MIDI devices.
1101 vid - Vendor ID for the device (optional)
1102 pid - Product ID for the device (optional)
1104 This module supports up to 8 cards, autoprobe and hotplugging.
1109 Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
1110 8233A, 8233C, 8235 (south) bridge.
1112 mpu_port - 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1114 joystick - Enable joystick (default off) [VIA686A/686B only]
1115 ac97_clock - AC'97 codec clock base (default 48000Hz)
1116 dxs_support - support DXS channels,
1117 0 = auto (defalut), 1 = enable, 2 = disable,
1118 3 = 48k only, 4 = no VRA
1119 [VIA8233/C,8235 only]
1120 ac97_quirk - AC'97 workaround for strange hardware
1121 See the description of intel8x0 module for details.
1123 Module supports autoprobe and multiple bus-master chips (max 8).
1125 Note: on some SMP motherboards like MSI 694D the interrupts might
1126 not be generated properly. In such a case, please try to
1127 set the SMP (or MPS) version on BIOS to 1.1 instead of
1128 default value 1.4. Then the interrupt number will be
1129 assigned under 15. You might also upgrade your BIOS.
1131 Note: VIA8233/5 (not VIA8233A) can support DXS (direct sound)
1132 channels as the first PCM. On these channels, up to 4
1133 streams can be played at the same time.
1134 As default (dxs_support = 0), 48k fixed rate is chosen
1135 except for the known devices since the output is often
1136 noisy except for 48k on some mother boards due to the
1138 Please try once dxs_support=1 and if it works on other
1139 sample rates (e.g. 44.1kHz of mp3 playback), please let us
1140 know the PCI subsystem vendor/device id's (output of
1142 If it doesn't work, try dxs_support=4. If it still doesn't
1143 work and the default setting is ok, dxs_support=3 is the
1144 right choice. If the default setting doesn't work at all,
1145 try dxs_support=2 to disable the DXS channels.
1146 In any cases, please let us know the result and the
1147 subsystem vendor/device ids.
1149 Note: for the MPU401 on VIA823x, use snd-mpu401 driver
1150 additonally. The mpu_port option is for VIA686 chips only.
1155 Module for virtual rawmidi devices.
1156 This module creates virtual rawmidi devices which communicate
1157 to the corresponding ALSA sequencer ports.
1159 midi_devs - MIDI devices # (1-8, default=4)
1161 Module supports up to 8 cards.
1166 Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
1168 mic - Enable Microphone on V222 Mic (NYI)
1169 ibl - Capture IBL size. (default = 0, minimum size)
1171 Module supports up to 8 cards.
1173 For loading the firmware, use vxloader utility in alsa-tools
1174 and alsa-firmware packages. You can load the firmware automatically
1175 by adding the following to /etc/modprobe.conf
1177 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
1179 (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
1180 /etc/modules.conf, instead.)
1181 IBL size defines the interrupts period for PCM. The smaller size
1182 gives smaller latency but leads to more CPU consumption, too.
1183 The size is usually aligned to 126. As default (=0), the smallest
1184 size is chosen. The possible IBL values can be found in
1185 /proc/asound/cardX/vx-status proc file.
1190 Module for Digigram VX-Pocket VX2 PCMCIA card.
1192 irq_mask - IRQ bitmask, specifies the available IRQs as bits
1193 (default = 0xffff, all available)
1194 irq_list - List of available interrupts (default = -1, not specified)
1195 4 numbers must be given (if specified).
1196 ibl - Capture IBL size. (default = 0, minimum size)
1198 Module supports up to 8 cards. The module is compiled only when
1199 PCMCIA is supported on kernel.
1201 To activate the driver via the card manager, you'll need to set
1202 up /etc/pcmcia/vxpocket.conf. See the sound/pcmcia/vx/vxpocket.c.
1204 For loading the firmware, use vxloader utility in alsa-tools
1205 and alsa-firmware packages.
1207 The irq_mask and irq_list are provided to avoid allocation of
1208 specific IRQs. Usually you don't need to specify them.
1210 About capture IBL, see the description of snd-vx222 module.
1212 Note: the driver is build only when CONFIG_ISA is set.
1217 Module for Digigram VX-Pocket 440 PCMCIA card.
1219 irq_mask - IRQ bitmask, specifies the available IRQs as bits
1220 irq_list - List of available interrupts (default = -1, not specified)
1221 4 numbers must be given (if specified).
1222 ibl - Capture IBL size. (default = 0, minimum size)
1224 Module supports up to 8 cards. The module is compiled only when
1225 PCMCIA is supported on kernel.
1227 To activate the driver via the card manager, you'll need to set
1228 up /etc/pcmcia/vxp440.conf. See the sound/pcmcia/vx/vxp440.c.
1230 For loading the firmware, use vxloader utility in alsa-tools
1231 and alsa-firmware packages.
1233 The irq_mask and irq_list are provided to avoid allocation of
1234 specific IRQs. Usually you don't need to specify them.
1236 About capture IBL, see the description of snd-vx222 module.
1238 Note: the driver is build only when CONFIG_ISA is set.
1243 Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
1245 mpu_port - 0x300,0x330,0x332,0x334, 0 (disable) by default,
1246 1 (auto-detect for YMF744/754 only)
1247 fm_port - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
1248 1 (auto-detect for YMF744/754 only)
1249 joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
1251 rear_switch - enable shared rear/line-in switch (bool)
1253 Module supports autoprobe and multiple chips (max 8).
1255 The power-management is supported.
1257 Module snd-pdaudiocf
1258 --------------------
1260 Module for Sound Core PDAudioCF soundcard.
1262 irq_mask - IRQ mask (PCMCIA type)
1263 irq_list - List of available interrupts for this soundcard
1265 Note: the driver is build only when CONFIG_ISA is set.
1268 Configuring Non-ISAPNP Cards
1269 ============================
1271 When the kernel is configured with ISA-PnP support, the modules
1272 supporting the isapnp cards will have module options "isapnp".
1273 If this option is set, *only* the ISA-PnP devices will be probed.
1274 For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
1275 together with the proper i/o and irq configuration.
1277 When the kernel is configured without ISA-PnP support, isapnp option
1278 will be not built in.
1281 Module Autoloading Support
1282 ==========================
1284 The ALSA drivers can be loaded automatically on demand by defining
1285 module aliases. The string 'snd-card-%1' is requested for ALSA native
1286 devices where %i is soundcard number from zero to seven.
1288 To auto-load an ALSA driver for OSS services, define the string
1289 'sound-slot-%i' where %i means the slot number for OSS, which
1290 corresponds to the card index of ALSA. Usually, define this
1291 as the the same card module.
1293 An example configuration for a single emu10k1 card is like below:
1294 ----- /etc/modprobe.conf
1295 alias snd-card-0 snd-emu10k1
1296 alias sound-slot-0 snd-emu10k1
1297 ----- /etc/modprobe.conf
1299 The available number of auto-loaded soundcards depends on the module
1300 option "cards_limit" of snd module. As default it's set to 1.
1301 To enable the auto-loading of multiple cards, specify the number of
1302 soundcards in that option.
1304 When multiple cards are available, it'd better to specify the index
1305 number for each card via module option, too, so that the order of
1306 cards is kept consistent.
1308 An example configuration for two soundcards is like below:
1310 ----- /etc/modprobe.conf
1312 options snd cards_limit=2
1313 alias snd-card-0 snd-interwave
1314 alias snd-card-1 snd-ens1371
1315 options snd-interwave index=0
1316 options snd-ens1371 index=1
1318 alias sound-slot-0 snd-interwave
1319 alias sound-slot-1 snd-ens1371
1320 ----- /etc/moprobe.conf
1322 In this example, the interwave card is always loaded as the first card
1323 (index 0) and ens1371 as the second (index 1).
1326 ALSA PCM devices to OSS devices mapping
1327 =======================================
1329 /dev/snd/pcmC0D0 -> /dev/audio0 (/dev/audio) -> minor 4
1330 /dev/snd/pcmC0D0 -> /dev/dsp0 (/dev/dsp) -> minor 3
1331 /dev/snd/pcmC0D1 -> /dev/adsp0 (/dev/adsp) -> minor 12
1332 /dev/snd/pcmC1D0 -> /dev/audio1 -> minor 4+16 = 20
1333 /dev/snd/pcmC1D0 -> /dev/dsp1 -> minor 3+16 = 19
1334 /dev/snd/pcmC1D1 -> /dev/adsp1 -> minor 12+16 = 28
1335 /dev/snd/pcmC2D0 -> /dev/audio2 -> minor 4+32 = 36
1336 /dev/snd/pcmC2D0 -> /dev/dsp2 -> minor 3+32 = 39
1337 /dev/snd/pcmC2D1 -> /dev/adsp2 -> minor 12+32 = 44
1339 The first number from /dev/snd/pcmC{X}D{Y} expression means soundcard number
1340 and second means device number.
1341 Please note that the device mapping above may be varied via the module
1342 options of snd-pcm-oss module.
1348 The ALSA driver fully supports the devfs extension.
1349 You should add lines below to your devfsd.conf file:
1351 LOOKUP snd MODLOAD ACTION snd
1352 REGISTER ^sound/.* PERMISSIONS root.audio 660
1353 REGISTER ^snd/.* PERMISSIONS root.audio 660
1355 Warning: These lines assume that you have the audio group in your system.
1356 Otherwise replace audio word with another group name (root for
1360 Proc interfaces (/proc/asound)
1361 ==============================
1363 /proc/asound/card#/pcm#[cp]/oss
1364 -------------------------------
1365 String "erase" - erase all additional informations about OSS applications
1366 String "<app_name> <fragments> <fragment_size> [<options>]"
1368 <app_name> - name of application with (higher priority) or without path
1369 <fragments> - number of fragments or zero if auto
1370 <fragment_size> - size of fragment in bytes or zero if auto
1371 <options> - optional parameters
1372 - disable the application tries to open a pcm device for
1373 this channel but does not want to use it.
1374 (Cause a bug or mmap needs)
1375 It's good for Quake etc...
1376 - direct don't use plugins
1377 - block force block mode (rvplayer)
1378 - non-block force non-block mode
1379 - whole-frag write only whole fragments (optimization affecting
1381 - no-silence do not fill silence ahead to avoid clicks
1383 Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
1384 echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
1385 echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
1391 ALSA project homepage
1392 http://www.alsa-project.org