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