vserver 1.9.5.x5
[linux-2.6.git] / Documentation / sound / alsa / ALSA-Configuration.txt
1
2                 Advanced Linux Sound Architecture - Driver
3                 ==========================================
4                             Configuration guide
5
6
7 Kernel Configuration
8 ====================
9
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.
15
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).
19
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.
24
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
27 isapnptools.
28
29
30 Creating ALSA devices
31 =====================
32
33 Use the /dev/MAKEDEV script to create the nessecary device nodes.
34
35
36 Module parameters
37 =================
38
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,
42   delimited by commas.
43   
44   Note that module option names were changed in 0.9.0rc4. The 'snd_'
45   prefix was removed.
46
47   Module snd
48   ----------
49
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,
52     etc.
53
54     major       - major # for sound driver
55                 - default is 116
56     cards_limit
57                 - specifies card limit # for auto-loading (1-8)
58                 - default is 1
59                 - for auto-loading more than 1 card, specify this option
60                   together with snd-card-X aliases.
61     device_mode
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'
66
67   
68   Module snd-pcm-oss
69   ------------------
70
71     The PCM OSS emulation module.
72     This module takes the options to change the mapping of devices.
73
74     dsp_map     - PCM device number maps assigned to the 1st OSS device.
75                   (default: 0)
76     adsp_map    - PCM device number maps assigned to the 2st OSS device.
77                   (default: 1)
78     nonblock_open - Don't block opening busy PCM devices.
79
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".
85
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).
90     
91   Module snd-rawmidi
92   ------------------
93
94     This module takes the options to change the mapping of OSS
95     devices like snd-pcm-oss module.
96
97     midi_map    - MIDI device number maps assigned to the 1st OSS device.
98                   (default: 0)
99     amidi_map   - MIDI device number maps assigned to the 2st OSS device.
100                   (default: 1)
101
102   Common parameters for top soundcard modules
103   -------------------------------------------
104
105     Each of top-level soundcard module takes some general options,
106
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
115                   as default.)
116
117   Module snd-ad1816a
118   ------------------
119
120     Module for soundcards based on Analog Devices AD1816A/AD1815 ISA chips.
121
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)
129     
130     Module supports up to 8 cards, autoprobe and PnP.
131     
132   Module snd-ad1848
133   -----------------
134
135     Module for soundcards based on AD1848/AD1847/CS4248 ISA chips.
136
137     port        - port # for AD1848 chip
138     irq         - IRQ # for AD1848  chip
139     dma1        - DMA # for AD1848 chip (0,1,3)
140     
141     Module supports up to 8 cards. This module does not support autoprobe
142     thus main port must be specified!!! Other ports are optional.
143     
144   Module snd-ali5451
145   ------------------
146
147     Module for ALi M5451 PCI chip.
148
149     pcm_channels    - Number of hardware channels assigned for PCM
150     spdif           - Support SPDIF I/O (disabled by default)
151
152     Module supports autoprobe and multiple chips (max 8).
153
154     The power-management is supported.
155
156   Module snd-als100
157   -----------------
158
159     Module for soundcards based on Avance Logic ALS100/ALS120 ISA chips.
160
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)
168     
169     Module supports up to 8 cards, autoprobe and PnP.
170
171   Module snd-als4000
172   ------------------
173
174     Module for soundcards based on Avance Logic ALS4000 PCI chip.
175
176     joystick_port - port # for legacy joystick support.
177                     0 = disabled (default), 1 = auto-detect
178     
179     Module supports up to 8 cards, autoprobe and PnP.
180
181   Module snd-atiixp
182   -----------------
183
184     Module for ATI IXP 150/200/250 AC97 controllers.
185
186     ac97_clock          - AC'97 clock (defalut = 48000)
187     ac97_quirk          - AC'97 workaround for strange hardware
188                           See the description of intel8x0 module for details.
189     spdif_aclink        - S/PDIF transfer over AC-link (default = 1)
190
191     This module supports up to 8 cards and autoprobe.
192
193   Module snd-atiixp-modem
194   -----------------------
195
196     Module for ATI IXP 150/200/250 AC97 modem controllers.
197
198     Module supports up to 8 cards.
199
200   Module snd-au8810, snd-au8820, snd-au8830
201   -----------------------------------------
202
203     Module for Aureal Vortex, Vortex2 and Advantage device.
204
205     pcifix      - Control PCI workarounds
206                   0 = Disable all workarounds
207                   1 = Force the PCI latency of the Aureal card to 0xff
208                   2 = Force the Extend PCI#2 Internal Master for Efficient
209                       Handling of Dummy Requests on the VIA KT133 AGP Bridge
210                   3 = Force both settings
211                   255 = Autodetect what is required (default)
212
213     This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
214     EQ, mpu401, gameport. A3D and wavetable support are still in development.
215     Development and reverse engineering work is being coordinated at
216     http://savannah.nongnu.org/projects/openvortex/
217     SPDIF output has a copy of the AC97 codec output, unless you use the
218     "spdif" pcm device, which allows raw data passthru.
219     The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
220     Advantage.
221
222     Note: Some ALSA mixer applicactions don't handle the SPDIF samplerate 
223            control correctly. If you have problems regarding this, try
224            another ALSA compliant mixer (alsamixer works).
225
226   Module snd-azt2320
227   ------------------
228
229     Module for soundcards based on Aztech System AZT2320 ISA chip (PnP only).
230
231     port        - port # for AZT2320 chip (PnP setup)
232     wss_port    - port # for WSS (PnP setup)
233     mpu_port    - port # for MPU-401 UART (PnP setup)
234     fm_port     - FM port # for AZT2320 chip (PnP setup)
235     irq         - IRQ # for AZT2320 (WSS) chip (PnP setup)
236     mpu_irq     - IRQ # for MPU-401 UART (PnP setup)
237     dma1        - 1st DMA # for AZT2320 (WSS) chip (PnP setup)
238     dma2        - 2nd DMA # for AZT2320 (WSS) chip (PnP setup)
239     
240     Module supports up to 8 cards, PnP and autoprobe.
241     
242   Module snd-azt3328
243   ------------------
244
245     Module for soundcards based on Aztech AZF3328 PCI chip.
246
247     joystick    - Enable joystick (default off)
248
249     Module supports up to 8 cards.
250
251   Module snd-bt87x
252   ----------------
253
254     Module for video cards based on Bt87x chips.
255
256     digital_rate - Override the default digital rate (Hz)
257     load_all    - Load the driver even if the card model isn't known
258
259     Module supports up to 8 cards.
260
261   Module snd-ca0106
262   -----------------
263
264     Module for Creative Audigy LS and SB Live 24bit
265
266     Module supports up to 8 cards.
267
268
269   Module snd-cmi8330
270   ------------------
271
272     Module for soundcards based on C-Media CMI8330 ISA chips.
273
274     wssport     - port # for CMI8330 chip (WSS)
275     wssirq      - IRQ # for CMI8330 chip (WSS)
276     wssdma      - first DMA # for CMI8330 chip (WSS)
277     sbport      - port # for CMI8330 chip (SB16)
278     sbirq       - IRQ # for CMI8330 chip (SB16)
279     sbdma8      - 8bit DMA # for CMI8330 chip (SB16)
280     sbdma16     - 16bit DMA # for CMI8330 chip (SB16)
281
282     Module supports up to 8 cards and autoprobe.
283
284   Module snd-cmipci
285   -----------------
286
287     Module for C-Media CMI8338 and 8738 PCI soundcards.
288
289     mpu_port    - 0x300,0x310,0x320,0x330, 0 = disable (default)
290     fm_port     - 0x388 (default), 0 = disable (default)
291     soft_ac3    - Sofware-conversion of raw SPDIF packets (model 033 only)
292                   (default = 1)
293     joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
294
295     Module supports autoprobe and multiple chips (max 8).
296     
297   Module snd-cs4231
298   -----------------
299
300     Module for soundcards based on CS4231 ISA chips.
301
302     port        - port # for CS4231 chip
303     mpu_port    - port # for MPU-401 UART (optional), -1 = disable
304     irq         - IRQ # for CS4231 chip
305     mpu_irq     - IRQ # for MPU-401 UART
306     dma1        - first DMA # for CS4231 chip
307     dma2        - second DMA # for CS4231 chip
308     
309     Module supports up to 8 cards. This module does not support autoprobe
310     thus main port must be specified!!! Other ports are optional.
311
312     The power-management is supported.
313     
314   Module snd-cs4232
315   -----------------
316
317     Module for soundcards based on CS4232/CS4232A ISA chips.
318
319     port        - port # for CS4232 chip (PnP setup - 0x534)
320     cport       - control port # for CS4232 chip (PnP setup - 0x120,0x210,0xf00)
321     mpu_port    - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
322     fm_port     - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
323     irq         - IRQ # for CS4232 chip (5,7,9,11,12,15)
324     mpu_irq     - IRQ # for MPU-401 UART (9,11,12,15)
325     dma1        - first DMA # for CS4232 chip (0,1,3)
326     dma2        - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
327     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
328     
329     Module supports up to 8 cards. This module does not support autoprobe
330     thus main port must be specified!!! Other ports are optional.
331
332     The power-management is supported.
333     
334   Module snd-cs4236
335   -----------------
336
337     Module for soundcards based on CS4235/CS4236/CS4236B/CS4237B/
338                                    CS4238B/CS4239 ISA chips.
339
340     port        - port # for CS4236 chip (PnP setup - 0x534)
341     cport       - control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
342     mpu_port    - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
343     fm_port     - FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
344     irq         - IRQ # for CS4236 chip (5,7,9,11,12,15)
345     mpu_irq     - IRQ # for MPU-401 UART (9,11,12,15)
346     dma1        - first DMA # for CS4236 chip (0,1,3)
347     dma2        - second DMA # for CS4236 chip (0,1,3), -1 = disable
348     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
349     
350     Module supports up to 8 cards. This module does not support autoprobe
351     (if ISA PnP is not used) thus main port and control port must be
352     specified!!! Other ports are optional.
353
354     The power-management is supported.
355
356   Module snd-cs4281
357   -----------------
358
359     Module for Cirrus Logic CS4281 soundchip.
360
361     dual_codec  - Secondary codec ID (0 = disable, default)
362
363     Module supports up to 8 cards.
364
365     The power-management is supported.
366
367   Module snd-cs46xx
368   -----------------
369
370     Module for PCI soundcards based on CS4610/CS4612/CS4614/CS4615/CS4622/
371                                        CS4624/CS4630/CS4280 PCI chips.
372
373     external_amp     - Force to enable external amplifer.
374     thinkpad         - Force to enable Thinkpad's CLKRUN control.
375     mmap_valid       - Support OSS mmap mode (default = 0).
376
377     Module supports up to 8 cards and autoprobe.
378     Usually external amp and CLKRUN controls are detected automatically
379     from PCI sub vendor/device ids.  If they don't work, give the options
380     above explicitly.
381
382     The power-management is supported.
383     
384   Module snd-dt019x
385   -----------------
386
387     Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
388     only)
389
390     port        - Port # (PnP setup)
391     mpu_port    - Port # for MPU-401 (PnP setup)
392     fm_port     - Port # for FM OPL-3 (PnP setup)
393     irq         - IRQ # (PnP setup)
394     mpu_irq     - IRQ # for MPU-401 (PnP setup)
395     dma8        - DMA # (PnP setup)
396
397     Module supports up to 8 cards.  This module is enabled only with
398     ISA PnP support.
399
400   Module snd-dummy
401   ----------------
402
403     Module for the dummy soundcard. This soundcard doesn't do any output
404     or input, but you may use this module for any application which
405     requires a soundcard (like RealPlayer).
406
407   Module snd-emu10k1
408   ------------------
409
410     Module for EMU10K1/EMU10k2 based PCI soundcards.
411                         * Sound Blaster Live!
412                         * Sound Blaster PCI 512
413                         * Emu APS (partially supported)
414                         * Sound Blaster Audigy
415
416     extin   - bitmap of available external inputs for FX8010 (see bellow)
417     extout  - bitmap of available external outputs for FX8010 (see bellow)
418     seq_ports - allocated sequencer ports (4 by default)
419     max_synth_voices - limit of voices used for wavetable (64 by default)
420     max_buffer_size  - specifies the maximum size of wavetable/pcm buffers
421                        given in MB unit.  Default value is 128.
422     enable_ir - enable IR
423
424     Module supports up to 8 cards and autoprobe.
425
426     Input & Output configurations                       [extin/extout]
427         * Creative Card wo/Digital out                  [0x0003/0x1f03]
428         * Creative Card w/Digital out                   [0x0003/0x1f0f]
429         * Creative Card w/Digital CD in                 [0x000f/0x1f0f]
430         * Creative Card wo/Digital out + LiveDrive      [0x3fc3/0x1fc3]
431         * Creative Card w/Digital out + LiveDrive       [0x3fc3/0x1fcf]
432         * Creative Card w/Digital CD in + LiveDrive     [0x3fcf/0x1fcf]
433         * Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
434         * Creative Card w/Digital out + Digital I/O 2   [0x0fc3/0x1f0f]
435         * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
436         * Creative Card 5.1/w Digital out + LiveDrive   [0x3fc3/0x1fff]
437         * Creative Card 5.1 (c) 2003                    [0x3fc3/0x7cff]
438         * Creative Card all ins and outs                [0x3fff/0x7fff]
439     
440   Module snd-emu10k1x
441   -------------------
442
443     Module for Creative Emu10k1X (SB Live Dell OEM version)
444
445     Module supports up to 8 cards.
446
447   Module snd-ens1370
448   ------------------
449
450     Module for Ensoniq AudioPCI ES1370 PCI soundcards.
451                         * SoundBlaster PCI 64
452                         * SoundBlaster PCI 128
453
454     joystick            - Enable joystick (default off)
455
456     Module supports up to 8 cards and autoprobe.
457     
458   Module snd-ens1371
459   ------------------
460
461     Module for Ensoniq AudioPCI ES1371 PCI soundcards.
462                         * SoundBlaster PCI 64
463                         * SoundBlaster PCI 128
464                         * SoundBlaster Vibra PCI
465
466     joystick_port       - port # for joystick (0x200,0x208,0x210,0x218),
467                           0 = disable (default), 1 = auto-detect
468
469     Module supports up to 8 cards and autoprobe.
470     
471   Module snd-es968
472   ----------------
473
474     Module for soundcards based on ESS ES968 chip (PnP only).
475
476     port        - port # for ES968 (SB8) chip (PnP setup)
477     irq         - IRQ # for ES968 (SB8) chip (PnP setup)
478     dma1        - DMA # for ES968 (SB8) chip (PnP setup)
479     
480     Module supports up to 8 cards, PnP and autoprobe.
481     
482   Module snd-es1688
483   -----------------
484
485     Module for ESS AudioDrive ES-1688 and ES-688 soundcards.
486
487     port        - port # for ES-1688 chip (0x220,0x240,0x260)
488     mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
489     irq         - IRQ # for ES-1688 chip (5,7,9,10)
490     mpu_irq     - IRQ # for MPU-401 port (5,7,9,10)
491     dma8        - DMA # for ES-1688 chip (0,1,3)
492
493     Module supports up to 8 cards and autoprobe (without MPU-401 port).
494
495   Module snd-es18xx
496   -----------------
497
498     Module for ESS AudioDrive ES-18xx soundcards.
499
500     port        - port # for ES-18xx chip (0x220,0x240,0x260)
501     mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
502     fm_port     - port # for FM (optional, not used)
503     irq         - IRQ # for ES-18xx chip (5,7,9,10)
504     dma1        - first DMA # for ES-18xx chip (0,1,3)
505     dma2        - first DMA # for ES-18xx chip (0,1,3)
506     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
507
508     Module supports up to 8 cards ISA PnP and autoprobe (without MPU-401 port
509     if native ISA PnP routines are not used).
510     When dma2 is equal with dma1, the driver works as half-duplex.
511
512     The power-management is supported.
513
514   Module snd-es1938
515   -----------------
516
517     Module for soundcards based on ESS Solo-1 (ES1938,ES1946) chips.
518
519     Module supports up to 8 cards and autoprobe.
520
521   Module snd-es1968
522   -----------------
523
524     Module for soundcards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
525
526     total_bufsize       - total buffer size in kB (1-4096kB)
527     pcm_substreams_p    - playback channels (1-8, default=2)
528     pcm_substreams_c    - capture channels (1-8, default=0)
529     clock               - clock (0 = auto-detection)
530     use_pm              - support the power-management (0 = off, 1 = on,
531                           2 = auto (default))
532     enable_mpu          - enable MPU401 (0 = off, 1 = on, 2 = auto (default))
533     joystick            - enable joystick (default off)       
534
535     Module supports up to 8 cards and autoprobe.
536
537     The power-management is supported.
538
539   Module snd-fm801
540   ----------------
541
542     Module for ForteMedia FM801 based PCI soundcards.
543
544     tea575x_tuner       - Enable TEA575x tuner
545                           - 1 = MediaForte 256-PCS
546                           - 2 = MediaForte 256-PCPR
547                           - 3 = MediaForte 64-PCR  
548                           - High 16-bits are video (radio) device number + 1
549                           - example: 0x10002 (MediaForte 256-PCPR, device 1)
550
551     Module supports up to 8 cards and autoprobe.
552     
553   Module snd-gusclassic
554   ---------------------
555
556     Module for Gravis UltraSound Classic soundcard.
557
558     port        - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
559     irq         - IRQ # for GF1 chip (3,5,9,11,12,15)
560     dma1        - DMA # for GF1 chip (1,3,5,6,7)
561     dma2        - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
562     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
563     voices      - GF1 voices limit (14-32)
564     pcm_voices  - reserved PCM voices
565
566     Module supports up to 8 cards and autoprobe.
567
568   Module snd-gusextreme
569   ---------------------
570
571     Module for Gravis UltraSound Extreme (Synergy ViperMax) soundcard.
572
573     port        - port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
574     gf1_port    - port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
575     mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
576     irq         - IRQ # for ES-1688 chip (5,7,9,10)
577     gf1_irq     - IRQ # for GF1 chip (3,5,9,11,12,15)
578     mpu_irq     - IRQ # for MPU-401 port (5,7,9,10)
579     dma8        - DMA # for ES-1688 chip (0,1,3)
580     dma1        - DMA # for GF1 chip (1,3,5,6,7)
581     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
582     voices      - GF1 voices limit (14-32)
583     pcm_voices  - reserved PCM voices
584
585     Module supports up to 8 cards and autoprobe (without MPU-401 port).
586
587   Module snd-gusmax
588   -----------------
589
590     Module for Gravis UltraSound MAX soundcard.
591
592     port        - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
593     irq         - IRQ # for GF1 chip (3,5,9,11,12,15)
594     dma1        - DMA # for GF1 chip (1,3,5,6,7)
595     dma2        - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
596     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
597     voices      - GF1 voices limit (14-32)
598     pcm_voices  - reserved PCM voices
599
600     Module supports up to 8 cards and autoprobe.
601     
602   Module snd-hdsp
603   ---------------
604
605     Module for RME Hammerfall DSP audio interface(s)
606
607     precise_ptr       - Enable precise pointer (doesn't work reliably).
608                         (default = 0)
609     line_outs_monitor - Send all input and playback streams to line outs
610                         by default. (default = 0)
611     force_firmware    - Force a reload of the I/O box firmware
612                         (default = 0)
613
614     Module supports up to 8 cards.
615
616     Note: The firmware data can be automatically loaded via hotplug
617           when CONFIG_FW_LOADER is set.  Otherwise, you need to load
618           the firmware via hdsploader utility included in alsa-tools
619           package.
620           The firmware data is found in alsa-firmware package.
621
622     Note: snd-page-alloc module does the job which snd-hammerfall-mem
623           module did formerly.  It will allocate the buffers in advance
624           when any HDSP cards are found.  To make the buffer
625           allocation sure, load snd-page-alloc module in the early
626           stage of boot sequence.
627
628   Module snd-ice1712
629   ------------------
630
631     Module for Envy24 (ICE1712) based PCI soundcards.
632                         * MidiMan M Audio Delta 1010
633                         * MidiMan M Audio Delta 1010LT
634                         * MidiMan M Audio Delta DiO 2496
635                         * MidiMan M Audio Delta 66
636                         * MidiMan M Audio Delta 44
637                         * MidiMan M Audio Delta 410
638                         * MidiMan M Audio Audiophile 2496
639                         * TerraTec EWS 88MT
640                         * TerraTec EWS 88D
641                         * TerraTec EWX 24/96
642                         * TerraTec DMX 6Fire
643                         * Hoontech SoundTrack DSP 24
644                         * Hoontech SoundTrack DSP 24 Value
645                         * Hoontech SoundTrack DSP 24 Media 7.1
646                         * Digigram VX442
647
648     model       - Use the given board model, one of the following:
649                   delta1010, dio2496, delta66, delta44, audiophile, delta410,
650                   delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
651                   dmx6fire, dsp24, dsp24_value, dsp24_71, ez8
652     omni        - Omni I/O support for MidiMan M-Audio Delta44/66
653     cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transciever)
654                      in msec resolution, default value is 500 (0.5 sec)
655
656     Module supports up to 8 cards and autoprobe. Note: The consumer part
657     is not used with all Envy24 based cards (for example in the MidiMan Delta
658     serie).
659
660   Module snd-ice1724
661   ------------------
662
663     Module for Envy24HT (VT/ICE1724) based PCI soundcards.
664                         * MidiMan M Audio Revolution 7.1
665                         * AMP Ltd AUDIO2000
666                         * TerraTec Aureon Sky-5.1, Space-7.1
667
668     model       - Use the given board model, one of the following:
669                   revo71, amp2000, prodigy71, aureon51, aureon71,
670                   k8x800
671
672     Module supports up to 8 cards and autoprobe.
673
674   Module snd-intel8x0
675   -------------------
676
677     Module for AC'97 motherboards from Intel and compatibles.
678                         * Intel i810/810E, i815, i820, i830, i84x, MX440
679                         * SiS 7012 (SiS 735)
680                         * NVidia NForce, NForce2
681                         * AMD AMD768, AMD8111
682                         * ALi m5455
683
684     ac97_clock    - AC'97 codec clock base (0 = auto-detect)
685     ac97_quirk    - AC'97 workaround for strange hardware
686                     The following strings are accepted:
687                       default = don't override the default setting
688                       disable = disable the quirk
689                       hp_only = use headphone control as master
690                       swap_hp = swap headphone and master controls
691                       swap_surround = swap master and surround controls
692                       ad_shring = for AD1985, turn on OMS bit and use headphone
693                       alc_jack = for ALC65x, turn on the jack sense mode
694                       inv_eapd = inverted EAPD implementation
695                       mute_led = bind EAPD bit for turning on/off mute LED
696                     For backward compatibility, the corresponding integer
697                     value -1, 0, ... are accepted, too.
698     buggy_irq     - Enable workaround for buggy interrupts on some
699                     motherboards (default off)
700
701     Module supports autoprobe and multiple bus-master chips (max 8).
702
703     Note: the latest driver supports auto-detection of chip clock.
704     if you still encounter too fast playback, specify the clock
705     explicitly via the module option "ac97_clock=41194".
706
707     Joystick/MIDI ports are not supported by this driver.  If your
708     motherboard has these devices, use the ns558 or snd-mpu401
709     modules, respectively.
710
711     The ac97_quirk option is used to enable/override the workaround
712     for specific devices.  Some hardware have swapped output pins
713     between Master and Headphone, or Surround.  The driver provides
714     the auto-detection of known problematic devices, but some might
715     be unknown or wrongly detected.  In such a case, pass the proper
716     value with this option.
717
718     The power-management is supported.
719     
720   Module snd-intel8x0m
721   --------------------
722
723     Module for Intel ICH (i8x0) chipset MC97 modems.
724
725     ac97_clock    - AC'97 codec clock base (0 = auto-detect)
726
727     This module supports up to 8 cards and autoprobe.
728
729   Module snd-interwave
730   --------------------
731
732     Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
733     and other soundcards based on AMD InterWave (tm) chip.
734   
735     port        - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
736     irq         - IRQ # for InterWave chip (3,5,9,11,12,15)
737     dma1        - DMA # for InterWave chip (0,1,3,5,6,7)
738     dma2        - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
739     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
740     midi        - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
741     pcm_voices  - reserved PCM voices for the synthesizer (default 2)
742     effect      - 1 = InterWave effects enable (default 0);
743                   requires 8 voices
744
745     Module supports up to 8 cards, autoprobe and ISA PnP.
746
747   Module snd-interwave-stb
748   ------------------------
749
750     Module for UltraSound 32-Pro (soundcard from STB used by Compaq)
751     and other soundcards based on AMD InterWave (tm) chip with TEA6330T
752     circuit for extended control of bass, treble and master volume.
753   
754     port        - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
755     port_tc     - tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
756     irq         - IRQ # for InterWave chip (3,5,9,11,12,15)
757     dma1        - DMA # for InterWave chip (0,1,3,5,6,7)
758     dma2        - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
759     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
760     midi        - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
761     pcm_voices  - reserved PCM voices for the synthesizer (default 2)
762     effect      - 1 = InterWave effects enable (default 0);
763                   requires 8 voices
764
765     Module supports up to 8 cards, autoprobe and ISA PnP.
766
767   Module snd-korg1212
768   -------------------
769
770     Module for Korg 1212 IO PCI card
771
772     Module supports up to 8 cards.
773
774   Module snd-maestro3
775   -------------------
776
777     Module for Allegro/Maestro3 chips
778
779     external_amp     - enable external amp (enabled by default)
780     amp_gpio         - GPIO pin number for external amp (0-15) or
781                        -1 for default pin (8 for allegro, 1 for
782                        others) 
783
784     Module supports autoprobe and multiple chips (max 8).
785
786     Note: the binding of amplifier is dependent on hardware.
787     If there is no sound even though all channels are unmuted, try to
788     specify other gpio connection via amp_gpio option. 
789     For example, a Panasonic notebook might need "amp_gpio=0x0d"
790     option.
791
792     The power-management is supported.
793
794   Module snd-mixart
795   -----------------
796
797     Module for Digigram miXart8 soundcards.
798
799     Module supports multiple cards.
800     Note: One miXart8 board will be represented as 4 alsa cards.
801           See MIXART.txt for details.
802
803     When the driver is compiled as a module and the hotplug firmware
804     is supported, the firmware data is loaded via hotplug automatically.
805     Install the necessary firmware files in alsa-firmware package.
806     When no hotplug fw loader is available, you need to load the
807     firmware via mixartloader utility in alsa-tools package.
808
809   Module snd-mpu401
810   -----------------
811
812     Module for MPU-401 UART devices.
813
814     port        - port number or -1 (disable)
815     irq         - IRQ number or -1 (disable)
816     acpipnp     - ACPI PnP detection - 0 = disable, 1 = enable (default)
817
818     Module supports multiple devices (max 8) and ACPI PnP.  If PnP is not
819     used (or ACPI not enabled), port and irq must be specified.
820     
821   Module snd-mtpav
822   ----------------
823
824     Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
825     port).
826
827     port        - I/O port # for MTPAV (0x378,0x278, default=0x378)
828     irq         - IRQ # for MTPAV (7,5, default=7)
829     hwports     - number of supported hardware ports, default=8.
830     
831     Module supports only 1 card.  This module has no enable option.
832
833   Module snd-nm256
834   ----------------
835
836     Module for NeoMagic NM256AV/ZX chips
837
838     playback_bufsize - max playback frame size in kB (4-128kB)
839     capture_bufsize  - max capture frame size in kB (4-128kB)
840     force_ac97       - 0 or 1 (disabled by default)
841     buffer_top       - specify buffer top address
842     use_cache        - 0 or 1 (disabled by default)
843     vaio_hack        - alias buffer_top=0x25a800
844     reset_workaround - enable AC97 RESET workaround for some laptops
845
846     Module supports autoprobe and multiple chips (max 8).
847
848     The power-management is supported.
849
850     Note: on some notebooks the buffer address cannot be detected
851     automatically, or causes hang-up during initialization.
852     In such a case, specify the buffer top address explicity via
853     buffer_top option.
854     For example,
855       Sony F250: buffer_top=0x25a800
856       Sony F270: buffer_top=0x272800
857     The driver supports only ac97 codec.  It's possible to force
858     to initialize/use ac97 although it's not detected.  In such a
859     case, use force_ac97=1 option - but *NO* guarantee whether it
860     works!
861
862     Note: The NM256 chip can be linked internally with non-AC97
863     codecs.  This driver supports only the AC97 codec, and won't work
864     with machines with other (most likely CS423x or OPL3SAx) chips,
865     even though the device is detected in lspci.  In such a case, try
866     other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
867     but some doesn't have ISA PnP.  You'll need to speicfy isapnp=0
868     and proper hardware parameters in the case without ISA PnP.
869
870     Note: some laptops need a workaround for AC97 RESET.  For the
871     known hardware like Dell Latitude LS and Sony PCG-F305, this
872     workaround is enabled automatically.  For other laptops with a
873     hard freeze, you can try reset_workaround=1 option.
874
875     Note: This driver is really crappy.  It's a porting from the
876     OSS driver, which is a result of black-magic reverse engineering.
877     The detection of codec will fail if the driver is loaded *after*
878     X-server as described above.  You might be able to force to load
879     the module, but it may result in hang-up.   Hence, make sure that
880     you load this module *before* X if you encounter this kind of
881     problem.
882
883   Module snd-opl3sa2
884   ------------------
885
886     Module for Yamaha OPL3-SA2/SA3 soundcards.
887
888     port        - control port # for OPL3-SA chip (0x370)
889     sb_port     - SB port # for OPL3-SA chip (0x220,0x240)
890     wss_port    - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
891     midi_port   - port # for MPU-401 UART (0x300,0x330), -1 = disable
892     fm_port     - FM port # for OPL3-SA chip (0x388), -1 = disable
893     irq         - IRQ # for OPL3-SA chip (5,7,9,10)
894     dma1        - first DMA # for Yamaha OPL3-SA chip (0,1,3)
895     dma2        - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
896     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
897     
898     Module supports up to 8 cards and ISA PnP. This module does not support
899     autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
900     
901     The power-management is supported.
902
903   Module snd-opti92x-ad1848
904   -------------------------
905
906     Module for soundcards based on OPTi 82c92x and Analog Devices AD1848 chips.
907     Module works with OAK Mozart cards as well.
908     
909     port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
910     mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
911     fm_port   - port # for OPL3 device (0x388)
912     irq       - IRQ # for WSS chip (5,7,9,10,11)
913     mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
914     dma1      - first DMA # for WSS chip (0,1,3)
915
916     This module supports only one card, autoprobe and PnP.
917
918   Module snd-opti92x-cs4231
919   -------------------------
920
921     Module for soundcards based on OPTi 82c92x and Crystal CS4231 chips.
922     
923     port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
924     mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
925     fm_port   - port # for OPL3 device (0x388)
926     irq       - IRQ # for WSS chip (5,7,9,10,11)
927     mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
928     dma1      - first DMA # for WSS chip (0,1,3)
929     dma2      - second DMA # for WSS chip (0,1,3)
930
931     This module supports only one card, autoprobe and PnP.
932
933   Module snd-opti93x
934   ------------------
935
936     Module for soundcards based on OPTi 82c93x chips.
937     
938     port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
939     mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
940     fm_port   - port # for OPL3 device (0x388)
941     irq       - IRQ # for WSS chip (5,7,9,10,11)
942     mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
943     dma1      - first DMA # for WSS chip (0,1,3)
944     dma2      - second DMA # for WSS chip (0,1,3)
945
946     This module supports only one card, autoprobe and PnP.
947
948   Module snd-powermac (on ppc only)
949   ---------------------------------
950
951     Module for PowerMac, iMac and iBook on-board soundchips
952
953     enable_beep     - enable beep using PCM (enabled as default)
954
955     Module supports autoprobe a chip.
956
957     Note: the driver may have problems regarding endianess.
958
959     The power-management is supported.
960
961   Module snd-rme32
962   ----------------
963
964     Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
965     Prodif96 and Prodif Gold) soundcards.
966
967     Module supports up to 8 cards.
968
969   Module snd-rme96
970   ----------------
971
972     Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST soundcards.
973
974     Module supports up to 8 cards.
975
976   Module snd-rme9652
977   ------------------
978
979     Module for RME Digi9652 (Hammerfall, Hammerfall-Light) soundcards.
980
981     precise_ptr - Enable precise pointer (doesn't work reliably).
982                   (default = 0)
983
984     Module supports up to 8 cards.
985
986     Note: snd-page-alloc module does the job which snd-hammerfall-mem
987           module did formerly.  It will allocate the buffers in advance
988           when any RME9652 cards are found.  To make the buffer
989           allocation sure, load snd-page-alloc module in the early
990           stage of boot sequence.
991
992   Module snd-sa11xx-uda1341 (on arm only)
993   ---------------------------------------
994
995     Module for Philips UDA1341TS on Compaq iPAQ H3600 soundcard.
996
997     Module supports only one card.
998     Module has no enable and index options.
999
1000   Module snd-sb8
1001   --------------
1002
1003     Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
1004                                          SoundBlaster 2.0,
1005                                          SoundBlaster Pro
1006
1007     port        - port # for SB DSP chip (0x220,0x240,0x260)
1008     irq         - IRQ # for SB DSP chip (5,7,9,10)
1009     dma8        - DMA # for SB DSP chip (1,3)
1010
1011     Module supports up to 8 cards and autoprobe.
1012     
1013   Module snd-sb16 and snd-sbawe
1014   -----------------------------
1015
1016     Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1017                                           SoundBlaster AWE 32 (PnP),
1018                                           SoundBlaster AWE 64 PnP
1019
1020     port        - port # for SB DSP 4.x chip (0x220,0x240,0x260)
1021     mpu_port    - port # for MPU-401 UART (0x300,0x330), -1 = disable
1022     awe_port    - base port # for EMU8000 synthesizer (0x620,0x640,0x660)
1023                    (snd-sbawe module only)
1024     irq         - IRQ # for SB DSP 4.x chip (5,7,9,10)
1025     dma8        - 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1026     dma16       - 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1027     mic_agc     - Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1028     csp         - ASP/CSP chip support - 0 = disable (default), 1 = enable
1029     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
1030     
1031     Module supports up to 8 cards, autoprobe and ISA PnP.
1032
1033     Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1034           disable 16bit DMA with dma16 = -1 module parameter.
1035           Also, all Sound Blaster 16 type cards can operate in 16-bit
1036           half duplex mode through 8-bit DMA channel by disabling their
1037           16-bit DMA channel.
1038     
1039   Module snd-sgalaxy
1040   ------------------
1041
1042     Module for Aztech Sound Galaxy soundcard.
1043
1044     sbport      - Port # for SB16 interface (0x220,0x240)
1045     wssport     - Port # for WSS interface (0x530,0xe80,0xf40,0x604)
1046     irq         - IRQ # (7,9,10,11)
1047     dma1        - DMA #
1048
1049     Module supports up to 8 cards.
1050
1051   Module snd-sscape
1052   -----------------
1053
1054     Module for ENSONIQ SoundScape PnP cards.
1055
1056     port        - Port # (PnP setup)
1057     irq         - IRQ # (PnP setup)
1058     mpu_irq     - MPU-401 IRQ # (PnP setup)
1059     dma         - DMA # (PnP setup)
1060
1061     Module supports up to 8 cards.  ISA PnP must be enabled.
1062     You need sscape_ctl tool in alsa-tools package for loading
1063     the microcode.
1064
1065   Module snd-sun-amd7930 (on sparc only)
1066   --------------------------------------
1067
1068     Module for AMD7930 sound chips found on Sparcs.
1069
1070     Module supports up to 8 cards.
1071
1072   Module snd-sun-cs4231 (on sparc only)
1073   -------------------------------------
1074
1075     Module for CS4231 sound chips found on Sparcs.
1076
1077     Module supports up to 8 cards.
1078
1079   Module snd-wavefront
1080   --------------------
1081
1082     Module for Turtle Beach Maui, Tropez and Tropez+ soundcards.
1083
1084     cs4232_pcm_port - Port # for CS4232 PCM interface.
1085     cs4232_pcm_irq  - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1086     cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1087     cs4232_mpu_irq  - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1088     use_cs4232_midi - Use CS4232 MPU-401 interface
1089                       (inaccessibly located inside your computer)
1090     ics2115_port    - Port # for ICS2115
1091     ics2115_irq     - IRQ # for ICS2115
1092     fm_port         - FM OPL-3 Port #
1093     dma1            - DMA1 # for CS4232 PCM interface.
1094     dma2            - DMA2 # for CS4232 PCM interface.
1095     isapnp          - ISA PnP detection - 0 = disable, 1 = enable (default)
1096
1097     Module supports up to 8 cards and ISA PnP.
1098
1099   Module snd-sonicvibes
1100   ---------------------
1101
1102     Module for S3 SonicVibes PCI soundcards.
1103                         * PINE Schubert 32 PCI
1104
1105     reverb    - Reverb Enable - 1 = enable, 0 = disable (default)
1106                   - SoundCard must have onboard SRAM for this.
1107     mge       - Mic Gain Enable - 1 = enable, 0 = disable (default)
1108     
1109     Module supports up to 8 cards and autoprobe.
1110
1111   Module snd-serial-u16550
1112   ------------------------
1113
1114     Module for UART16550A serial MIDI ports.
1115
1116     port        - port # for UART16550A chip
1117     irq         - IRQ # for UART16550A chip, -1 = poll mode
1118     speed       - speed in bauds (9600,19200,38400,57600,115200)
1119                   38400 = default
1120     base        - base for divisor in bauds (57600,115200,230400,460800)
1121                   115200 = default
1122     outs        - number of MIDI ports in a serial port (1-4)
1123                   1 = default
1124     adaptor     - Type of adaptor.
1125                   0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1126                   3 = MS-124W M/B, 4 = Generic
1127     
1128     Module supports up to 8 cards. This module does not support autoprobe
1129     thus the main port must be specified!!! Other options are optional.
1130
1131   Module snd-trident
1132   ------------------
1133
1134     Module for Trident 4DWave DX/NX soundcards.
1135                         * Best Union  Miss Melody 4DWave PCI
1136                         * HIS  4DWave PCI
1137                         * Warpspeed  ONSpeed 4DWave PCI
1138                         * AzTech  PCI 64-Q3D
1139                         * Addonics  SV 750
1140                         * CHIC  True Sound 4Dwave
1141                         * Shark  Predator4D-PCI
1142                         * Jaton  SonicWave 4D
1143
1144     pcm_channels   - max channels (voices) reserved for PCM
1145     wavetable_size - max wavetable size in kB (4-?kb)
1146
1147     Module supports up to 8 cards and autoprobe.
1148
1149     The power-management is supported.
1150
1151   Module snd-usb-audio
1152   --------------------
1153
1154     Module for USB audio and USB MIDI devices.
1155
1156     vid             - Vendor ID for the device (optional)
1157     pid             - Product ID for the device (optional)
1158
1159     This module supports up to 8 cards, autoprobe and hotplugging.
1160
1161   Module snd-usb-usx2y
1162   --------------------
1163
1164     Module for Tascam USB US-122, US-224 and US-428 devices.
1165
1166     This module supports up to 8 cards, autoprobe and hotplugging.
1167
1168     Note: you need to load the firmware via usx2yloader utility included
1169           in alsa-tools and alsa-firmware packages.
1170
1171   Module snd-via82xx
1172   ------------------
1173
1174     Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
1175     8233A, 8233C, 8235 (south) bridge.
1176
1177     mpu_port    - 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1178                   [VIA686A/686B only]
1179     joystick    - Enable joystick (default off) [VIA686A/686B only]
1180     ac97_clock  - AC'97 codec clock base (default 48000Hz)
1181     dxs_support - support DXS channels,
1182                   0 = auto (defalut), 1 = enable, 2 = disable,
1183                   3 = 48k only, 4 = no VRA
1184                   [VIA8233/C,8235 only]
1185     ac97_quirk  - AC'97 workaround for strange hardware
1186                   See the description of intel8x0 module for details.
1187
1188     Module supports autoprobe and multiple bus-master chips (max 8).
1189
1190     Note: on some SMP motherboards like MSI 694D the interrupts might
1191           not be generated properly.  In such a case, please try to
1192           set the SMP (or MPS) version on BIOS to 1.1 instead of
1193           default value 1.4.  Then the interrupt number will be
1194           assigned under 15. You might also upgrade your BIOS.
1195     
1196     Note: VIA8233/5 (not VIA8233A) can support DXS (direct sound)
1197           channels as the first PCM.  On these channels, up to 4
1198           streams can be played at the same time.
1199           As default (dxs_support = 0), 48k fixed rate is chosen
1200           except for the known devices since the output is often
1201           noisy except for 48k on some mother boards due to the
1202           bug of BIOS.
1203           Please try once dxs_support=1 and if it works on other
1204           sample rates (e.g. 44.1kHz of mp3 playback), please let us
1205           know the PCI subsystem vendor/device id's (output of
1206           "lspci -nv").
1207           If it doesn't work, try dxs_support=4.  If it still doesn't
1208           work and the default setting is ok, dxs_support=3 is the
1209           right choice.  If the default setting doesn't work at all,
1210           try dxs_support=2 to disable the DXS channels.
1211           In any cases, please let us know the result and the
1212           subsystem vendor/device ids.
1213
1214     Note: for the MPU401 on VIA823x, use snd-mpu401 driver
1215           additonally.  The mpu_port option is for VIA686 chips only.
1216
1217   Module snd-via82xx-modem
1218   ------------------------
1219
1220     Module for VIA82xx AC97 modem
1221
1222     ac97_clock  - AC'97 codec clock base (default 48000Hz)
1223
1224     Module supports up to 8 cards.
1225
1226   Module snd-virmidi
1227   ------------------
1228
1229     Module for virtual rawmidi devices.
1230     This module creates virtual rawmidi devices which communicate
1231     to the corresponding ALSA sequencer ports.
1232
1233     midi_devs   - MIDI devices # (1-8, default=4)
1234     
1235     Module supports up to 8 cards.
1236
1237   Module snd-vx222
1238   ----------------
1239
1240     Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
1241
1242     mic         - Enable Microphone on V222 Mic (NYI)
1243     ibl         - Capture IBL size. (default = 0, minimum size)
1244
1245     Module supports up to 8 cards.
1246
1247     When the driver is compiled as a module and the hotplug firmware
1248     is supported, the firmware data is loaded via hotplug automatically.
1249     Install the necessary firmware files in alsa-firmware package.
1250     When no hotplug fw loader is available, you need to load the
1251     firmware via vxloader utility in alsa-tools package.  To invoke
1252     vxloader automatically, add the following to /etc/modprobe.conf
1253
1254         install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
1255
1256     (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
1257      /etc/modules.conf, instead.)
1258     IBL size defines the interrupts period for PCM.  The smaller size
1259     gives smaller latency but leads to more CPU consumption, too.
1260     The size is usually aligned to 126.  As default (=0), the smallest
1261     size is chosen.  The possible IBL values can be found in
1262     /proc/asound/cardX/vx-status proc file.
1263
1264   Module snd-vxpocket
1265   -------------------
1266
1267     Module for Digigram VX-Pocket VX2 PCMCIA card.
1268
1269     irq_mask - IRQ bitmask, specifies the available IRQs as bits
1270                (default = 0xffff, all available)
1271     irq_list - List of available interrupts (default = -1, not specified)
1272                4 numbers must be given (if specified).
1273     ibl      - Capture IBL size. (default = 0, minimum size)
1274
1275     Module supports up to 8 cards.  The module is compiled only when
1276     PCMCIA is supported on kernel.
1277
1278     To activate the driver via the card manager, you'll need to set
1279     up /etc/pcmcia/vxpocket.conf.  See the sound/pcmcia/vx/vxpocket.c.
1280
1281     When the driver is compiled as a module and the hotplug firmware
1282     is supported, the firmware data is loaded via hotplug automatically.
1283     Install the necessary firmware files in alsa-firmware package.
1284     When no hotplug fw loader is available, you need to load the
1285     firmware via vxloader utility in alsa-tools package.
1286
1287     The irq_mask and irq_list are provided to avoid allocation of
1288     specific IRQs.  Usually you don't need to specify them.
1289
1290     About capture IBL, see the description of snd-vx222 module.
1291
1292     Note: the driver is build only when CONFIG_ISA is set.
1293     
1294   Module snd-vxp440
1295   -----------------
1296
1297     Module for Digigram VX-Pocket 440 PCMCIA card.
1298
1299     irq_mask - IRQ bitmask, specifies the available IRQs as bits
1300     irq_list - List of available interrupts (default = -1, not specified)
1301                4 numbers must be given (if specified).
1302     ibl      - Capture IBL size. (default = 0, minimum size)
1303
1304     Module supports up to 8 cards.  The module is compiled only when
1305     PCMCIA is supported on kernel.
1306
1307     To activate the driver via the card manager, you'll need to set
1308     up /etc/pcmcia/vxp440.conf.  See the sound/pcmcia/vx/vxp440.c.
1309
1310     When the driver is compiled as a module and the hotplug firmware
1311     is supported, the firmware data is loaded via hotplug automatically.
1312     Install the necessary firmware files in alsa-firmware package.
1313     When no hotplug fw loader is available, you need to load the
1314     firmware via vxloader utility in alsa-tools package.
1315
1316     The irq_mask and irq_list are provided to avoid allocation of
1317     specific IRQs.  Usually you don't need to specify them.
1318
1319     About capture IBL, see the description of snd-vx222 module.
1320
1321     Note: the driver is build only when CONFIG_ISA is set.
1322     
1323   Module snd-ymfpci
1324   -----------------
1325
1326     Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
1327
1328     mpu_port      - 0x300,0x330,0x332,0x334, 0 (disable) by default,
1329                     1 (auto-detect for YMF744/754 only)
1330     fm_port       - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
1331                     1 (auto-detect for YMF744/754 only)
1332     joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
1333                     1 (auto-detect)
1334     rear_switch   - enable shared rear/line-in switch (bool)
1335
1336     Module supports autoprobe and multiple chips (max 8).
1337
1338     The power-management is supported.
1339
1340   Module snd-pdaudiocf
1341   --------------------
1342
1343     Module for Sound Core PDAudioCF soundcard.
1344
1345     irq_mask      - IRQ mask (PCMCIA type)
1346     irq_list      - List of available interrupts for this soundcard
1347
1348     Note: the driver is build only when CONFIG_ISA is set.
1349
1350
1351 Configuring Non-ISAPNP Cards
1352 ============================
1353
1354 When the kernel is configured with ISA-PnP support, the modules
1355 supporting the isapnp cards will have module options "isapnp".
1356 If this option is set, *only* the ISA-PnP devices will be probed.
1357 For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
1358 together with the proper i/o and irq configuration.
1359
1360 When the kernel is configured without ISA-PnP support, isapnp option
1361 will be not built in.
1362
1363
1364 Module Autoloading Support
1365 ==========================
1366
1367 The ALSA drivers can be loaded automatically on demand by defining
1368 module aliases.  The string 'snd-card-%1' is requested for ALSA native
1369 devices where %i is soundcard number from zero to seven.
1370
1371 To auto-load an ALSA driver for OSS services, define the string
1372 'sound-slot-%i' where %i means the slot number for OSS, which
1373 corresponds to the card index of ALSA.  Usually, define this
1374 as the the same card module.
1375
1376 An example configuration for a single emu10k1 card is like below:
1377 ----- /etc/modprobe.conf
1378 alias snd-card-0 snd-emu10k1
1379 alias sound-slot-0 snd-emu10k1
1380 ----- /etc/modprobe.conf
1381
1382 The available number of auto-loaded soundcards depends on the module
1383 option "cards_limit" of snd module.  As default it's set to 1.
1384 To enable the auto-loading of multiple cards, specify the number of
1385 soundcards in that option.
1386
1387 When multiple cards are available, it'd better to specify the index
1388 number for each card via module option, too, so that the order of
1389 cards is kept consistent.
1390
1391 An example configuration for two soundcards is like below:
1392
1393 ----- /etc/modprobe.conf
1394 # ALSA portion
1395 options snd cards_limit=2
1396 alias snd-card-0 snd-interwave
1397 alias snd-card-1 snd-ens1371
1398 options snd-interwave index=0
1399 options snd-ens1371 index=1
1400 # OSS/Free portion
1401 alias sound-slot-0 snd-interwave
1402 alias sound-slot-1 snd-ens1371
1403 ----- /etc/moprobe.conf
1404
1405 In this example, the interwave card is always loaded as the first card
1406 (index 0) and ens1371 as the second (index 1).
1407
1408
1409 ALSA PCM devices to OSS devices mapping
1410 =======================================
1411
1412 /dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
1413 /dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
1414 /dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
1415 /dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
1416 /dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
1417 /dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
1418 /dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
1419 /dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
1420 /dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
1421
1422 The first number from /dev/snd/pcmC{X}D{Y}[c|p] expression means
1423 soundcard number and second means device number.  The ALSA devices
1424 have either 'c' or 'p' suffix indicating the direction, capture and
1425 playback, respectively.
1426
1427 Please note that the device mapping above may be varied via the module
1428 options of snd-pcm-oss module.
1429
1430
1431 DEVFS support
1432 =============
1433
1434 The ALSA driver fully supports the devfs extension.
1435 You should add lines below to your devfsd.conf file:
1436
1437 LOOKUP snd MODLOAD ACTION snd
1438 REGISTER ^sound/.* PERMISSIONS root.audio 660
1439 REGISTER ^snd/.* PERMISSIONS root.audio 660
1440
1441 Warning: These lines assume that you have the audio group in your system.
1442          Otherwise replace audio word with another group name (root for
1443          example).
1444
1445
1446 Proc interfaces (/proc/asound)
1447 ==============================
1448
1449 /proc/asound/card#/pcm#[cp]/oss
1450 -------------------------------
1451   String "erase" - erase all additional informations about OSS applications
1452   String "<app_name> <fragments> <fragment_size> [<options>]"
1453
1454    <app_name> - name of application with (higher priority) or without path
1455    <fragments> - number of fragments or zero if auto
1456    <fragment_size> - size of fragment in bytes or zero if auto
1457    <options> - optional parameters
1458           - disable   the application tries to open a pcm device for
1459                       this channel but does not want to use it.
1460                       (Cause a bug or mmap needs)
1461                       It's good for Quake etc...
1462           - direct    don't use plugins
1463           - block     force block mode (rvplayer)
1464           - non-block force non-block mode
1465           - whole-frag  write only whole fragments (optimization affecting
1466                         playback only)
1467           - no-silence  do not fill silence ahead to avoid clicks
1468
1469   Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
1470            echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
1471            echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
1472
1473
1474 Links
1475 =====
1476
1477   ALSA project homepage
1478        http://www.alsa-project.org
1479