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