About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / sound / alsa / ALSA-Configuration.txt




Custom Search

Based on kernel version 2.6.32. Page generated on 2009-12-11 16:23 EST.

1	
2			Advanced Linux Sound Architecture - Driver
3			==========================================
4				    Configuration guide
5	
6	
7	Kernel Configuration
8	====================
9	
10	To enable ALSA support you need at least to build the kernel with
11	primary sound card support (CONFIG_SOUND).  Since ALSA can emulate OSS,
12	you don't have to choose any of the OSS modules.
13	
14	Enable "OSS API emulation" (CONFIG_SND_OSSEMUL) and both OSS mixer and
15	PCM supports if you want to run OSS applications with ALSA.
16	
17	If you want to support the WaveTable functionality on cards such as
18	SB Live! then you need to enable "Sequencer support"
19	(CONFIG_SND_SEQUENCER).
20	
21	To make ALSA debug messages more verbose, enable the "Verbose printk"
22	and "Debug" options.  To check for memory leaks, turn on "Debug memory"
23	too.  "Debug detection" will add checks for the detection of cards.
24	
25	Please note that all the ALSA ISA drivers support the Linux isapnp API
26	(if the card supports ISA PnP).  You don't need to configure the cards
27	using isapnptools.
28	
29	
30	Creating ALSA devices
31	=====================
32	
33	This depends on your distribution, but normally you use the /dev/MAKEDEV
34	script to create the necessary device nodes.  On some systems you use a
35	script named 'snddevices'.
36	
37	
38	Module parameters
39	=================
40	
41	The user can load modules with options. If the module supports more than
42	one card and you have more than one card of the same type then you can
43	specify multiple values for the option separated by commas.
44	
45	Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
46	
47	  Module snd
48	  ----------
49	
50	    The core ALSA module.  It is used by all ALSA card drivers.
51	    It takes the following options which have global effects.
52	
53	    major	- major number for sound driver
54			- Default: 116
55	    cards_limit
56			- limiting card index for auto-loading (1-8)
57			- Default: 1
58			- For auto-loading more than one card, specify this
59			  option together with snd-card-X aliases.
60	    slots	- Reserve the slot index for the given driver.
61			  This option takes multiple strings.		
62			  See "Module Autoloading Support" section for details.
63	    debug	- Specifies the debug message level
64			  (0 = disable debug prints, 1 = normal debug messages,
65			   2 = verbose debug messages)
66			  This option appears only when CONFIG_SND_DEBUG=y.
67			  This option can be dynamically changed via sysfs
68			  /sys/modules/snd/parameters/debug file.
69	  
70	  Module snd-pcm-oss
71	  ------------------
72	
73	    The PCM OSS emulation module.
74	    This module takes options which change the mapping of devices.
75	
76	    dsp_map	- PCM device number maps assigned to the 1st OSS device.
77			- Default: 0
78	    adsp_map	- PCM device number maps assigned to the 2st OSS device.
79			- Default: 1
80	    nonblock_open
81			- Don't block opening busy PCM devices.  Default: 1
82	
83	    For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of
84	    the card #0.  Similarly, when adsp_map=0, /dev/adsp will be mapped
85	    to PCM #0 of the card #0.
86	    For changing the second or later card, specify the option with
87	    commas, such like "dsp_map=0,1".
88	
89	    nonblock_open option is used to change the behavior of the PCM
90	    regarding opening the device.  When this option is non-zero,
91	    opening a busy OSS PCM device won't be blocked but return
92	    immediately with EAGAIN (just like O_NONBLOCK flag).
93	    
94	  Module snd-rawmidi
95	  ------------------
96	
97	    This module takes options which change the mapping of devices.
98	    similar to those of the snd-pcm-oss module.
99	
100	    midi_map	- MIDI device number maps assigned to the 1st OSS device.
101			- Default: 0
102	    amidi_map	- MIDI device number maps assigned to the 2st OSS device.
103			- Default: 1
104	
105	  Common parameters for top sound card modules
106	  --------------------------------------------
107	
108	    Each of top level sound card module takes the following options.
109	
110	    index	- index (slot #) of sound card
111			- Values: 0 through 31 or negative
112			- If nonnegative, assign that index number
113	                - if negative, interpret as a bitmask of permissible
114			  indices; the first free permitted index is assigned
115			- Default: -1
116	    id		- card ID (identifier or name)
117			- Can be up to 15 characters long
118			- Default: the card type
119			- A directory by this name is created under /proc/asound/
120			  containing information about the card
121			- This ID can be used instead of the index number in
122			  identifying the card
123	    enable  	- enable card
124			- Default: enabled, for PCI and ISA PnP cards
125	
126	  Module snd-adlib
127	  ----------------
128	
129	    Module for AdLib FM cards.
130	
131	    port	- port # for OPL chip
132	
133	    This module supports multiple cards. It does not support autoprobe, so
134	    the port must be specified. For actual AdLib FM cards it will be 0x388.
135	    Note that this card does not have PCM support and no mixer; only FM
136	    synthesis.
137	
138	    Make sure you have "sbiload" from the alsa-tools package available and,
139	    after loading the module, find out the assigned ALSA sequencer port
140	    number through "sbiload -l". Example output:
141	
142	      Port     Client name                       Port name
143	      64:0     OPL2 FM synth                     OPL2 FM Port
144	
145	    Load the std.sb and drums.sb patches also supplied by sbiload:
146	
147	      sbiload -p 64:0 std.sb drums.sb
148	
149	    If you use this driver to drive an OPL3, you can use std.o3 and drums.o3
150	    instead. To have the card produce sound, use aplaymidi from alsa-utils:
151	
152	      aplaymidi -p 64:0 foo.mid
153	
154	  Module snd-ad1816a
155	  ------------------
156	
157	    Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
158	
159	    clockfreq   - Clock frequency for AD1816A chip (default = 0, 33000Hz)
160	    
161	    This module supports multiple cards, autoprobe and PnP.
162	    
163	  Module snd-ad1848
164	  -----------------
165	
166	    Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
167	
168	    port	- port # for AD1848 chip
169	    irq		- IRQ # for AD1848  chip
170	    dma1	- DMA # for AD1848 chip (0,1,3)
171	    
172	    This module supports multiple cards.  It does not support autoprobe
173	    thus main port must be specified!!! Other ports are optional.
174	    
175	    The power-management is supported.
176	
177	  Module snd-ad1889
178	  -----------------
179	
180	    Module for Analog Devices AD1889 chips.
181	
182	    ac97_quirk  - AC'97 workaround for strange hardware
183	                  See the description of intel8x0 module for details.
184	
185	    This module supports multiple cards.
186	
187	  Module snd-ali5451
188	  ------------------
189	
190	    Module for ALi M5451 PCI chip.
191	
192	    pcm_channels    - Number of hardware channels assigned for PCM
193	    spdif           - Support SPDIF I/O
194	    		    - Default: disabled
195	
196	    This module supports one chip and autoprobe.
197	
198	    The power-management is supported.
199	
200	  Module snd-als100
201	  -----------------
202	
203	    Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
204	
205	    This module supports multiple cards, autoprobe and PnP.
206	
207	    The power-management is supported.
208	
209	  Module snd-als300
210	  -----------------
211	
212	    Module for  Avance Logic ALS300 and ALS300+
213	
214	    This module supports multiple cards.
215	
216	    The power-management is supported.
217	
218	  Module snd-als4000
219	  ------------------
220	
221	    Module for sound cards based on Avance Logic ALS4000 PCI chip.
222	
223	    joystick_port - port # for legacy joystick support.
224	                    0 = disabled (default), 1 = auto-detect
225	    
226	    This module supports multiple cards, autoprobe and PnP.
227	
228	    The power-management is supported.
229	
230	  Module snd-atiixp
231	  -----------------
232	
233	    Module for ATI IXP 150/200/250/400 AC97 controllers.
234	
235	    ac97_clock		- AC'97 clock (default = 48000)
236	    ac97_quirk		- AC'97 workaround for strange hardware
237				  See "AC97 Quirk Option" section below.
238	    ac97_codec		- Workaround to specify which AC'97 codec 
239				  instead of probing.  If this works for you
240				  file a bug with your `lspci -vn` output.
241				  -2  -- Force probing.
242				  -1  -- Default behavior.
243				  0-2 -- Use the specified codec.
244	    spdif_aclink	- S/PDIF transfer over AC-link (default = 1)
245	
246	    This module supports one card and autoprobe.
247	
248	    ATI IXP has two different methods to control SPDIF output.  One is
249	    over AC-link and another is over the "direct" SPDIF output.  The
250	    implementation depends on the motherboard, and you'll need to
251	    choose the correct one via spdif_aclink module option.
252	
253	    The power-management is supported.
254	
255	  Module snd-atiixp-modem
256	  -----------------------
257	
258	    Module for ATI IXP 150/200/250 AC97 modem controllers.
259	
260	    This module supports one card and autoprobe.
261	
262	    Note: The default index value of this module is -2, i.e. the first
263	          slot is excluded.
264	
265	    The power-management is supported.
266	
267	  Module snd-au8810, snd-au8820, snd-au8830
268	  -----------------------------------------
269	
270	    Module for Aureal Vortex, Vortex2 and Advantage device.
271	
272	    pcifix	- Control PCI workarounds
273			  0 = Disable all workarounds
274			  1 = Force the PCI latency of the Aureal card to 0xff
275			  2 = Force the Extend PCI#2 Internal Master for Efficient
276			      Handling of Dummy Requests on the VIA KT133 AGP Bridge
277			  3 = Force both settings
278			  255 = Autodetect what is required (default)
279	
280	    This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
281	    EQ, mpu401, gameport. A3D and wavetable support are still in development.
282	    Development and reverse engineering work is being coordinated at
283	    http://savannah.nongnu.org/projects/openvortex/
284	    SPDIF output has a copy of the AC97 codec output, unless you use the
285	    "spdif" pcm device, which allows raw data passthru.
286	    The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
287	    Advantage.
288	
289	    Note: Some ALSA mixer applications don't handle the SPDIF sample rate 
290	           control correctly. If you have problems regarding this, try
291	           another ALSA compliant mixer (alsamixer works).
292	
293	  Module snd-aw2
294	  --------------
295	
296	    Module for Audiowerk2 sound card
297	
298	    This module supports multiple cards.
299	
300	  Module snd-azt2320
301	  ------------------
302	
303	    Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
304	
305	    This module supports multiple cards, PnP and autoprobe.
306	    
307	    The power-management is supported.
308	
309	  Module snd-azt3328
310	  ------------------
311	
312	    Module for sound cards based on Aztech AZF3328 PCI chip.
313	
314	    joystick	- Enable joystick (default off)
315	
316	    This module supports multiple cards.
317	
318	  Module snd-bt87x
319	  ----------------
320	
321	    Module for video cards based on Bt87x chips.
322	
323	    digital_rate - Override the default digital rate (Hz)
324	    load_all	- Load the driver even if the card model isn't known
325	
326	    This module supports multiple cards.
327	
328	    Note: The default index value of this module is -2, i.e. the first
329	          slot is excluded.
330	
331	  Module snd-ca0106
332	  -----------------
333	
334	    Module for Creative Audigy LS and SB Live 24bit
335	
336	    This module supports multiple cards.
337	
338	
339	  Module snd-cmi8330
340	  ------------------
341	
342	    Module for sound cards based on C-Media CMI8330 ISA chips.
343	
344	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
345	
346	    with isapnp=0, the following options are available:
347	
348	    wssport	- port # for CMI8330 chip (WSS)
349	    wssirq	- IRQ # for CMI8330 chip (WSS)
350	    wssdma	- first DMA # for CMI8330 chip (WSS)
351	    sbport	- port # for CMI8330 chip (SB16)
352	    sbirq	- IRQ # for CMI8330 chip (SB16)
353	    sbdma8	- 8bit DMA # for CMI8330 chip (SB16)
354	    sbdma16	- 16bit DMA # for CMI8330 chip (SB16)
355	    fmport	- (optional) OPL3 I/O port
356	    mpuport	- (optional) MPU401 I/O port
357	    mpuirq	- (optional) MPU401 irq #
358	
359	    This module supports multiple cards and autoprobe.
360	
361	    The power-management is supported.
362	
363	  Module snd-cmipci
364	  -----------------
365	
366	    Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
367	
368	    mpu_port    - port address of MIDI interface (8338 only):
369			  0x300,0x310,0x320,0x330 = legacy port,
370			  0 = disable (default)
371	    fm_port     - port address of OPL-3 FM synthesizer (8x38 only):
372			  0x388 = legacy port,
373			  1 = integrated PCI port (default on 8738),
374			  0 = disable
375	    soft_ac3    - Software-conversion of raw SPDIF packets (model 033 only)
376	                  (default = 1)
377	    joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
378	
379	    This module supports autoprobe and multiple cards.
380	    
381	    The power-management is supported.
382	
383	  Module snd-cs4231
384	  -----------------
385	
386	    Module for sound cards based on CS4231 ISA chips.
387	
388	    port	- port # for CS4231 chip
389	    mpu_port	- port # for MPU-401 UART (optional), -1 = disable
390	    irq		- IRQ # for CS4231 chip
391	    mpu_irq	- IRQ # for MPU-401 UART
392	    dma1	- first DMA # for CS4231 chip
393	    dma2	- second DMA # for CS4231 chip
394	    
395	    This module supports multiple cards. This module does not support autoprobe
396	    thus main port must be specified!!! Other ports are optional.
397	
398	    The power-management is supported.
399	    
400	  Module snd-cs4236
401	  -----------------
402	
403	    Module for sound cards based on CS4232/CS4232A,
404	    	       	     	   	   CS4235/CS4236/CS4236B/CS4237B/
405	                                   CS4238B/CS4239 ISA chips.
406	
407	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
408	
409	    with isapnp=0, the following options are available:
410	
411	    port	- port # for CS4236 chip (PnP setup - 0x534)
412	    cport	- control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
413	    mpu_port	- port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
414	    fm_port	- FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
415	    irq		- IRQ # for CS4236 chip (5,7,9,11,12,15)
416	    mpu_irq	- IRQ # for MPU-401 UART (9,11,12,15)
417	    dma1	- first DMA # for CS4236 chip (0,1,3)
418	    dma2	- second DMA # for CS4236 chip (0,1,3), -1 = disable
419	    
420	    This module supports multiple cards. This module does not support autoprobe
421	    (if ISA PnP is not used) thus main port and control port must be
422	    specified!!! Other ports are optional.
423	
424	    The power-management is supported.
425	
426	    This module is aliased as snd-cs4232 since it provides the old
427	    snd-cs4232 functionality, too.
428	
429	  Module snd-cs4281
430	  -----------------
431	
432	    Module for Cirrus Logic CS4281 soundchip.
433	
434	    dual_codec	- Secondary codec ID (0 = disable, default)
435	
436	    This module supports multiple cards.
437	
438	    The power-management is supported.
439	
440	  Module snd-cs46xx
441	  -----------------
442	
443	    Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
444					       CS4624/CS4630/CS4280 PCI chips.
445	
446	    external_amp     - Force to enable external amplifier.
447	    thinkpad         - Force to enable Thinkpad's CLKRUN control.
448	    mmap_valid       - Support OSS mmap mode (default = 0).
449	
450	    This module supports multiple cards and autoprobe.
451	    Usually external amp and CLKRUN controls are detected automatically
452	    from PCI sub vendor/device ids.  If they don't work, give the options
453	    above explicitly.
454	
455	    The power-management is supported.
456	
457	  Module snd-cs5530
458	  _________________
459	
460	    Module for Cyrix/NatSemi Geode 5530 chip. 
461	  
462	  Module snd-cs5535audio
463	  ----------------------
464	
465	    Module for multifunction CS5535 companion PCI device
466	
467	    The power-management is supported.
468	
469	  Module snd-ctxfi
470	  ----------------
471	
472	    Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
473		* Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series
474		* Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series
475		* Creative Sound Blaster X-Fi Titanium Professional Audio
476		* Creative Sound Blaster X-Fi Titanium
477		* Creative Sound Blaster X-Fi Elite Pro
478		* Creative Sound Blaster X-Fi Platinum
479		* Creative Sound Blaster X-Fi Fatal1ty
480		* Creative Sound Blaster X-Fi XtremeGamer
481		* Creative Sound Blaster X-Fi XtremeMusic
482	
483	    reference_rate	- reference sample rate, 44100 or 48000 (default)
484	    multiple		- multiple to ref. sample rate, 1 or 2 (default)
485	
486	    This module supports multiple cards.
487	
488	  Module snd-darla20
489	  ------------------
490	
491	    Module for Echoaudio Darla20
492	
493	    This module supports multiple cards.
494	    The driver requires the firmware loader support on kernel.
495	
496	  Module snd-darla24
497	  ------------------
498	
499	    Module for Echoaudio Darla24
500	
501	    This module supports multiple cards.
502	    The driver requires the firmware loader support on kernel.
503	
504	  Module snd-dt019x
505	  -----------------
506	
507	    Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
508	    only)
509	
510	    This module supports multiple cards.  This module is enabled only with
511	    ISA PnP support.
512	
513	    The power-management is supported.
514	
515	  Module snd-dummy
516	  ----------------
517	
518	    Module for the dummy sound card. This "card" doesn't do any output
519	    or input, but you may use this module for any application which
520	    requires a sound card (like RealPlayer).
521	
522	    pcm_devs       - Number of PCM devices assigned to each card
523	                     (default = 1, up to 4)
524	    pcm_substreams - Number of PCM substreams assigned to each PCM
525	                     (default = 8, up to 128)
526	    hrtimer        - Use hrtimer (=1, default) or system timer (=0)
527	    fake_buffer    - Fake buffer allocations (default = 1)
528	
529	    When multiple PCM devices are created, snd-dummy gives different
530	    behavior to each PCM device:
531	      0 = interleaved with mmap support
532	      1 = non-interleaved with mmap support
533	      2 = interleaved without mmap 
534	      3 = non-interleaved without mmap
535	
536	    As default, snd-dummy drivers doesn't allocate the real buffers
537	    but either ignores read/write or mmap a single dummy page to all
538	    buffer pages, in order to save the resouces.  If your apps need
539	    the read/ written buffer data to be consistent, pass fake_buffer=0
540	    option.
541	
542	    The power-management is supported.
543	
544	  Module snd-echo3g
545	  -----------------
546	
547	    Module for Echoaudio 3G cards (Gina3G/Layla3G)
548	
549	    This module supports multiple cards.
550	    The driver requires the firmware loader support on kernel.
551	
552	  Module snd-emu10k1
553	  ------------------
554	
555	    Module for EMU10K1/EMU10k2 based PCI sound cards.
556				* Sound Blaster Live!
557				* Sound Blaster PCI 512
558				* Emu APS (partially supported)
559				* Sound Blaster Audigy
560	
561	    extin   - bitmap of available external inputs for FX8010 (see bellow)
562	    extout  - bitmap of available external outputs for FX8010 (see bellow)
563	    seq_ports - allocated sequencer ports (4 by default)
564	    max_synth_voices - limit of voices used for wavetable (64 by default)
565	    max_buffer_size  - specifies the maximum size of wavetable/pcm buffers
566	                       given in MB unit.  Default value is 128.
567	    enable_ir - enable IR
568	
569	    This module supports multiple cards and autoprobe.
570	
571	    Input & Output configurations 			[extin/extout]
572		* Creative Card wo/Digital out			[0x0003/0x1f03]
573		* Creative Card w/Digital out			[0x0003/0x1f0f]
574		* Creative Card w/Digital CD in			[0x000f/0x1f0f]
575		* Creative Card wo/Digital out + LiveDrive	[0x3fc3/0x1fc3]
576		* Creative Card w/Digital out + LiveDrive	[0x3fc3/0x1fcf]
577		* Creative Card w/Digital CD in + LiveDrive	[0x3fcf/0x1fcf]
578		* Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
579		* Creative Card w/Digital out + Digital I/O 2	[0x0fc3/0x1f0f]
580		* Creative Card w/Digital CD in + Digital I/O 2	[0x0fcf/0x1f0f]
581	        * Creative Card 5.1/w Digital out + LiveDrive	[0x3fc3/0x1fff]
582		* Creative Card 5.1 (c) 2003			[0x3fc3/0x7cff]
583	        * Creative Card all ins and outs		[0x3fff/0x7fff]
584	    
585	    The power-management is supported.
586	
587	  Module snd-emu10k1x
588	  -------------------
589	
590	    Module for Creative Emu10k1X (SB Live Dell OEM version)
591	
592	    This module supports multiple cards.
593	
594	  Module snd-ens1370
595	  ------------------
596	
597	    Module for Ensoniq AudioPCI ES1370 PCI sound cards.
598				* SoundBlaster PCI 64
599				* SoundBlaster PCI 128
600	
601	    joystick		- Enable joystick (default off)
602	
603	    This module supports multiple cards and autoprobe.
604	    
605	    The power-management is supported.
606	
607	  Module snd-ens1371
608	  ------------------
609	
610	    Module for Ensoniq AudioPCI ES1371 PCI sound cards.
611				* SoundBlaster PCI 64
612				* SoundBlaster PCI 128
613				* SoundBlaster Vibra PCI
614	
615	    joystick_port	- port # for joystick (0x200,0x208,0x210,0x218),
616				  0 = disable (default), 1 = auto-detect
617	
618	    This module supports multiple cards and autoprobe.
619	    
620	    The power-management is supported.
621	
622	  Module snd-es968
623	  ----------------
624	
625	    Module for sound cards based on ESS ES968 chip (PnP only).
626	
627	    This module supports multiple cards, PnP and autoprobe.
628	    
629	    The power-management is supported.
630	
631	  Module snd-es1688
632	  -----------------
633	
634	    Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
635	
636	    port	- port # for ES-1688 chip (0x220,0x240,0x260)
637	    fm_port	- port # for OPL3 (option; share the same port as default)
638	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
639	    irq		- IRQ # for ES-1688 chip (5,7,9,10)
640	    mpu_irq	- IRQ # for MPU-401 port (5,7,9,10)
641	    dma8	- DMA # for ES-1688 chip (0,1,3)
642	
643	    This module supports multiple cards and autoprobe (without MPU-401 port).
644	
645	  Module snd-es18xx
646	  -----------------
647	
648	    Module for ESS AudioDrive ES-18xx sound cards.
649	
650	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
651	
652	    with isapnp=0, the following options are available:
653	
654	    port	- port # for ES-18xx chip (0x220,0x240,0x260)
655	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
656	    fm_port	- port # for FM (optional, not used)
657	    irq		- IRQ # for ES-18xx chip (5,7,9,10)
658	    dma1	- first DMA # for ES-18xx chip (0,1,3)
659	    dma2	- first DMA # for ES-18xx chip (0,1,3)
660	
661	    This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
662	    port if native ISA PnP routines are not used).
663	    When dma2 is equal with dma1, the driver works as half-duplex.
664	
665	    The power-management is supported.
666	
667	  Module snd-es1938
668	  -----------------
669	
670	    Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
671	
672	    This module supports multiple cards and autoprobe.
673	
674	    The power-management is supported.
675	
676	  Module snd-es1968
677	  -----------------
678	
679	    Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
680	
681	    total_bufsize	- total buffer size in kB (1-4096kB)
682	    pcm_substreams_p	- playback channels (1-8, default=2)
683	    pcm_substreams_c	- capture channels (1-8, default=0)
684	    clock		- clock (0 = auto-detection)
685	    use_pm		- support the power-management (0 = off, 1 = on,
686				  2 = auto (default))
687	    enable_mpu		- enable MPU401 (0 = off, 1 = on, 2 = auto (default))
688	    joystick		- enable joystick (default off)       
689	
690	    This module supports multiple cards and autoprobe.
691	
692	    The power-management is supported.
693	
694	  Module snd-fm801
695	  ----------------
696	
697	    Module for ForteMedia FM801 based PCI sound cards.
698	
699	    tea575x_tuner       - Enable TEA575x tuner
700	                          - 1 = MediaForte 256-PCS
701	                          - 2 = MediaForte 256-PCPR
702	                          - 3 = MediaForte 64-PCR  
703	                          - High 16-bits are video (radio) device number + 1
704	                          - example: 0x10002 (MediaForte 256-PCPR, device 1)
705	
706	    This module supports multiple cards and autoprobe.
707	    
708	    The power-management is supported.
709	
710	  Module snd-gina20
711	  -----------------
712	
713	    Module for Echoaudio Gina20
714	
715	    This module supports multiple cards.
716	    The driver requires the firmware loader support on kernel.
717	
718	  Module snd-gina24
719	  -----------------
720	
721	    Module for Echoaudio Gina24
722	
723	    This module supports multiple cards.
724	    The driver requires the firmware loader support on kernel.
725	
726	  Module snd-gusclassic
727	  ---------------------
728	
729	    Module for Gravis UltraSound Classic sound card.
730	
731	    port	- port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
732	    irq		- IRQ # for GF1 chip (3,5,9,11,12,15)
733	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
734	    dma2	- DMA # for GF1 chip (1,3,5,6,7,-1=disable)
735	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
736	    voices	- GF1 voices limit (14-32)
737	    pcm_voices	- reserved PCM voices
738	
739	    This module supports multiple cards and autoprobe.
740	
741	  Module snd-gusextreme
742	  ---------------------
743	
744	    Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
745	
746	    port	- port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
747	    gf1_port	- port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
748	    mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
749	    irq		- IRQ # for ES-1688 chip (5,7,9,10)
750	    gf1_irq	- IRQ # for GF1 chip (3,5,9,11,12,15)
751	    mpu_irq	- IRQ # for MPU-401 port (5,7,9,10)
752	    dma8	- DMA # for ES-1688 chip (0,1,3)
753	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
754	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
755	    voices	- GF1 voices limit (14-32)
756	    pcm_voices	- reserved PCM voices
757	
758	    This module supports multiple cards and autoprobe (without MPU-401 port).
759	
760	  Module snd-gusmax
761	  -----------------
762	
763	    Module for Gravis UltraSound MAX sound card.
764	
765	    port	- port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
766	    irq		- IRQ # for GF1 chip (3,5,9,11,12,15)
767	    dma1	- DMA # for GF1 chip (1,3,5,6,7)
768	    dma2	- DMA # for GF1 chip (1,3,5,6,7,-1=disable)
769	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
770	    voices	- GF1 voices limit (14-32)
771	    pcm_voices	- reserved PCM voices
772	
773	    This module supports multiple cards and autoprobe.
774	    
775	  Module snd-hda-intel
776	  --------------------
777	
778	    Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
779				PCH, SCH),
780			ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
781				RV630, RV635, RV670, RV770,
782			VIA VT8251/VT8237A,
783			SIS966, ULI M5461
784	
785	    [Multiple options for each card instance]
786	    model	- force the model name
787	    position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF)
788	    probe_mask  - Bitmask to probe codecs (default = -1, meaning all slots)
789	    		  When the bit 8 (0x100) is set, the lower 8 bits are used
790			  as the "fixed" codec slots; i.e. the driver probes the
791			  slots regardless what hardware reports back
792	    probe_only	- Only probing and no codec initialization (default=off);
793			  Useful to check the initial codec status for debugging
794	    bdl_pos_adj	- Specifies the DMA IRQ timing delay in samples.
795			Passing -1 will make the driver to choose the appropriate
796			value based on the controller chip.
797	    patch	- Specifies the early "patch" files to modify the HD-audio
798	    		setup before initializing the codecs.  This option is
799			available only when CONFIG_SND_HDA_PATCH_LOADER=y is set.
800			See HD-Audio.txt for details.
801	    
802	    [Single (global) options]
803	    single_cmd  - Use single immediate commands to communicate with
804			codecs (for debugging only)
805	    enable_msi	- Enable Message Signaled Interrupt (MSI) (default = off)
806	    power_save	- Automatic power-saving timeout (in second, 0 =
807			disable)
808	    power_save_controller - Reset HD-audio controller in power-saving mode
809			(default = on)
810	
811	    This module supports multiple cards and autoprobe.
812	    
813	    See Documentation/sound/alsa/HD-Audio.txt for more details about
814	    HD-audio driver.
815	
816	    Each codec may have a model table for different configurations.
817	    If your machine isn't listed there, the default (usually minimal)
818	    configuration is set up.  You can pass "model=<name>" option to
819	    specify a certain model in such a case.  There are different
820	    models depending on the codec chip.  The list of available models
821	    is found in HD-Audio-Models.txt
822	
823	    The model name "genric" is treated as a special case.  When this
824	    model is given, the driver uses the generic codec parser without
825	    "codec-patch".  It's sometimes good for testing and debugging.
826	
827	    If the default configuration doesn't work and one of the above
828	    matches with your device, report it together with alsa-info.sh
829	    output (with --no-upload option) to kernel bugzilla or alsa-devel
830	    ML (see the section "Links and Addresses").
831	
832	    power_save and power_save_controller options are for power-saving
833	    mode.  See powersave.txt for details.
834	
835	    Note 2: If you get click noises on output, try the module option
836		    position_fix=1 or 2.  position_fix=1 will use the SD_LPIB
837		    register value without FIFO size correction as the current
838		    DMA pointer.  position_fix=2 will make the driver to use
839		    the position buffer instead of reading SD_LPIB register.
840		    (Usually SD_LPIB register is more accurate than the
841		    position buffer.)
842	
843	    NB: If you get many "azx_get_response timeout" messages at
844	    loading, it's likely a problem of interrupts (e.g. ACPI irq
845	    routing).  Try to boot with options like "pci=noacpi".  Also, you
846	    can try "single_cmd=1" module option.  This will switch the
847	    communication method between HDA controller and codecs to the
848	    single immediate commands instead of CORB/RIRB.  Basically, the
849	    single command mode is provided only for BIOS, and you won't get
850	    unsolicited events, too.  But, at least, this works independently
851	    from the irq.  Remember this is a last resort, and should be
852	    avoided as much as possible...
853	    
854	    MORE NOTES ON "azx_get_response timeout" PROBLEMS:
855	    On some hardwares, you may need to add a proper probe_mask option
856	    to avoid the "azx_get_response timeout" problem above, instead.
857	    This occurs when the access to non-existing or non-working codec slot
858	    (likely a modem one) causes a stall of the communication via HD-audio
859	    bus.  You can see which codec slots are probed by enabling
860	    CONFIG_SND_DEBUG_VERBOSE, or simply from the file name of the codec
861	    proc files.  Then limit the slots to probe by probe_mask option.
862	    For example, probe_mask=1 means to probe only the first slot, and
863	    probe_mask=4 means only the third slot.
864	
865	    The power-management is supported.
866	
867	  Module snd-hdsp
868	  ---------------
869	
870	    Module for RME Hammerfall DSP audio interface(s)
871	
872	    This module supports multiple cards.
873	
874	    Note: The firmware data can be automatically loaded via hotplug
875	          when CONFIG_FW_LOADER is set.  Otherwise, you need to load
876	          the firmware via hdsploader utility included in alsa-tools
877	          package.
878	          The firmware data is found in alsa-firmware package.
879	
880	    Note: snd-page-alloc module does the job which snd-hammerfall-mem
881	          module did formerly.  It will allocate the buffers in advance
882	          when any HDSP cards are found.  To make the buffer
883	          allocation sure, load snd-page-alloc module in the early
884	          stage of boot sequence.  See "Early Buffer Allocation"
885		  section.
886	
887	  Module snd-hdspm
888	  ----------------
889	
890	    Module for RME HDSP MADI board.
891	
892	    precise_ptr		- Enable precise pointer, or disable.
893	    line_outs_monitor	- Send playback streams to analog outs by default.
894	    enable_monitor	- Enable Analog Out on Channel 63/64 by default.
895	
896	    See hdspm.txt for details.
897	
898	  Module snd-hifier
899	  -----------------
900	
901	    Module for the MediaTek/TempoTec HiFier Fantasia sound card.
902	
903	    This module supports autoprobe and multiple cards.
904	
905	  Module snd-ice1712
906	  ------------------
907	
908	    Module for Envy24 (ICE1712) based PCI sound cards.
909				* MidiMan M Audio Delta 1010
910				* MidiMan M Audio Delta 1010LT
911				* MidiMan M Audio Delta DiO 2496
912				* MidiMan M Audio Delta 66
913				* MidiMan M Audio Delta 44
914				* MidiMan M Audio Delta 410
915				* MidiMan M Audio Audiophile 2496
916	                        * TerraTec EWS 88MT
917	                        * TerraTec EWS 88D
918	                        * TerraTec EWX 24/96
919	                        * TerraTec DMX 6Fire
920				* TerraTec Phase 88
921	                        * Hoontech SoundTrack DSP 24
922	                        * Hoontech SoundTrack DSP 24 Value
923	                        * Hoontech SoundTrack DSP 24 Media 7.1
924				* Event Electronics, EZ8
925	                        * Digigram VX442
926				* Lionstracs, Mediastaton
927				* Terrasoniq TS 88
928	
929	    model       - Use the given board model, one of the following:
930			  delta1010, dio2496, delta66, delta44, audiophile, delta410,
931			  delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
932			  dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
933			  phase88, mediastation
934	    omni	- Omni I/O support for MidiMan M-Audio Delta44/66
935	    cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transceiver)
936	                     in msec resolution, default value is 500 (0.5 sec)
937	
938	    This module supports multiple cards and autoprobe. Note: The consumer part
939	    is not used with all Envy24 based cards (for example in the MidiMan Delta
940	    serie).
941	
942	    Note: The supported board is detected by reading EEPROM or PCI
943		  SSID (if EEPROM isn't available).  You can override the
944		  model by passing "model" module option in case that the
945		  driver isn't configured properly or you want to try another
946		  type for testing.
947	
948	  Module snd-ice1724
949	  ------------------
950	
951	    Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
952				* MidiMan M Audio Revolution 5.1
953				* MidiMan M Audio Revolution 7.1
954				* MidiMan M Audio Audiophile 192
955				* AMP Ltd AUDIO2000
956				* TerraTec Aureon 5.1 Sky
957				* TerraTec Aureon 7.1 Space
958				* TerraTec Aureon 7.1 Universe
959				* TerraTec Phase 22
960				* TerraTec Phase 28
961				* AudioTrak Prodigy 7.1
962				* AudioTrak Prodigy 7.1 LT
963				* AudioTrak Prodigy 7.1 XT
964				* AudioTrak Prodigy 7.1 HIFI
965				* AudioTrak Prodigy 7.1 HD2
966				* AudioTrak Prodigy 192
967				* Pontis MS300
968				* Albatron K8X800 Pro II 
969				* Chaintech ZNF3-150
970				* Chaintech ZNF3-250
971				* Chaintech 9CJS
972				* Chaintech AV-710
973				* Shuttle SN25P
974				* Onkyo SE-90PCI
975				* Onkyo SE-200PCI
976				* ESI Juli@
977				* ESI Maya44
978				* Hercules Fortissimo IV
979				* EGO-SYS WaveTerminal 192M
980	
981	    model       - Use the given board model, one of the following:
982			  revo51, revo71, amp2000, prodigy71, prodigy71lt,
983			  prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,
984			  juli, aureon51, aureon71, universe, ap192, k8x800,
985			  phase22, phase28, ms300, av710, se200pci, se90pci,
986			  fortissimo4, sn25p, WT192M, maya44
987	
988	    This module supports multiple cards and autoprobe.
989	
990	    Note: The supported board is detected by reading EEPROM or PCI
991		  SSID (if EEPROM isn't available).  You can override the
992		  model by passing "model" module option in case that the
993		  driver isn't configured properly or you want to try another
994		  type for testing.
995	
996	  Module snd-indigo
997	  -----------------
998	
999	    Module for Echoaudio Indigo
1000	
1001	    This module supports multiple cards.
1002	    The driver requires the firmware loader support on kernel.
1003	
1004	  Module snd-indigodj
1005	  -------------------
1006	
1007	    Module for Echoaudio Indigo DJ
1008	
1009	    This module supports multiple cards.
1010	    The driver requires the firmware loader support on kernel.
1011	
1012	  Module snd-indigoio
1013	  -------------------
1014	
1015	    Module for Echoaudio Indigo IO
1016	
1017	    This module supports multiple cards.
1018	    The driver requires the firmware loader support on kernel.
1019	
1020	  Module snd-intel8x0
1021	  -------------------
1022	
1023	    Module for AC'97 motherboards from Intel and compatibles.
1024				* Intel i810/810E, i815, i820, i830, i84x, MX440
1025					ICH5, ICH6, ICH7, 6300ESB, ESB2
1026				* SiS 7012 (SiS 735)
1027				* NVidia NForce, NForce2, NForce3, MCP04, CK804
1028					 CK8, CK8S, MCP501
1029				* AMD AMD768, AMD8111
1030				* ALi m5455
1031	
1032	    ac97_clock	  - AC'97 codec clock base (0 = auto-detect)
1033	    ac97_quirk    - AC'97 workaround for strange hardware
1034			    See "AC97 Quirk Option" section below.
1035	    buggy_irq     - Enable workaround for buggy interrupts on some
1036	                    motherboards (default yes on nForce chips,
1037			    otherwise off)
1038	    buggy_semaphore - Enable workaround for hardwares with buggy
1039			    semaphores (e.g. on some ASUS laptops)
1040			    (default off)
1041	    spdif_aclink  - Use S/PDIF over AC-link instead of direct connection
1042			    from the controller chip
1043			    (0 = off, 1 = on, -1 = default)
1044	
1045	    This module supports one chip and autoprobe.
1046	
1047	    Note: the latest driver supports auto-detection of chip clock.
1048	    if you still encounter too fast playback, specify the clock
1049	    explicitly via the module option "ac97_clock=41194".
1050	
1051	    Joystick/MIDI ports are not supported by this driver.  If your
1052	    motherboard has these devices, use the ns558 or snd-mpu401
1053	    modules, respectively.
1054	
1055	    The power-management is supported.
1056	    
1057	  Module snd-intel8x0m
1058	  --------------------
1059	
1060	    Module for Intel ICH (i8x0) chipset MC97 modems.
1061				* Intel i810/810E, i815, i820, i830, i84x, MX440
1062					ICH5, ICH6, ICH7
1063				* SiS 7013 (SiS 735)
1064				* NVidia NForce, NForce2, NForce2s, NForce3
1065				* AMD AMD8111
1066				* ALi m5455
1067	
1068	    ac97_clock	  - AC'97 codec clock base (0 = auto-detect)
1069	
1070	    This module supports one card and autoprobe.
1071	
1072	    Note: The default index value of this module is -2, i.e. the first
1073	          slot is excluded.
1074	
1075	    The power-management is supported.
1076	
1077	  Module snd-interwave
1078	  --------------------
1079	
1080	    Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1081	    and other sound cards based on AMD InterWave (tm) chip.
1082	  
1083	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1084	    midi	- 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1085	    pcm_voices	- reserved PCM voices for the synthesizer (default 2)
1086	    effect	- 1 = InterWave effects enable (default 0);
1087	                  requires 8 voices
1088	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1089	
1090	    with isapnp=0, the following options are available:
1091	
1092	    port	- port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1093	    irq		- IRQ # for InterWave chip (3,5,9,11,12,15)
1094	    dma1	- DMA # for InterWave chip (0,1,3,5,6,7)
1095	    dma2	- DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1096	
1097	    This module supports multiple cards, autoprobe and ISA PnP.
1098	
1099	  Module snd-interwave-stb
1100	  ------------------------
1101	
1102	    Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1103	    and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1104	    circuit for extended control of bass, treble and master volume.
1105	  
1106	    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1107	    midi	- 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1108	    pcm_voices	- reserved PCM voices for the synthesizer (default 2)
1109	    effect	- 1 = InterWave effects enable (default 0);
1110	                  requires 8 voices
1111	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1112	
1113	    with isapnp=0, the following options are available:
1114	
1115	    port	- port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1116	    port_tc	- tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1117	    irq		- IRQ # for InterWave chip (3,5,9,11,12,15)
1118	    dma1	- DMA # for InterWave chip (0,1,3,5,6,7)
1119	    dma2	- DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1120	
1121	    This module supports multiple cards, autoprobe and ISA PnP.
1122	
1123	  Module snd-korg1212
1124	  -------------------
1125	
1126	    Module for Korg 1212 IO PCI card
1127	
1128	    This module supports multiple cards.
1129	
1130	  Module snd-layla20
1131	  ------------------
1132	
1133	    Module for Echoaudio Layla20
1134	
1135	    This module supports multiple cards.
1136	    The driver requires the firmware loader support on kernel.
1137	
1138	  Module snd-layla24
1139	  ------------------
1140	
1141	    Module for Echoaudio Layla24
1142	
1143	    This module supports multiple cards.
1144	    The driver requires the firmware loader support on kernel.
1145	
1146	  Module snd-lx6464es
1147	  -------------------
1148	
1149	    Module for Digigram LX6464ES boards
1150	
1151	    This module supports multiple cards.
1152	
1153	  Module snd-maestro3
1154	  -------------------
1155	
1156	    Module for Allegro/Maestro3 chips
1157	
1158	    external_amp     - enable external amp (enabled by default)
1159	    amp_gpio         - GPIO pin number for external amp (0-15) or
1160	                       -1 for default pin (8 for allegro, 1 for
1161	                       others) 
1162	
1163	    This module supports autoprobe and multiple chips.
1164	
1165	    Note: the binding of amplifier is dependent on hardware.
1166	    If there is no sound even though all channels are unmuted, try to
1167	    specify other gpio connection via amp_gpio option. 
1168	    For example, a Panasonic notebook might need "amp_gpio=0x0d"
1169	    option.
1170	
1171	    The power-management is supported.
1172	
1173	  Module snd-mia
1174	  ---------------
1175	
1176	    Module for Echoaudio Mia
1177	
1178	    This module supports multiple cards.
1179	    The driver requires the firmware loader support on kernel.
1180	
1181	  Module snd-miro
1182	  ---------------
1183	
1184	    Module for Miro soundcards: miroSOUND PCM 1 pro, 
1185					miroSOUND PCM 12,
1186					miroSOUND PCM 20 Radio.
1187	
1188	    port	- Port # (0x530,0x604,0xe80,0xf40)
1189	    irq		- IRQ # (5,7,9,10,11)
1190	    dma1	- 1st dma # (0,1,3)
1191	    dma2	- 2nd dma # (0,1)
1192	    mpu_port	- MPU-401 port # (0x300,0x310,0x320,0x330)
1193	    mpu_irq	- MPU-401 irq # (5,7,9,10)
1194	    fm_port	- FM Port # (0x388)
1195	    wss		- enable WSS mode
1196	    ide		- enable onboard ide support
1197	
1198	  Module snd-mixart
1199	  -----------------
1200	
1201	    Module for Digigram miXart8 sound cards.
1202	
1203	    This module supports multiple cards.
1204	    Note: One miXart8 board will be represented as 4 alsa cards.
1205	          See MIXART.txt for details.
1206	
1207	    When the driver is compiled as a module and the hotplug firmware
1208	    is supported, the firmware data is loaded via hotplug automatically.
1209	    Install the necessary firmware files in alsa-firmware package.
1210	    When no hotplug fw loader is available, you need to load the
1211	    firmware via mixartloader utility in alsa-tools package.
1212	
1213	  Module snd-mona
1214	  ---------------
1215	
1216	    Module for Echoaudio Mona
1217	
1218	    This module supports multiple cards.
1219	    The driver requires the firmware loader support on kernel.
1220	
1221	  Module snd-mpu401
1222	  -----------------
1223	
1224	    Module for MPU-401 UART devices.
1225	
1226	    port	- port number or -1 (disable)
1227	    irq		- IRQ number or -1 (disable)
1228	    pnp		- PnP detection - 0 = disable, 1 = enable (default)
1229	
1230	    This module supports multiple devices and PnP.
1231	    
1232	  Module snd-msnd-classic
1233	  -----------------------
1234	
1235	    Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
1236	    soundcards.
1237	
1238	    io		- Port # for msnd-classic card
1239	    irq		- IRQ # for msnd-classic card
1240	    mem		- Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000,
1241			  0xe0000 or 0xe8000)
1242	    write_ndelay - enable write ndelay (default = 1)
1243	    calibrate_signal - calibrate signal (default = 0)
1244	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1245	    digital	- Digital daughterboard present (default = 0)
1246	    cfg		- Config port (0x250, 0x260 or 0x270) default = PnP
1247	    reset	- Reset all devices
1248	    mpu_io	- MPU401 I/O port
1249	    mpu_irq	- MPU401 irq#
1250	    ide_io0	- IDE port #0
1251	    ide_io1	- IDE port #1
1252	    ide_irq	- IDE irq#
1253	    joystick_io	- Joystick I/O port
1254	
1255	    The driver requires firmware files "turtlebeach/msndinit.bin" and
1256	    "turtlebeach/msndperm.bin" in the proper firmware directory.
1257	
1258	    See Documentation/sound/oss/MultiSound for important information
1259	    about this driver.  Note that it has been discontinued, but the 
1260	    Voyetra Turtle Beach knowledge base entry for it is still available
1261	    at
1262		http://www.turtlebeach.com/site/kb_ftp/790.asp
1263	
1264	  Module snd-msnd-pinnacle
1265	  ------------------------
1266	
1267	    Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1268	
1269	    io		- Port # for pinnacle/fiji card
1270	    irq		- IRQ # for pinnalce/fiji card
1271	    mem		- Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000,
1272			  0xe0000 or 0xe8000)
1273	    write_ndelay - enable write ndelay (default = 1)
1274	    calibrate_signal - calibrate signal (default = 0)
1275	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1276	
1277	    The driver requires firmware files "turtlebeach/pndspini.bin" and
1278	    "turtlebeach/pndsperm.bin" in the proper firmware directory.
1279	
1280	  Module snd-mtpav
1281	  ----------------
1282	
1283	    Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1284	    port).
1285	
1286	    port	- I/O port # for MTPAV (0x378,0x278, default=0x378)
1287	    irq		- IRQ # for MTPAV (7,5, default=7)
1288	    hwports	- number of supported hardware ports, default=8.
1289	    
1290	    Module supports only 1 card.  This module has no enable option.
1291	
1292	  Module snd-mts64
1293	  ----------------
1294	
1295	    Module for Ego Systems (ESI) Miditerminal 4140
1296	
1297	    This module supports multiple devices.
1298	    Requires parport (CONFIG_PARPORT).
1299	
1300	  Module snd-nm256
1301	  ----------------
1302	
1303	    Module for NeoMagic NM256AV/ZX chips
1304	
1305	    playback_bufsize - max playback frame size in kB (4-128kB)
1306	    capture_bufsize  - max capture frame size in kB (4-128kB)
1307	    force_ac97       - 0 or 1 (disabled by default)
1308	    buffer_top       - specify buffer top address
1309	    use_cache        - 0 or 1 (disabled by default)
1310	    vaio_hack        - alias buffer_top=0x25a800
1311	    reset_workaround - enable AC97 RESET workaround for some laptops
1312	    reset_workaround2 - enable extended AC97 RESET workaround for some
1313			      other laptops
1314	
1315	    This module supports one chip and autoprobe.
1316	
1317	    The power-management is supported.
1318	
1319	    Note: on some notebooks the buffer address cannot be detected
1320	    automatically, or causes hang-up during initialization.
1321	    In such a case, specify the buffer top address explicitly via
1322	    the buffer_top option.
1323	    For example,
1324	      Sony F250: buffer_top=0x25a800
1325	      Sony F270: buffer_top=0x272800
1326	    The driver supports only ac97 codec.  It's possible to force
1327	    to initialize/use ac97 although it's not detected.  In such a
1328	    case, use force_ac97=1 option - but *NO* guarantee whether it
1329	    works!
1330	
1331	    Note: The NM256 chip can be linked internally with non-AC97
1332	    codecs.  This driver supports only the AC97 codec, and won't work
1333	    with machines with other (most likely CS423x or OPL3SAx) chips,
1334	    even though the device is detected in lspci.  In such a case, try
1335	    other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
1336	    but some doesn't have ISA PnP.  You'll need to specify isapnp=0
1337	    and proper hardware parameters in the case without ISA PnP.
1338	
1339	    Note: some laptops need a workaround for AC97 RESET.  For the
1340	    known hardware like Dell Latitude LS and Sony PCG-F305, this
1341	    workaround is enabled automatically.  For other laptops with a
1342	    hard freeze, you can try reset_workaround=1 option.
1343	
1344	    Note: Dell Latitude CSx laptops have another problem regarding
1345	    AC97 RESET.  On these laptops, reset_workaround2 option is
1346	    turned on as default.  This option is worth to try if the
1347	    previous reset_workaround option doesn't help.
1348	
1349	    Note: This driver is really crappy.  It's a porting from the
1350	    OSS driver, which is a result of black-magic reverse engineering.
1351	    The detection of codec will fail if the driver is loaded *after*
1352	    X-server as described above.  You might be able to force to load
1353	    the module, but it may result in hang-up.   Hence, make sure that
1354	    you load this module *before* X if you encounter this kind of
1355	    problem.
1356	
1357	  Module snd-opl3sa2
1358	  ------------------
1359	
1360	    Module for Yamaha OPL3-SA2/SA3 sound cards.
1361	
1362	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1363	
1364	    with isapnp=0, the following options are available:
1365	
1366	    port	- control port # for OPL3-SA chip (0x370)
1367	    sb_port	- SB port # for OPL3-SA chip (0x220,0x240)
1368	    wss_port	- WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1369	    midi_port	- port # for MPU-401 UART (0x300,0x330), -1 = disable
1370	    fm_port	- FM port # for OPL3-SA chip (0x388), -1 = disable
1371	    irq		- IRQ # for OPL3-SA chip (5,7,9,10)
1372	    dma1	- first DMA # for Yamaha OPL3-SA chip (0,1,3)
1373	    dma2	- second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1374	    
1375	    This module supports multiple cards and ISA PnP.  It does not support
1376	    autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1377	    
1378	    The power-management is supported.
1379	
1380	  Module snd-opti92x-ad1848
1381	  -------------------------
1382	
1383	    Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1384	    Module works with OAK Mozart cards as well.
1385	    
1386	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1387	
1388	    with isapnp=0, the following options are available:
1389	
1390	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1391	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1392	    fm_port   - port # for OPL3 device (0x388)
1393	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1394	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1395	    dma1      - first DMA # for WSS chip (0,1,3)
1396	
1397	    This module supports only one card, autoprobe and PnP.
1398	
1399	  Module snd-opti92x-cs4231
1400	  -------------------------
1401	
1402	    Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1403	    
1404	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1405	
1406	    with isapnp=0, the following options are available:
1407	
1408	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1409	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1410	    fm_port   - port # for OPL3 device (0x388)
1411	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1412	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1413	    dma1      - first DMA # for WSS chip (0,1,3)
1414	    dma2      - second DMA # for WSS chip (0,1,3)
1415	
1416	    This module supports only one card, autoprobe and PnP.
1417	
1418	  Module snd-opti93x
1419	  ------------------
1420	
1421	    Module for sound cards based on OPTi 82c93x chips.
1422	    
1423	    isapnp    - ISA PnP detection - 0 = disable, 1 = enable (default)
1424	
1425	    with isapnp=0, the following options are available:
1426	
1427	    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1428	    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1429	    fm_port   - port # for OPL3 device (0x388)
1430	    irq       - IRQ # for WSS chip (5,7,9,10,11)
1431	    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1432	    dma1      - first DMA # for WSS chip (0,1,3)
1433	    dma2      - second DMA # for WSS chip (0,1,3)
1434	
1435	    This module supports only one card, autoprobe and PnP.
1436	
1437	  Module snd-oxygen
1438	  -----------------
1439	
1440	    Module for sound cards based on the C-Media CMI8788 chip:
1441	    * Asound A-8788
1442	    * AuzenTech X-Meridian
1443	    * Bgears b-Enspirer
1444	    * Club3D Theatron DTS
1445	    * HT-Omega Claro (plus)
1446	    * HT-Omega Claro halo (XT)
1447	    * Razer Barracuda AC-1
1448	    * Sondigo Inferno
1449	
1450	    This module supports autoprobe and multiple cards.
1451	
1452	  Module snd-pcsp
1453	  -----------------
1454	
1455	    Module for internal PC-Speaker.
1456	
1457	    nforce_wa	- enable NForce chipset workaround. Expect bad sound.
1458	
1459	    This module supports system beeps, some kind of PCM playback and
1460	    even a few mixer controls.
1461	
1462	  Module snd-pcxhr
1463	  ----------------
1464	
1465	    Module for Digigram PCXHR boards
1466	
1467	    This module supports multiple cards.
1468	
1469	  Module snd-portman2x4
1470	  ---------------------
1471	
1472	    Module for Midiman Portman 2x4 parallel port MIDI interface
1473	
1474	    This module supports multiple cards.
1475	
1476	  Module snd-powermac (on ppc only)
1477	  ---------------------------------
1478	
1479	    Module for PowerMac, iMac and iBook on-board soundchips
1480	
1481	    enable_beep     - enable beep using PCM (enabled as default)
1482	
1483	    Module supports autoprobe a chip.
1484	
1485	    Note: the driver may have problems regarding endianess.
1486	
1487	    The power-management is supported.
1488	
1489	  Module snd-pxa2xx-ac97 (on arm only)
1490	  ------------------------------------
1491	
1492	    Module for AC97 driver for the Intel PXA2xx chip
1493	
1494	    For ARM architecture only.
1495	
1496	    The power-management is supported.
1497	
1498	  Module snd-riptide
1499	  ------------------
1500	
1501	    Module for Conexant Riptide chip
1502	
1503	      joystick_port	- Joystick port # (default: 0x200)
1504	      mpu_port		- MPU401 port # (default: 0x330)
1505	      opl3_port		- OPL3 port # (default: 0x388)
1506	
1507	    This module supports multiple cards.
1508	    The driver requires the firmware loader support on kernel.
1509	    You need to install the firmware file "riptide.hex" to the standard
1510	    firmware path (e.g. /lib/firmware).
1511	
1512	  Module snd-rme32
1513	  ----------------
1514	
1515	    Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
1516	    Prodif96 and Prodif Gold) sound cards.
1517	
1518	    This module supports multiple cards.
1519	
1520	  Module snd-rme96
1521	  ----------------
1522	
1523	    Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1524	
1525	    This module supports multiple cards.
1526	
1527	  Module snd-rme9652
1528	  ------------------
1529	
1530	    Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1531	
1532	    precise_ptr	- Enable precise pointer (doesn't work reliably).
1533			  (default = 0)
1534	
1535	    This module supports multiple cards.
1536	
1537	    Note: snd-page-alloc module does the job which snd-hammerfall-mem
1538	          module did formerly.  It will allocate the buffers in advance
1539	          when any RME9652 cards are found.  To make the buffer
1540	          allocation sure, load snd-page-alloc module in the early
1541	          stage of boot sequence.  See "Early Buffer Allocation"
1542		  section.
1543	
1544	  Module snd-sa11xx-uda1341 (on arm only)
1545	  ---------------------------------------
1546	
1547	    Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1548	
1549	    Module supports only one card.
1550	    Module has no enable and index options.
1551	
1552	    The power-management is supported.
1553	
1554	  Module snd-sb8
1555	  --------------
1556	
1557	    Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
1558						 SoundBlaster 2.0,
1559						 SoundBlaster Pro
1560	
1561	    port	- port # for SB DSP chip (0x220,0x240,0x260)
1562	    irq		- IRQ # for SB DSP chip (5,7,9,10)
1563	    dma8	- DMA # for SB DSP chip (1,3)
1564	
1565	    This module supports multiple cards and autoprobe.
1566	    
1567	    The power-management is supported.
1568	
1569	  Module snd-sb16 and snd-sbawe
1570	  -----------------------------
1571	
1572	    Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1573						  SoundBlaster AWE 32 (PnP),
1574						  SoundBlaster AWE 64 PnP
1575	
1576	    mic_agc	- Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1577	    csp		- ASP/CSP chip support - 0 = disable (default), 1 = enable
1578	    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)
1579	
1580	    with isapnp=0, the following options are available:
1581	
1582	    port	- port # for SB DSP 4.x chip (0x220,0x240,0x260)
1583	    mpu_port	- port # for MPU-401 UART (0x300,0x330), -1 = disable
1584	    awe_port	- base port # for EMU8000 synthesizer (0x620,0x640,0x660)
1585	                   (snd-sbawe module only)
1586	    irq		- IRQ # for SB DSP 4.x chip (5,7,9,10)
1587	    dma8	- 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1588	    dma16	- 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1589	    
1590	    This module supports multiple cards, autoprobe and ISA PnP.
1591	
1592	    Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1593	          disable 16bit DMA with dma16 = -1 module parameter.
1594	          Also, all Sound Blaster 16 type cards can operate in 16-bit
1595	          half duplex mode through 8-bit DMA channel by disabling their
1596	          16-bit DMA channel.
1597	    
1598	    The power-management is supported.
1599	
1600	  Module snd-sc6000
1601	  -----------------
1602	
1603	    Module for Gallant SC-6000 soundcard and later models: SC-6600
1604	    and SC-7000.
1605	
1606	    port	- Port # (0x220 or 0x240)
1607	    mss_port	- MSS Port # (0x530 or 0xe80)
1608	    irq		- IRQ # (5,7,9,10,11)
1609	    mpu_irq	- MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
1610	    dma		- DMA # (1,3,0)
1611	    joystick	- Enable gameport - 0 = disable (default), 1 = enable
1612	
1613	    This module supports multiple cards.
1614	
1615	    This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
1616	
1617	  Module snd-sgalaxy
1618	  ------------------
1619	
1620	    Module for Aztech Sound Galaxy sound card.
1621	
1622	    sbport	- Port # for SB16 interface (0x220,0x240)
1623	    wssport	- Port # for WSS interface (0x530,0xe80,0xf40,0x604)
1624	    irq		- IRQ # (7,9,10,11)
1625	    dma1	- DMA #
1626	
1627	    This module supports multiple cards.
1628	
1629	    The power-management is supported.
1630	
1631	  Module snd-sscape
1632	  -----------------
1633	
1634	    Module for ENSONIQ SoundScape PnP cards.
1635	
1636	    port	- Port # (PnP setup)
1637	    wss_port	- WSS Port # (PnP setup)
1638	    irq		- IRQ # (PnP setup)
1639	    mpu_irq	- MPU-401 IRQ # (PnP setup)
1640	    dma		- DMA # (PnP setup)
1641	    dma2	- 2nd DMA # (PnP setup, -1 to disable)
1642	
1643	    This module supports multiple cards.  ISA PnP must be enabled.
1644	    You need sscape_ctl tool in alsa-tools package for loading
1645	    the microcode.
1646	
1647	  Module snd-sun-amd7930 (on sparc only)
1648	  --------------------------------------
1649	
1650	    Module for AMD7930 sound chips found on Sparcs.
1651	
1652	    This module supports multiple cards.
1653	
1654	  Module snd-sun-cs4231 (on sparc only)
1655	  -------------------------------------
1656	
1657	    Module for CS4231 sound chips found on Sparcs.
1658	
1659	    This module supports multiple cards.
1660	
1661	  Module snd-sun-dbri (on sparc only)
1662	  -----------------------------------
1663	
1664	    Module for DBRI sound chips found on Sparcs.
1665	
1666	    This module supports multiple cards.
1667	
1668	  Module snd-wavefront
1669	  --------------------
1670	
1671	    Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
1672	
1673	    use_cs4232_midi - Use CS4232 MPU-401 interface
1674	                      (inaccessibly located inside your computer)
1675	    isapnp          - ISA PnP detection - 0 = disable, 1 = enable (default)
1676	
1677	    with isapnp=0, the following options are available:
1678	
1679	    cs4232_pcm_port - Port # for CS4232 PCM interface.
1680	    cs4232_pcm_irq  - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1681	    cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1682	    cs4232_mpu_irq  - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1683	    ics2115_port    - Port # for ICS2115
1684	    ics2115_irq     - IRQ # for ICS2115
1685	    fm_port         - FM OPL-3 Port #
1686	    dma1            - DMA1 # for CS4232 PCM interface.
1687	    dma2            - DMA2 # for CS4232 PCM interface.
1688	
1689	    The below are options for wavefront_synth features:
1690	    wf_raw	    - Assume that we need to boot the OS (default:no)
1691		If yes, then during driver loading, the state of the board is
1692		ignored, and we reset the board and load the firmware anyway.
1693	    fx_raw	    - Assume that the FX process needs help (default:yes)
1694		If false, we'll leave the FX processor in whatever state it is
1695		when the driver is loaded.  The default is to download the
1696		microprogram and associated coefficients to set it up for
1697		"default" operation, whatever that means.
1698	    debug_default   - Debug parameters for card initialization
1699	    wait_usecs	    - How long to wait without sleeping, usecs
1700			      (default:150)
1701		This magic number seems to give pretty optimal throughput
1702		based on my limited experimentation. 
1703		If you want to play around with it and find a better value, be
1704		my guest. Remember, the idea is to get a number that causes us
1705		to just busy wait for as many WaveFront commands as possible,
1706		without coming up with a number so large that we hog the whole
1707		CPU. 
1708		Specifically, with this number, out of about 134,000 status
1709		waits, only about 250 result in a sleep. 
1710	    sleep_interval  - How long to sleep when waiting for reply
1711			      (default: 100)
1712	    sleep_tries	    - How many times to try sleeping during a wait
1713			      (default: 50)
1714	    ospath	    - Pathname to processed ICS2115 OS firmware
1715			      (default:wavefront.os)
1716		The path name of the ISC2115 OS firmware.  In the recent
1717		version, it's handled via firmware loader framework, so it
1718		must be installed in the proper path, typically,
1719		/lib/firmware.
1720	    reset_time	    - How long to wait for a reset to take effect
1721			      (default:2)
1722	    ramcheck_time   - How many seconds to wait for the RAM test
1723			      (default:20)
1724	    osrun_time	    - How many seconds to wait for the ICS2115 OS
1725			      (default:10)
1726	
1727	    This module supports multiple cards and ISA PnP.
1728	
1729	    Note: the firmware file "wavefront.os" was located in the earlier
1730	          version in /etc.  Now it's loaded via firmware loader, and
1731		  must be in the proper firmware path, such as /lib/firmware.
1732		  Copy (or symlink) the file appropriately if you get an error
1733		  regarding firmware downloading after upgrading the kernel.
1734	
1735	  Module snd-sonicvibes
1736	  ---------------------
1737	
1738	    Module for S3 SonicVibes PCI sound cards.
1739				* PINE Schubert 32 PCI
1740	
1741	    reverb    - Reverb Enable - 1 = enable, 0 = disable (default)
1742	                  - SoundCard must have onboard SRAM for this.
1743	    mge       - Mic Gain Enable - 1 = enable, 0 = disable (default)
1744	    
1745	    This module supports multiple cards and autoprobe.
1746	
1747	  Module snd-serial-u16550
1748	  ------------------------
1749	
1750	    Module for UART16550A serial MIDI ports.
1751	
1752	    port	- port # for UART16550A chip
1753	    irq		- IRQ # for UART16550A chip, -1 = poll mode
1754	    speed	- speed in bauds (9600,19200,38400,57600,115200)
1755			  38400 = default
1756	    base	- base for divisor in bauds (57600,115200,230400,460800)
1757			  115200 = default
1758	    outs	- number of MIDI ports in a serial port (1-4)
1759			  1 = default
1760	    adaptor	- Type of adaptor.
1761	                  0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1762			  3 = MS-124W M/B, 4 = Generic
1763	    
1764	    This module supports multiple cards. This module does not support autoprobe
1765	    thus the main port must be specified!!! Other options are optional.
1766	
1767	  Module snd-trident
1768	  ------------------
1769	
1770	    Module for Trident 4DWave DX/NX sound cards.
1771				* Best Union  Miss Melody 4DWave PCI
1772				* HIS  4DWave PCI
1773				* Warpspeed  ONSpeed 4DWave PCI
1774				* AzTech  PCI 64-Q3D
1775				* Addonics  SV 750
1776				* CHIC  True Sound 4Dwave
1777				* Shark  Predator4D-PCI
1778				* Jaton  SonicWave 4D
1779				* SiS SI7018 PCI Audio
1780				* Hoontech SoundTrack Digital 4DWave NX
1781	
1782	    pcm_channels   - max channels (voices) reserved for PCM
1783	    wavetable_size - max wavetable size in kB (4-?kb)
1784	
1785	    This module supports multiple cards and autoprobe.
1786	
1787	    The power-management is supported.
1788	
1789	  Module snd-usb-audio
1790	  --------------------
1791	
1792	    Module for USB audio and USB MIDI devices.
1793	
1794	    vid             - Vendor ID for the device (optional)
1795	    pid             - Product ID for the device (optional)
1796	    nrpacks	    - Max. number of packets per URB (default: 8)
1797	    async_unlink    - Use async unlink mode (default: yes)
1798	    device_setup    - Device specific magic number (optional)
1799	                    - Influence depends on the device
1800	                    - Default: 0x0000 
1801	    ignore_ctl_error - Ignore any USB-controller regarding mixer
1802	    		       interface (default: no)
1803	
1804	    This module supports multiple devices, autoprobe and hotplugging.
1805	
1806	    NB: nrpacks parameter can be modified dynamically via sysfs.
1807	        Don't put the value over 20.  Changing via sysfs has no sanity
1808		check.
1809	    NB: async_unlink=0 would cause Oops.  It remains just for
1810	        debugging purpose (if any).
1811	    NB: ignore_ctl_error=1 may help when you get an error at accessing
1812	        the mixer element such as URB error -22.  This happens on some
1813	        buggy USB device or the controller.
1814	
1815	  Module snd-usb-caiaq
1816	  --------------------
1817	
1818	    Module for caiaq UB audio interfaces,
1819		    * Native Instruments RigKontrol2
1820		    * Native Instruments Kore Controller
1821		    * Native Instruments Audio Kontrol 1
1822		    * Native Instruments Audio 8 DJ
1823	
1824	    This module supports multiple devices, autoprobe and hotplugging.
1825	
1826	  Module snd-usb-usx2y
1827	  --------------------
1828	
1829	    Module for Tascam USB US-122, US-224 and US-428 devices.
1830	
1831	    This module supports multiple devices, autoprobe and hotplugging.
1832	
1833	    Note: you need to load the firmware via usx2yloader utility included
1834	          in alsa-tools and alsa-firmware packages.
1835	
1836	  Module snd-via82xx
1837	  ------------------
1838	
1839	    Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
1840	    8233A, 8233C, 8235, 8237 (south) bridge.
1841	
1842	    mpu_port	- 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1843			  [VIA686A/686B only]
1844	    joystick	- Enable joystick (default off) [VIA686A/686B only]
1845	    ac97_clock	- AC'97 codec clock base (default 48000Hz)
1846	    dxs_support	- support DXS channels,
1847			  0 = auto (default), 1 = enable, 2 = disable,
1848			  3 = 48k only, 4 = no VRA, 5 = enable any sample
1849			  rate and different sample rates on different
1850			  channels
1851			  [VIA8233/C, 8235, 8237 only]
1852	    ac97_quirk  - AC'97 workaround for strange hardware
1853			  See "AC97 Quirk Option" section below.
1854	
1855	    This module supports one chip and autoprobe.
1856	
1857	    Note: on some SMP motherboards like MSI 694D the interrupts might
1858	          not be generated properly.  In such a case, please try to
1859	          set the SMP (or MPS) version on BIOS to 1.1 instead of
1860	          default value 1.4.  Then the interrupt number will be
1861	          assigned under 15. You might also upgrade your BIOS.
1862	    
1863	    Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
1864		  channels as the first PCM.  On these channels, up to 4
1865		  streams can be played at the same time, and the controller
1866		  can perform sample rate conversion with separate rates for
1867		  each channel.
1868		  As default (dxs_support = 0), 48k fixed rate is chosen
1869		  except for the known devices since the output is often
1870		  noisy except for 48k on some mother boards due to the
1871		  bug of BIOS.
1872		  Please try once dxs_support=5 and if it works on other
1873		  sample rates (e.g. 44.1kHz of mp3 playback), please let us
1874		  know the PCI subsystem vendor/device id's (output of
1875		  "lspci -nv").
1876		  If dxs_support=5 does not work, try dxs_support=4; if it
1877		  doesn't work too, try dxs_support=1.  (dxs_support=1 is
1878		  usually for old motherboards.  The correct implemented
1879		  board should work with 4 or 5.)  If it still doesn't
1880		  work and the default setting is ok, dxs_support=3 is the
1881		  right choice.  If the default setting doesn't work at all,
1882		  try dxs_support=2 to disable the DXS channels.
1883		  In any cases, please let us know the result and the
1884		  subsystem vendor/device ids.  See "Links and Addresses"
1885		  below.
1886	
1887	    Note: for the MPU401 on VIA823x, use snd-mpu401 driver
1888		  additionally.  The mpu_port option is for VIA686 chips only.
1889	
1890	    The power-management is supported.
1891	
1892	  Module snd-via82xx-modem
1893	  ------------------------
1894	
1895	    Module for VIA82xx AC97 modem
1896	
1897	    ac97_clock	- AC'97 codec clock base (default 48000Hz)
1898	
1899	    This module supports one card and autoprobe.
1900	
1901	    Note: The default index value of this module is -2, i.e. the first
1902	          slot is excluded.
1903	
1904	    The power-management is supported.
1905	
1906	  Module snd-virmidi
1907	  ------------------
1908	
1909	    Module for virtual rawmidi devices.
1910	    This module creates virtual rawmidi devices which communicate
1911	    to the corresponding ALSA sequencer ports.
1912	
1913	    midi_devs	- MIDI devices # (1-4, default=4)
1914	    
1915	    This module supports multiple cards.
1916	
1917	  Module snd-virtuoso
1918	  -------------------
1919	
1920	    Module for sound cards based on the Asus AV100/AV200 chips,
1921	    i.e., Xonar D1, DX, D2, D2X, HDAV1.3 (Deluxe), Essence ST
1922	    (Deluxe) and Essence STX.
1923	
1924	    This module supports autoprobe and multiple cards.
1925	
1926	  Module snd-vx222
1927	  ----------------
1928	
1929	    Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
1930	
1931	    mic		- Enable Microphone on V222 Mic (NYI)
1932	    ibl		- Capture IBL size. (default = 0, minimum size)
1933	
1934	    This module supports multiple cards.
1935	
1936	    When the driver is compiled as a module and the hotplug firmware
1937	    is supported, the firmware data is loaded via hotplug automatically.
1938	    Install the necessary firmware files in alsa-firmware package.
1939	    When no hotplug fw loader is available, you need to load the
1940	    firmware via vxloader utility in alsa-tools package.  To invoke
1941	    vxloader automatically, add the following to /etc/modprobe.conf
1942	
1943		install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
1944	
1945	    (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
1946	     /etc/modules.conf, instead.)
1947	    IBL size defines the interrupts period for PCM.  The smaller size
1948	    gives smaller latency but leads to more CPU consumption, too.
1949	    The size is usually aligned to 126.  As default (=0), the smallest
1950	    size is chosen.  The possible IBL values can be found in
1951	    /proc/asound/cardX/vx-status proc file.
1952	
1953	    The power-management is supported.
1954	
1955	  Module snd-vxpocket
1956	  -------------------
1957	
1958	    Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
1959	
1960	    ibl      - Capture IBL size. (default = 0, minimum size)
1961	
1962	    This module supports multiple cards.  The module is compiled only when
1963	    PCMCIA is supported on kernel.
1964	
1965	    With the older 2.6.x kernel, to activate the driver via the card
1966	    manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
1967	    sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
1968	    longer require a config file.
1969	
1970	    When the driver is compiled as a module and the hotplug firmware
1971	    is supported, the firmware data is loaded via hotplug automatically.
1972	    Install the necessary firmware files in alsa-firmware package.
1973	    When no hotplug fw loader is available, you need to load the
1974	    firmware via vxloader utility in alsa-tools package.
1975	
1976	    About capture IBL, see the description of snd-vx222 module.
1977	
1978	    Note: snd-vxp440 driver is merged to snd-vxpocket driver since
1979	           ALSA 1.0.10.
1980	
1981	    The power-management is supported.
1982	
1983	  Module snd-ymfpci
1984	  -----------------
1985	
1986	    Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
1987	
1988	    mpu_port      - 0x300,0x330,0x332,0x334, 0 (disable) by default,
1989	                    1 (auto-detect for YMF744/754 only)
1990	    fm_port       - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
1991	                    1 (auto-detect for YMF744/754 only)
1992	    joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
1993	                    1 (auto-detect)
1994	    rear_switch   - enable shared rear/line-in switch (bool)
1995	
1996	    This module supports autoprobe and multiple chips.
1997	
1998	    The power-management is supported.
1999	
2000	  Module snd-pdaudiocf
2001	  --------------------
2002	
2003	    Module for Sound Core PDAudioCF sound card.
2004	
2005	    The power-management is supported.
2006	
2007	
2008	AC97 Quirk Option
2009	=================
2010	
2011	The ac97_quirk option is used to enable/override the workaround for
2012	specific devices on drivers for on-board AC'97 controllers like
2013	snd-intel8x0.  Some hardware have swapped output pins between Master
2014	and Headphone, or Surround (thanks to confusion of AC'97
2015	specifications from version to version :-)
2016	
2017	The driver provides the auto-detection of known problematic devices,
2018	but some might be unknown or wrongly detected.  In such a case, pass
2019	the proper value with this option.
2020	
2021	The following strings are accepted:
2022	    - default	Don't override the default setting
2023	    - none	Disable the quirk
2024	    - hp_only	Bind Master and Headphone controls as a single control
2025	    - swap_hp	Swap headphone and master controls
2026	    - swap_surround  Swap master and surround controls
2027	    - ad_sharing  For AD1985, turn on OMS bit and use headphone
2028	    - alc_jack	For ALC65x, turn on the jack sense mode
2029	    - inv_eapd	Inverted EAPD implementation
2030	    - mute_led	Bind EAPD bit for turning on/off mute LED
2031	
2032	For backward compatibility, the corresponding integer value -1, 0,
2033	... are  accepted, too.
2034	
2035	For example, if "Master" volume control has no effect on your device
2036	but only "Headphone" does, pass ac97_quirk=hp_only module option.
2037	
2038	
2039	Configuring Non-ISAPNP Cards
2040	============================
2041	
2042	When the kernel is configured with ISA-PnP support, the modules
2043	supporting the isapnp cards will have module options "isapnp".
2044	If this option is set, *only* the ISA-PnP devices will be probed.
2045	For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
2046	together with the proper i/o and irq configuration.
2047	
2048	When the kernel is configured without ISA-PnP support, isapnp option
2049	will be not built in.
2050	
2051	
2052	Module Autoloading Support
2053	==========================
2054	
2055	The ALSA drivers can be loaded automatically on demand by defining
2056	module aliases.  The string 'snd-card-%1' is requested for ALSA native
2057	devices where %i is sound card number from zero to seven.
2058	
2059	To auto-load an ALSA driver for OSS services, define the string
2060	'sound-slot-%i' where %i means the slot number for OSS, which
2061	corresponds to the card index of ALSA.  Usually, define this
2062	as the same card module.
2063	
2064	An example configuration for a single emu10k1 card is like below:
2065	----- /etc/modprobe.conf
2066	alias snd-card-0 snd-emu10k1
2067	alias sound-slot-0 snd-emu10k1
2068	----- /etc/modprobe.conf
2069	
2070	The available number of auto-loaded sound cards depends on the module
2071	option "cards_limit" of snd module.  As default it's set to 1.
2072	To enable the auto-loading of multiple cards, specify the number of
2073	sound cards in that option.
2074	
2075	When multiple cards are available, it'd better to specify the index
2076	number for each card via module option, too, so that the order of
2077	cards is kept consistent.
2078	
2079	An example configuration for two sound cards is like below:
2080	
2081	----- /etc/modprobe.conf
2082	# ALSA portion
2083	options snd cards_limit=2
2084	alias snd-card-0 snd-interwave
2085	alias snd-card-1 snd-ens1371
2086	options snd-interwave index=0
2087	options snd-ens1371 index=1
2088	# OSS/Free portion
2089	alias sound-slot-0 snd-interwave
2090	alias sound-slot-1 snd-ens1371
2091	----- /etc/modprobe.conf
2092	
2093	In this example, the interwave card is always loaded as the first card
2094	(index 0) and ens1371 as the second (index 1).
2095	
2096	Alternative (and new) way to fixate the slot assignment is to use
2097	"slots" option of snd module.  In the case above, specify like the
2098	following: 
2099	
2100	options snd slots=snd-interwave,snd-ens1371
2101	
2102	Then, the first slot (#0) is reserved for snd-interwave driver, and
2103	the second (#1) for snd-ens1371.  You can omit index option in each
2104	driver if slots option is used (although you can still have them at
2105	the same time as long as they don't conflict).
2106	
2107	The slots option is especially useful for avoiding the possible
2108	hot-plugging and the resultant slot conflict.  For example, in the
2109	case above again, the first two slots are already reserved.  If any
2110	other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2111	snd-ens1371, it will be assigned to the third or later slot.
2112	
2113	When a module name is given with '!', the slot will be given for any
2114	modules but that name.  For example, "slots=!snd-pcsp" will reserve
2115	the first slot for any modules but snd-pcsp. 
2116	
2117	
2118	ALSA PCM devices to OSS devices mapping
2119	=======================================
2120	
2121	/dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
2122	/dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
2123	/dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
2124	/dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
2125	/dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
2126	/dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
2127	/dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
2128	/dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
2129	/dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
2130	
2131	The first number from /dev/snd/pcmC{X}D{Y}[c|p] expression means
2132	sound card number and second means device number.  The ALSA devices
2133	have either 'c' or 'p' suffix indicating the direction, capture and
2134	playback, respectively.
2135	
2136	Please note that the device mapping above may be varied via the module
2137	options of snd-pcm-oss module.
2138	
2139	
2140	Proc interfaces (/proc/asound)
2141	==============================
2142	
2143	/proc/asound/card#/pcm#[cp]/oss
2144	-------------------------------
2145	  String "erase" - erase all additional informations about OSS applications
2146	  String "<app_name> <fragments> <fragment_size> [<options>]"
2147	
2148	   <app_name> - name of application with (higher priority) or without path
2149	   <fragments> - number of fragments or zero if auto
2150	   <fragment_size> - size of fragment in bytes or zero if auto
2151	   <options> - optional parameters
2152		  - disable   the application tries to open a pcm device for
2153			      this channel but does not want to use it.
2154			      (Cause a bug or mmap needs)
2155			      It's good for Quake etc...
2156		  - direct    don't use plugins
2157		  - block     force block mode (rvplayer)
2158		  - non-block force non-block mode
2159		  - whole-frag  write only whole fragments (optimization affecting
2160				playback only)
2161		  - no-silence  do not fill silence ahead to avoid clicks
2162		  - buggy-ptr	Returns the whitespace blocks in GETOPTR ioctl
2163				instead of filled blocks
2164	
2165	  Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2166	           echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2167		   echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2168	
2169	
2170	Early Buffer Allocation
2171	=======================
2172	
2173	Some drivers (e.g. hdsp) require the large contiguous buffers, and
2174	sometimes it's too late to find such spaces when the driver module is
2175	actually loaded due to memory fragmentation.  You can pre-allocate the
2176	PCM buffers by loading snd-page-alloc module and write commands to its
2177	proc file in prior, for example, in the early boot stage like
2178	/etc/init.d/*.local scripts.
2179	
2180	Reading the proc file /proc/drivers/snd-page-alloc shows the current
2181	usage of page allocation.  In writing, you can send the following
2182	commands to the snd-page-alloc driver:
2183	
2184	  - add VENDOR DEVICE MASK SIZE BUFFERS
2185	
2186	    VENDOR and DEVICE are PCI vendor and device IDs.  They take
2187	    integer numbers (0x prefix is needed for the hex).
2188	    MASK is the PCI DMA mask.  Pass 0 if not restricted.
2189	    SIZE is the size of each buffer to allocate.  You can pass
2190	    k and m suffix for KB and MB.  The max number is 16MB.
2191	    BUFFERS is the number of buffers to allocate.  It must be greater
2192	    than 0.  The max number is 4.
2193	
2194	  - erase
2195	
2196	    This will erase the all pre-allocated buffers which are not in
2197	    use.
2198	
2199	
2200	Links and Addresses
2201	===================
2202	
2203	  ALSA project homepage
2204	       http://www.alsa-project.org
2205	
2206	  Kernel Bugzilla
2207	       http://bugzilla.kernel.org/
2208	
2209	  ALSA Developers ML
2210	       mailto:alsa-devel[AT]alsa-project[DOT]org
2211	
2212	  alsa-info.sh script
2213	       http://www.alsa-project.org/alsa-info.sh
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.