blob: 34888d4fc4a83551d648761863d96f12b534e24d [file] [log] [blame]
Takashi Iwaif6d23df2016-11-09 15:40:00 +01001==============================================================
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
Sugar Zhangb0e3b0a2021-09-23 18:50:46 +0800103Module 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
Takashi Iwaif6d23df2016-11-09 15:40:00 +0100112Common 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
Alexander A. Klimov7ed33ea2020-07-19 17:17:05 +0200321https://savannah.nongnu.org/projects/openvortex/
Takashi Iwaif6d23df2016-11-09 15:40:00 +0100322SPDIF 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,
Takashi Iwaid8cac622019-12-17 09:14:48 +0100507 1 = integrated PCI port (default on 8738),
508 0 = disable
Takashi Iwaif6d23df2016-11-09 15:40:00 +0100509fm_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
726* Emu APS (partially supported)
727* Sound Blaster Audigy
728
729extin
730 bitmap of available external inputs for FX8010 (see bellow)
731extout
732 bitmap of available external outputs for FX8010 (see bellow)
733seq_ports
734 allocated sequencer ports (4 by default)
735max_synth_voices
736 limit of voices used for wavetable (64 by default)
737max_buffer_size
738 specifies the maximum size of wavetable/pcm buffers given in MB
739 unit. Default value is 128.
740enable_ir
741 enable IR
742
743This module supports multiple cards and autoprobe.
744
745Input & Output configurations [extin/extout]
746* Creative Card wo/Digital out [0x0003/0x1f03]
747* Creative Card w/Digital out [0x0003/0x1f0f]
748* Creative Card w/Digital CD in [0x000f/0x1f0f]
749* Creative Card wo/Digital out + LiveDrive [0x3fc3/0x1fc3]
750* Creative Card w/Digital out + LiveDrive [0x3fc3/0x1fcf]
751* Creative Card w/Digital CD in + LiveDrive [0x3fcf/0x1fcf]
752* Creative Card wo/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]
753* Creative Card w/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]
754* Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
755* Creative Card 5.1/w Digital out + LiveDrive [0x3fc3/0x1fff]
756* Creative Card 5.1 (c) 2003 [0x3fc3/0x7cff]
757* Creative Card all ins and outs [0x3fff/0x7fff]
758
759The power-management is supported.
760
761Module snd-emu10k1x
762-------------------
763
764Module for Creative Emu10k1X (SB Live Dell OEM version)
765
766This module supports multiple cards.
767
768Module snd-ens1370
769------------------
770
771Module for Ensoniq AudioPCI ES1370 PCI sound cards.
772
773* SoundBlaster PCI 64
774* SoundBlaster PCI 128
775
776joystick
777 Enable joystick (default off)
778
779This module supports multiple cards and autoprobe.
780
781The power-management is supported.
782
783Module snd-ens1371
784------------------
785
786Module for Ensoniq AudioPCI ES1371 PCI sound cards.
787
788* SoundBlaster PCI 64
789* SoundBlaster PCI 128
790* SoundBlaster Vibra PCI
791
792joystick_port
793 port # for joystick (0x200,0x208,0x210,0x218), 0 = disable
794 (default), 1 = auto-detect
795
796This module supports multiple cards and autoprobe.
797
798The power-management is supported.
799
800Module snd-es1688
801-----------------
802
803Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
804
805isapnp
806 ISA PnP detection - 0 = disable, 1 = enable (default)
807mpu_port
808 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
809mpu_irq
810 IRQ # for MPU-401 port (5,7,9,10)
811fm_port
812 port # for OPL3 (option; share the same port as default)
813
814with ``isapnp=0``, the following additional options are available:
815
816port
817 port # for ES-1688 chip (0x220,0x240,0x260)
818irq
819 IRQ # for ES-1688 chip (5,7,9,10)
820dma8
821 DMA # for ES-1688 chip (0,1,3)
822
823This module supports multiple cards and autoprobe (without MPU-401 port)
824and PnP with the ES968 chip.
825
826Module snd-es18xx
827-----------------
828
829Module for ESS AudioDrive ES-18xx sound cards.
830
831isapnp
832 ISA PnP detection - 0 = disable, 1 = enable (default)
833
834with ``isapnp=0``, the following options are available:
835
836port
837 port # for ES-18xx chip (0x220,0x240,0x260)
838mpu_port
839 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
840fm_port
841 port # for FM (optional, not used)
842irq
843 IRQ # for ES-18xx chip (5,7,9,10)
844dma1
845 first DMA # for ES-18xx chip (0,1,3)
846dma2
847 first DMA # for ES-18xx chip (0,1,3)
848
849This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
850port if native ISA PnP routines are not used).
851When ``dma2`` is equal with ``dma1``, the driver works as half-duplex.
852
853The power-management is supported.
854
855Module snd-es1938
856-----------------
857
858Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
859
860This module supports multiple cards and autoprobe.
861
862The power-management is supported.
863
864Module snd-es1968
865-----------------
866
867Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
868
869total_bufsize
870 total buffer size in kB (1-4096kB)
871pcm_substreams_p
872 playback channels (1-8, default=2)
873pcm_substreams_c
874 capture channels (1-8, default=0)
875clock
876 clock (0 = auto-detection)
877use_pm
878 support the power-management (0 = off, 1 = on, 2 = auto (default))
879enable_mpu
880 enable MPU401 (0 = off, 1 = on, 2 = auto (default))
881joystick
882 enable joystick (default off)
883
884This module supports multiple cards and autoprobe.
885
886The power-management is supported.
887
888Module snd-fm801
889----------------
890
891Module for ForteMedia FM801 based PCI sound cards.
892
893tea575x_tuner
894 Enable TEA575x tuner;
895 1 = MediaForte 256-PCS,
896 2 = MediaForte 256-PCPR,
897 3 = MediaForte 64-PCR
898 High 16-bits are video (radio) device number + 1;
899 example: 0x10002 (MediaForte 256-PCPR, device 1)
900
901This module supports multiple cards and autoprobe.
902
903The power-management is supported.
904
905Module snd-gina20
906-----------------
907
908Module for Echoaudio Gina20
909
910This module supports multiple cards.
911The driver requires the firmware loader support on kernel.
912
913Module snd-gina24
914-----------------
915
916Module for Echoaudio Gina24
917
918This module supports multiple cards.
919The driver requires the firmware loader support on kernel.
920
921Module snd-gusclassic
922---------------------
923
924Module for Gravis UltraSound Classic sound card.
925
926port
927 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
928irq
929 IRQ # for GF1 chip (3,5,9,11,12,15)
930dma1
931 DMA # for GF1 chip (1,3,5,6,7)
932dma2
933 DMA # for GF1 chip (1,3,5,6,7,-1=disable)
934joystick_dac
935 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
936voices
937 GF1 voices limit (14-32)
938pcm_voices
939 reserved PCM voices
940
941This module supports multiple cards and autoprobe.
942
943Module snd-gusextreme
944---------------------
945
946Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
947
948port
949 port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
950gf1_port
951 port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
952mpu_port
953 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
954irq
955 IRQ # for ES-1688 chip (5,7,9,10)
956gf1_irq
957 IRQ # for GF1 chip (3,5,9,11,12,15)
958mpu_irq
959 IRQ # for MPU-401 port (5,7,9,10)
960dma8
961 DMA # for ES-1688 chip (0,1,3)
962dma1
963 DMA # for GF1 chip (1,3,5,6,7)
964joystick_dac
965 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
966voices
967 GF1 voices limit (14-32)
968pcm_voices
969 reserved PCM voices
970
971This module supports multiple cards and autoprobe (without MPU-401 port).
972
973Module snd-gusmax
974-----------------
975
976Module for Gravis UltraSound MAX sound card.
977
978port
979 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
980irq
981 IRQ # for GF1 chip (3,5,9,11,12,15)
982dma1
983 DMA # for GF1 chip (1,3,5,6,7)
984dma2
985 DMA # for GF1 chip (1,3,5,6,7,-1=disable)
986joystick_dac
987 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
988voices
989 GF1 voices limit (14-32)
990pcm_voices
991 reserved PCM voices
992
993This module supports multiple cards and autoprobe.
994
995Module snd-hda-intel
996--------------------
997
998Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
999PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
1000RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461
1001
1002[Multiple options for each card instance]
1003
1004model
1005 force the model name
1006position_fix
1007 Fix DMA pointer;
1008 -1 = system default: choose appropriate one per controller hardware,
1009 0 = auto: falls back to LPIB when POSBUF doesn't work,
1010 1 = use LPIB,
1011 2 = POSBUF: use position buffer,
1012 3 = VIACOMBO: VIA-specific workaround for capture,
1013 4 = COMBO: use LPIB for playback, auto for capture stream
Takashi Iwai67d94c22019-08-28 16:34:36 +02001014 5 = SKL+: apply the delay calculation available on recent Intel chips
1015 6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips
Takashi Iwaif6d23df2016-11-09 15:40:00 +01001016probe_mask
1017 Bitmask to probe codecs (default = -1, meaning all slots);
1018 When the bit 8 (0x100) is set, the lower 8 bits are used
1019 as the "fixed" codec slots; i.e. the driver probes the
1020 slots regardless what hardware reports back
1021probe_only
1022 Only probing and no codec initialization (default=off);
1023 Useful to check the initial codec status for debugging
1024bdl_pos_adj
1025 Specifies the DMA IRQ timing delay in samples.
1026 Passing -1 will make the driver to choose the appropriate
1027 value based on the controller chip.
1028patch
1029 Specifies the early "patch" files to modify the HD-audio setup
1030 before initializing the codecs.
1031 This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y``
1032 is set. See hd-audio/notes.rst for details.
1033beep_mode
1034 Selects the beep registration mode (0=off, 1=on);
1035 default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig.
1036
1037[Single (global) options]
1038
1039single_cmd
1040 Use single immediate commands to communicate with codecs
1041 (for debugging only)
1042enable_msi
1043 Enable Message Signaled Interrupt (MSI) (default = off)
1044power_save
1045 Automatic power-saving timeout (in second, 0 = disable)
1046power_save_controller
1047 Reset HD-audio controller in power-saving mode (default = on)
1048align_buffer_size
1049 Force rounding of buffer/period sizes to multiples of 128 bytes.
1050 This is more efficient in terms of memory access but isn't
1051 required by the HDA spec and prevents users from specifying
1052 exact period/buffer sizes. (default = on)
1053snoop
1054 Enable/disable snooping (default = on)
1055
1056This module supports multiple cards and autoprobe.
1057
1058See hd-audio/notes.rst for more details about HD-audio driver.
1059
1060Each codec may have a model table for different configurations.
1061If your machine isn't listed there, the default (usually minimal)
1062configuration is set up. You can pass ``model=<name>`` option to
1063specify a certain model in such a case. There are different
1064models depending on the codec chip. The list of available models
1065is found in hd-audio/models.rst.
1066
1067The model name ``generic`` is treated as a special case. When this
1068model is given, the driver uses the generic codec parser without
1069"codec-patch". It's sometimes good for testing and debugging.
1070
Takashi Iwai4a1672d2021-08-23 09:37:22 +02001071The model option can be used also for aliasing to another PCI or codec
1072SSID. When it's passed in the form of ``model=XXXX:YYYY`` where XXXX
1073and YYYY are the sub-vendor and sub-device IDs in hex numbers,
1074respectively, the driver will refer to that SSID as a reference to the
1075quirk table.
1076
Takashi Iwaif6d23df2016-11-09 15:40:00 +01001077If the default configuration doesn't work and one of the above
1078matches with your device, report it together with alsa-info.sh
1079output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel
1080ML (see the section `Links and Addresses`_).
1081
1082``power_save`` and ``power_save_controller`` options are for power-saving
Christina Quast9225e4e2018-04-11 18:33:26 +02001083mode. See powersave.rst for details.
Takashi Iwaif6d23df2016-11-09 15:40:00 +01001084
1085Note 2: If you get click noises on output, try the module option
1086``position_fix=1`` or ``2``. ``position_fix=1`` will use the SD_LPIB
1087register value without FIFO size correction as the current
1088DMA pointer. ``position_fix=2`` will make the driver to use
1089the position buffer instead of reading SD_LPIB register.
1090(Usually SD_LPIB register is more accurate than the
1091position buffer.)
1092
1093``position_fix=3`` is specific to VIA devices. The position
1094of the capture stream is checked from both LPIB and POSBUF
1095values. ``position_fix=4`` is a combination mode, using LPIB
1096for playback and POSBUF for capture.
1097
1098NB: If you get many ``azx_get_response timeout`` messages at
1099loading, it's likely a problem of interrupts (e.g. ACPI irq
1100routing). Try to boot with options like ``pci=noacpi``. Also, you
1101can try ``single_cmd=1`` module option. This will switch the
1102communication method between HDA controller and codecs to the
1103single immediate commands instead of CORB/RIRB. Basically, the
1104single command mode is provided only for BIOS, and you won't get
1105unsolicited events, too. But, at least, this works independently
1106from the irq. Remember this is a last resort, and should be
1107avoided as much as possible...
1108
1109MORE NOTES ON ``azx_get_response timeout`` PROBLEMS:
1110On some hardware, you may need to add a proper probe_mask option
1111to avoid the ``azx_get_response timeout`` problem above, instead.
1112This occurs when the access to non-existing or non-working codec slot
1113(likely a modem one) causes a stall of the communication via HD-audio
1114bus. You can see which codec slots are probed by enabling
1115``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec
1116proc files. Then limit the slots to probe by probe_mask option.
1117For example, ``probe_mask=1`` means to probe only the first slot, and
1118``probe_mask=4`` means only the third slot.
1119
1120The power-management is supported.
1121
1122Module snd-hdsp
1123---------------
1124
1125Module for RME Hammerfall DSP audio interface(s)
1126
1127This module supports multiple cards.
1128
1129Note: The firmware data can be automatically loaded via hotplug
1130when ``CONFIG_FW_LOADER`` is set. Otherwise, you need to load
1131the firmware via hdsploader utility included in alsa-tools
1132package.
1133The firmware data is found in alsa-firmware package.
1134
1135Note: snd-page-alloc module does the job which snd-hammerfall-mem
1136module did formerly. It will allocate the buffers in advance
1137when any HDSP cards are found. To make the buffer
1138allocation sure, load snd-page-alloc module in the early
1139stage of boot sequence. See `Early Buffer Allocation`_
1140section.
1141
1142Module snd-hdspm
1143----------------
1144
1145Module for RME HDSP MADI board.
1146
1147precise_ptr
1148 Enable precise pointer, or disable.
1149line_outs_monitor
1150 Send playback streams to analog outs by default.
1151enable_monitor
1152 Enable Analog Out on Channel 63/64 by default.
1153
Christina Quast9225e4e2018-04-11 18:33:26 +02001154See hdspm.rst for details.
Takashi Iwaif6d23df2016-11-09 15:40:00 +01001155
1156Module snd-ice1712
1157------------------
1158
1159Module for Envy24 (ICE1712) based PCI sound cards.
1160
1161* MidiMan M Audio Delta 1010
1162* MidiMan M Audio Delta 1010LT
1163* MidiMan M Audio Delta DiO 2496
1164* MidiMan M Audio Delta 66
1165* MidiMan M Audio Delta 44
1166* MidiMan M Audio Delta 410
1167* MidiMan M Audio Audiophile 2496
1168* TerraTec EWS 88MT
1169* TerraTec EWS 88D
1170* TerraTec EWX 24/96
1171* TerraTec DMX 6Fire
1172* TerraTec Phase 88
1173* Hoontech SoundTrack DSP 24
1174* Hoontech SoundTrack DSP 24 Value
1175* Hoontech SoundTrack DSP 24 Media 7.1
1176* Event Electronics, EZ8
1177* Digigram VX442
1178* Lionstracs, Mediastaton
1179* Terrasoniq TS 88
1180
1181model
1182 Use the given board model, one of the following:
1183 delta1010, dio2496, delta66, delta44, audiophile, delta410,
1184 delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
1185 dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
1186 phase88, mediastation
1187omni
1188 Omni I/O support for MidiMan M-Audio Delta44/66
1189cs8427_timeout
1190 reset timeout for the CS8427 chip (S/PDIF transceiver) in msec
1191 resolution, default value is 500 (0.5 sec)
1192
1193This module supports multiple cards and autoprobe.
1194Note: The consumer part is not used with all Envy24 based cards (for
1195example in the MidiMan Delta siree).
1196
1197Note: The supported board is detected by reading EEPROM or PCI
1198SSID (if EEPROM isn't available). You can override the
1199model by passing ``model`` module option in case that the
1200driver isn't configured properly or you want to try another
1201type for testing.
1202
1203Module snd-ice1724
1204------------------
1205
1206Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
1207
1208* MidiMan M Audio Revolution 5.1
1209* MidiMan M Audio Revolution 7.1
1210* MidiMan M Audio Audiophile 192
1211* AMP Ltd AUDIO2000
1212* TerraTec Aureon 5.1 Sky
1213* TerraTec Aureon 7.1 Space
1214* TerraTec Aureon 7.1 Universe
1215* TerraTec Phase 22
1216* TerraTec Phase 28
1217* AudioTrak Prodigy 7.1
1218* AudioTrak Prodigy 7.1 LT
1219* AudioTrak Prodigy 7.1 XT
1220* AudioTrak Prodigy 7.1 HIFI
1221* AudioTrak Prodigy 7.1 HD2
1222* AudioTrak Prodigy 192
1223* Pontis MS300
1224* Albatron K8X800 Pro II
1225* Chaintech ZNF3-150
1226* Chaintech ZNF3-250
1227* Chaintech 9CJS
1228* Chaintech AV-710
1229* Shuttle SN25P
1230* Onkyo SE-90PCI
1231* Onkyo SE-200PCI
1232* ESI Juli@
1233* ESI Maya44
1234* Hercules Fortissimo IV
1235* EGO-SYS WaveTerminal 192M
1236
1237model
1238 Use the given board model, one of the following:
1239 revo51, revo71, amp2000, prodigy71, prodigy71lt,
1240 prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,
1241 juli, aureon51, aureon71, universe, ap192, k8x800,
1242 phase22, phase28, ms300, av710, se200pci, se90pci,
1243 fortissimo4, sn25p, WT192M, maya44
1244
1245This module supports multiple cards and autoprobe.
1246
1247Note: The supported board is detected by reading EEPROM or PCI
1248SSID (if EEPROM isn't available). You can override the
1249model by passing ``model`` module option in case that the
1250driver isn't configured properly or you want to try another
1251type for testing.
1252
1253Module snd-indigo
1254-----------------
1255
1256Module for Echoaudio Indigo
1257
1258This module supports multiple cards.
1259The driver requires the firmware loader support on kernel.
1260
1261Module snd-indigodj
1262-------------------
1263
1264Module for Echoaudio Indigo DJ
1265
1266This module supports multiple cards.
1267The driver requires the firmware loader support on kernel.
1268
1269Module snd-indigoio
1270-------------------
1271
1272Module for Echoaudio Indigo IO
1273
1274This module supports multiple cards.
1275The driver requires the firmware loader support on kernel.
1276
1277Module snd-intel8x0
1278-------------------
1279
1280Module for AC'97 motherboards from Intel and compatibles.
1281
1282* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7,
1283 6300ESB, ESB2
1284* SiS 7012 (SiS 735)
1285* NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501
1286* AMD AMD768, AMD8111
1287* ALi m5455
1288
1289ac97_clock
1290 AC'97 codec clock base (0 = auto-detect)
1291ac97_quirk
1292 AC'97 workaround for strange hardware;
1293 See `AC97 Quirk Option`_ section below.
1294buggy_irq
1295 Enable workaround for buggy interrupts on some motherboards
1296 (default yes on nForce chips, otherwise off)
1297buggy_semaphore
1298 Enable workaround for hardware with buggy semaphores (e.g. on some
1299 ASUS laptops) (default off)
1300spdif_aclink
1301 Use S/PDIF over AC-link instead of direct connection from the
1302 controller chip (0 = off, 1 = on, -1 = default)
1303
1304This module supports one chip and autoprobe.
1305
1306Note: the latest driver supports auto-detection of chip clock.
1307if you still encounter too fast playback, specify the clock
1308explicitly via the module option ``ac97_clock=41194``.
1309
1310Joystick/MIDI ports are not supported by this driver. If your
1311motherboard has these devices, use the ns558 or snd-mpu401
1312modules, respectively.
1313
1314The power-management is supported.
1315
1316Module snd-intel8x0m
1317--------------------
1318
1319Module for Intel ICH (i8x0) chipset MC97 modems.
1320
1321* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7
1322* SiS 7013 (SiS 735)
1323* NVidia NForce, NForce2, NForce2s, NForce3
1324* AMD AMD8111
1325* ALi m5455
1326
1327ac97_clock
1328 AC'97 codec clock base (0 = auto-detect)
1329
1330This module supports one card and autoprobe.
1331
1332Note: The default index value of this module is -2, i.e. the first
1333slot is excluded.
1334
1335The power-management is supported.
1336
1337Module snd-interwave
1338--------------------
1339
1340Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1341and other sound cards based on AMD InterWave (tm) chip.
1342
1343joystick_dac
1344 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1345midi
1346 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1347pcm_voices
1348 reserved PCM voices for the synthesizer (default 2)
1349effect
1350 1 = InterWave effects enable (default 0); requires 8 voices
1351isapnp
1352 ISA PnP detection - 0 = disable, 1 = enable (default)
1353
1354with ``isapnp=0``, the following options are available:
1355
1356port
1357 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1358irq
1359 IRQ # for InterWave chip (3,5,9,11,12,15)
1360dma1
1361 DMA # for InterWave chip (0,1,3,5,6,7)
1362dma2
1363 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1364
1365This module supports multiple cards, autoprobe and ISA PnP.
1366
1367Module snd-interwave-stb
1368------------------------
1369
1370Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1371and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1372circuit for extended control of bass, treble and master volume.
1373
1374joystick_dac
1375 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1376midi
1377 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1378pcm_voices
1379 reserved PCM voices for the synthesizer (default 2)
1380effect
1381 1 = InterWave effects enable (default 0); requires 8 voices
1382isapnp
1383 ISA PnP detection - 0 = disable, 1 = enable (default)
1384
1385with ``isapnp=0``, the following options are available:
1386
1387port
1388 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1389port_tc
1390 tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1391irq
1392 IRQ # for InterWave chip (3,5,9,11,12,15)
1393dma1
1394 DMA # for InterWave chip (0,1,3,5,6,7)
1395dma2
1396 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1397
1398This module supports multiple cards, autoprobe and ISA PnP.
1399
1400Module snd-jazz16
1401-------------------
1402
1403Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
1404MVD1216 + MVA416 + MVA514.
1405
1406port
1407 port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
1408irq
1409 IRQ # for SB DSP chip (3,5,7,9,10,15)
1410dma8
1411 DMA # for SB DSP chip (1,3)
1412dma16
1413 DMA # for SB DSP chip (5,7)
1414mpu_port
1415 MPU-401 port # (0x300,0x310,0x320,0x330)
1416mpu_irq
1417 MPU-401 irq # (2,3,5,7)
1418
1419This module supports multiple cards.
1420
1421Module snd-korg1212
1422-------------------
1423
1424Module for Korg 1212 IO PCI card
1425
1426This module supports multiple cards.
1427
1428Module snd-layla20
1429------------------
1430
1431Module for Echoaudio Layla20
1432
1433This module supports multiple cards.
1434The driver requires the firmware loader support on kernel.
1435
1436Module snd-layla24
1437------------------
1438
1439Module for Echoaudio Layla24
1440
1441This module supports multiple cards.
1442The driver requires the firmware loader support on kernel.
1443
1444Module snd-lola
1445---------------
1446
1447Module for Digigram Lola PCI-e boards
1448
1449This module supports multiple cards.
1450
1451Module snd-lx6464es
1452-------------------
1453
1454Module for Digigram LX6464ES boards
1455
1456This module supports multiple cards.
1457
1458Module snd-maestro3
1459-------------------
1460
1461Module for Allegro/Maestro3 chips
1462
1463external_amp
1464 enable external amp (enabled by default)
1465amp_gpio
1466 GPIO pin number for external amp (0-15) or -1 for default pin (8
1467 for allegro, 1 for others)
1468
1469This module supports autoprobe and multiple chips.
1470
1471Note: the binding of amplifier is dependent on hardware.
1472If there is no sound even though all channels are unmuted, try to
1473specify other gpio connection via amp_gpio option.
1474For example, a Panasonic notebook might need ``amp_gpio=0x0d``
1475option.
1476
1477The power-management is supported.
1478
1479Module snd-mia
1480---------------
1481
1482Module for Echoaudio Mia
1483
1484This module supports multiple cards.
1485The driver requires the firmware loader support on kernel.
1486
1487Module snd-miro
1488---------------
1489
1490Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,
1491miroSOUND PCM 20 Radio.
1492
1493port
1494 Port # (0x530,0x604,0xe80,0xf40)
1495irq
1496 IRQ # (5,7,9,10,11)
1497dma1
1498 1st dma # (0,1,3)
1499dma2
1500 2nd dma # (0,1)
1501mpu_port
1502 MPU-401 port # (0x300,0x310,0x320,0x330)
1503mpu_irq
1504 MPU-401 irq # (5,7,9,10)
1505fm_port
1506 FM Port # (0x388)
1507wss
1508 enable WSS mode
1509ide
1510 enable onboard ide support
1511
1512Module snd-mixart
1513-----------------
1514
1515Module for Digigram miXart8 sound cards.
1516
1517This module supports multiple cards.
1518Note: One miXart8 board will be represented as 4 alsa cards.
Jonathan Neuschäfer3e096a22021-01-01 23:19:42 +01001519See Documentation/sound/cards/mixart.rst for details.
Takashi Iwaif6d23df2016-11-09 15:40:00 +01001520
1521When the driver is compiled as a module and the hotplug firmware
1522is supported, the firmware data is loaded via hotplug automatically.
1523Install the necessary firmware files in alsa-firmware package.
1524When no hotplug fw loader is available, you need to load the
1525firmware via mixartloader utility in alsa-tools package.
1526
1527Module snd-mona
1528---------------
1529
1530Module for Echoaudio Mona
1531
1532This module supports multiple cards.
1533The driver requires the firmware loader support on kernel.
1534
1535Module snd-mpu401
1536-----------------
1537
1538Module for MPU-401 UART devices.
1539
1540port
1541 port number or -1 (disable)
1542irq
1543 IRQ number or -1 (disable)
1544pnp
1545 PnP detection - 0 = disable, 1 = enable (default)
1546
1547This module supports multiple devices and PnP.
1548
1549Module snd-msnd-classic
1550-----------------------
1551
1552Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
1553soundcards.
1554
1555io
1556 Port # for msnd-classic card
1557irq
1558 IRQ # for msnd-classic card
1559mem
1560 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1561write_ndelay
1562 enable write ndelay (default = 1)
1563calibrate_signal
1564 calibrate signal (default = 0)
1565isapnp
1566 ISA PnP detection - 0 = disable, 1 = enable (default)
1567digital
1568 Digital daughterboard present (default = 0)
1569cfg
1570 Config port (0x250, 0x260 or 0x270) default = PnP
1571reset
1572 Reset all devices
1573mpu_io
1574 MPU401 I/O port
1575mpu_irq
1576 MPU401 irq#
1577ide_io0
1578 IDE port #0
1579ide_io1
1580 IDE port #1
1581ide_irq
1582 IDE irq#
1583joystick_io
1584 Joystick I/O port
1585
1586The driver requires firmware files ``turtlebeach/msndinit.bin`` and
1587``turtlebeach/msndperm.bin`` in the proper firmware directory.
1588
Mauro Carvalho Chehab0e6995e2018-06-26 06:24:40 -03001589See Documentation/sound/cards/multisound.sh for important information
Takashi Iwaif6d23df2016-11-09 15:40:00 +01001590about this driver. Note that it has been discontinued, but the
1591Voyetra Turtle Beach knowledge base entry for it is still available
1592at
Alexander A. Klimov7ed33ea2020-07-19 17:17:05 +02001593https://www.turtlebeach.com
Takashi Iwaif6d23df2016-11-09 15:40:00 +01001594
1595Module snd-msnd-pinnacle
1596------------------------
1597
1598Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1599
1600io
1601 Port # for pinnacle/fiji card
1602irq
1603 IRQ # for pinnalce/fiji card
1604mem
1605 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1606write_ndelay
1607 enable write ndelay (default = 1)
1608calibrate_signal
1609 calibrate signal (default = 0)
1610isapnp
1611 ISA PnP detection - 0 = disable, 1 = enable (default)
1612
1613The driver requires firmware files ``turtlebeach/pndspini.bin`` and
1614``turtlebeach/pndsperm.bin`` in the proper firmware directory.
1615
1616Module snd-mtpav
1617----------------
1618
1619Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1620port).
1621
1622port
1623 I/O port # for MTPAV (0x378,0x278, default=0x378)
1624irq
1625 IRQ # for MTPAV (7,5, default=7)
1626hwports
1627 number of supported hardware ports, default=8.
1628
1629Module supports only 1 card. This module has no enable option.
1630
1631Module snd-mts64
1632----------------
1633
1634Module for Ego Systems (ESI) Miditerminal 4140
1635
1636This module supports multiple devices.
1637Requires parport (``CONFIG_PARPORT``).
1638
1639Module snd-nm256
1640----------------
1641
1642Module for NeoMagic NM256AV/ZX chips
1643
1644playback_bufsize
1645 max playback frame size in kB (4-128kB)
1646capture_bufsize
1647 max capture frame size in kB (4-128kB)
1648force_ac97
1649 0 or 1 (disabled by default)
1650buffer_top
1651 specify buffer top address
1652use_cache
1653 0 or 1 (disabled by default)
1654vaio_hack
1655 alias buffer_top=0x25a800
1656reset_workaround
1657 enable AC97 RESET workaround for some laptops
1658reset_workaround2
1659 enable extended AC97 RESET workaround for some other laptops
1660
1661This module supports one chip and autoprobe.
1662
1663The power-management is supported.
1664
1665Note: on some notebooks the buffer address cannot be detected
1666automatically, or causes hang-up during initialization.
1667In such a case, specify the buffer top address explicitly via
1668the buffer_top option.
1669For example,
1670Sony F250: buffer_top=0x25a800
1671Sony F270: buffer_top=0x272800
1672The driver supports only ac97 codec. It's possible to force
1673to initialize/use ac97 although it's not detected. In such a
1674case, use ``force_ac97=1`` option - but *NO* guarantee whether it
1675works!
1676
1677Note: The NM256 chip can be linked internally with non-AC97
1678codecs. This driver supports only the AC97 codec, and won't work
1679with machines with other (most likely CS423x or OPL3SAx) chips,
1680even though the device is detected in lspci. In such a case, try
1681other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP
1682but some doesn't have ISA PnP. You'll need to specify ``isapnp=0``
1683and proper hardware parameters in the case without ISA PnP.
1684
1685Note: some laptops need a workaround for AC97 RESET. For the
1686known hardware like Dell Latitude LS and Sony PCG-F305, this
1687workaround is enabled automatically. For other laptops with a
1688hard freeze, you can try ``reset_workaround=1`` option.
1689
1690Note: Dell Latitude CSx laptops have another problem regarding
1691AC97 RESET. On these laptops, reset_workaround2 option is
1692turned on as default. This option is worth to try if the
1693previous reset_workaround option doesn't help.
1694
1695Note: This driver is really crappy. It's a porting from the
1696OSS driver, which is a result of black-magic reverse engineering.
1697The detection of codec will fail if the driver is loaded *after*
1698X-server as described above. You might be able to force to load
1699the module, but it may result in hang-up. Hence, make sure that
1700you load this module *before* X if you encounter this kind of
1701problem.
1702
1703Module snd-opl3sa2
1704------------------
1705
1706Module for Yamaha OPL3-SA2/SA3 sound cards.
1707
1708isapnp
1709 ISA PnP detection - 0 = disable, 1 = enable (default)
1710
1711with ``isapnp=0``, the following options are available:
1712
1713port
1714 control port # for OPL3-SA chip (0x370)
1715sb_port
1716 SB port # for OPL3-SA chip (0x220,0x240)
1717wss_port
1718 WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1719midi_port
1720 port # for MPU-401 UART (0x300,0x330), -1 = disable
1721fm_port
1722 FM port # for OPL3-SA chip (0x388), -1 = disable
1723irq
1724 IRQ # for OPL3-SA chip (5,7,9,10)
1725dma1
1726 first DMA # for Yamaha OPL3-SA chip (0,1,3)
1727dma2
1728 second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1729
1730This module supports multiple cards and ISA PnP. It does not support
1731autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1732
1733The power-management is supported.
1734
1735Module snd-opti92x-ad1848
1736-------------------------
1737
1738Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1739Module works with OAK Mozart cards as well.
1740
1741isapnp
1742 ISA PnP detection - 0 = disable, 1 = enable (default)
1743
1744with ``isapnp=0``, the following options are available:
1745
1746port
1747 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1748mpu_port
1749 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1750fm_port
1751 port # for OPL3 device (0x388)
1752irq
1753 IRQ # for WSS chip (5,7,9,10,11)
1754mpu_irq
1755 IRQ # for MPU-401 UART (5,7,9,10)
1756dma1
1757 first DMA # for WSS chip (0,1,3)
1758
1759This module supports only one card, autoprobe and PnP.
1760
1761Module snd-opti92x-cs4231
1762-------------------------
1763
1764Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1765
1766isapnp
1767 ISA PnP detection - 0 = disable, 1 = enable (default)
1768
1769with ``isapnp=0``, the following options are available:
1770
1771port
1772 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1773mpu_port
1774 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1775fm_port
1776 port # for OPL3 device (0x388)
1777irq
1778 IRQ # for WSS chip (5,7,9,10,11)
1779mpu_irq
1780 IRQ # for MPU-401 UART (5,7,9,10)
1781dma1
1782 first DMA # for WSS chip (0,1,3)
1783dma2
1784 second DMA # for WSS chip (0,1,3)
1785
1786This module supports only one card, autoprobe and PnP.
1787
1788Module snd-opti93x
1789------------------
1790
1791Module for sound cards based on OPTi 82c93x chips.
1792
1793isapnp
1794 ISA PnP detection - 0 = disable, 1 = enable (default)
1795
1796with ``isapnp=0``, the following options are available:
1797
1798port
1799 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1800mpu_port
1801 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1802fm_port
1803 port # for OPL3 device (0x388)
1804irq
1805 IRQ # for WSS chip (5,7,9,10,11)
1806mpu_irq
1807 IRQ # for MPU-401 UART (5,7,9,10)
1808dma1
1809 first DMA # for WSS chip (0,1,3)
1810dma2
1811 second DMA # for WSS chip (0,1,3)
1812
1813This module supports only one card, autoprobe and PnP.
1814
1815Module snd-oxygen
1816-----------------
1817
1818Module for sound cards based on the C-Media CMI8786/8787/8788 chip:
1819
1820* Asound A-8788
1821* Asus Xonar DG/DGX
1822* AuzenTech X-Meridian
1823* AuzenTech X-Meridian 2G
1824* Bgears b-Enspirer
1825* Club3D Theatron DTS
1826* HT-Omega Claro (plus)
1827* HT-Omega Claro halo (XT)
1828* Kuroutoshikou CMI8787-HG2PCI
1829* Razer Barracuda AC-1
1830* Sondigo Inferno
1831* TempoTec HiFier Fantasia
1832* TempoTec HiFier Serenade
1833
1834This module supports autoprobe and multiple cards.
1835
1836Module snd-pcsp
1837---------------
1838
1839Module for internal PC-Speaker.
1840
1841nopcm
1842 Disable PC-Speaker PCM sound. Only beeps remain.
1843nforce_wa
1844 enable NForce chipset workaround. Expect bad sound.
1845
1846This module supports system beeps, some kind of PCM playback and
1847even a few mixer controls.
1848
1849Module snd-pcxhr
1850----------------
1851
1852Module for Digigram PCXHR boards
1853
1854This module supports multiple cards.
1855
1856Module snd-portman2x4
1857---------------------
1858
1859Module for Midiman Portman 2x4 parallel port MIDI interface
1860
1861This module supports multiple cards.
1862
1863Module snd-powermac (on ppc only)
1864---------------------------------
1865
1866Module for PowerMac, iMac and iBook on-board soundchips
1867
1868enable_beep
1869 enable beep using PCM (enabled as default)
1870
1871Module supports autoprobe a chip.
1872
1873Note: the driver may have problems regarding endianness.
1874
1875The power-management is supported.
1876
1877Module snd-pxa2xx-ac97 (on arm only)
1878------------------------------------
1879
1880Module for AC97 driver for the Intel PXA2xx chip
1881
1882For ARM architecture only.
1883
1884The power-management is supported.
1885
1886Module snd-riptide
1887------------------
1888
1889Module for Conexant Riptide chip
1890
1891joystick_port
1892 Joystick port # (default: 0x200)
1893mpu_port
1894 MPU401 port # (default: 0x330)
1895opl3_port
1896 OPL3 port # (default: 0x388)
1897
1898This module supports multiple cards.
1899The driver requires the firmware loader support on kernel.
1900You need to install the firmware file ``riptide.hex`` to the standard
1901firmware path (e.g. /lib/firmware).
1902
1903Module snd-rme32
1904----------------
1905
1906Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32,
1907Prodif96 and Prodif Gold) sound cards.
1908
1909This module supports multiple cards.
1910
1911Module snd-rme96
1912----------------
1913
1914Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1915
1916This module supports multiple cards.
1917
1918Module snd-rme9652
1919------------------
1920
1921Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1922
1923precise_ptr
1924 Enable precise pointer (doesn't work reliably). (default = 0)
1925
1926This module supports multiple cards.
1927
1928Note: snd-page-alloc module does the job which snd-hammerfall-mem
1929module did formerly. It will allocate the buffers in advance
1930when any RME9652 cards are found. To make the buffer
1931allocation sure, load snd-page-alloc module in the early
1932stage of boot sequence. See `Early Buffer Allocation`_
1933section.
1934
1935Module snd-sa11xx-uda1341 (on arm only)
1936---------------------------------------
1937
1938Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1939
1940Module supports only one card.
1941Module has no enable and index options.
1942
1943The power-management is supported.
1944
1945Module snd-sb8
1946--------------
1947
1948Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,
1949SoundBlaster Pro
1950
1951port
1952 port # for SB DSP chip (0x220,0x240,0x260)
1953irq
1954 IRQ # for SB DSP chip (5,7,9,10)
1955dma8
1956 DMA # for SB DSP chip (1,3)
1957
1958This module supports multiple cards and autoprobe.
1959
1960The power-management is supported.
1961
1962Module snd-sb16 and snd-sbawe
1963-----------------------------
1964
1965Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1966SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP
1967
1968mic_agc
1969 Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1970csp
1971 ASP/CSP chip support - 0 = disable (default), 1 = enable
1972isapnp
1973 ISA PnP detection - 0 = disable, 1 = enable (default)
1974
1975with isapnp=0, the following options are available:
1976
1977port
1978 port # for SB DSP 4.x chip (0x220,0x240,0x260)
1979mpu_port
1980 port # for MPU-401 UART (0x300,0x330), -1 = disable
1981awe_port
1982 base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe
1983 module only)
1984irq
1985 IRQ # for SB DSP 4.x chip (5,7,9,10)
1986dma8
1987 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1988dma16
1989 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1990
1991This module supports multiple cards, autoprobe and ISA PnP.
1992
1993Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1994disable 16bit DMA with dma16 = -1 module parameter.
1995Also, all Sound Blaster 16 type cards can operate in 16-bit
1996half duplex mode through 8-bit DMA channel by disabling their
199716-bit DMA channel.
1998
1999The power-management is supported.
2000
2001Module snd-sc6000
2002-----------------
2003
2004Module for Gallant SC-6000 soundcard and later models: SC-6600 and
2005SC-7000.
2006
2007port
2008 Port # (0x220 or 0x240)
2009mss_port
2010 MSS Port # (0x530 or 0xe80)
2011irq
2012 IRQ # (5,7,9,10,11)
2013mpu_irq
2014 MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
2015dma
2016 DMA # (1,3,0)
2017joystick
2018 Enable gameport - 0 = disable (default), 1 = enable
2019
2020This module supports multiple cards.
2021
2022This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
2023
2024Module snd-sscape
2025-----------------
2026
2027Module for ENSONIQ SoundScape cards.
2028
2029port
2030 Port # (PnP setup)
2031wss_port
2032 WSS Port # (PnP setup)
2033irq
2034 IRQ # (PnP setup)
2035mpu_irq
2036 MPU-401 IRQ # (PnP setup)
2037dma
2038 DMA # (PnP setup)
2039dma2
2040 2nd DMA # (PnP setup, -1 to disable)
2041joystick
2042 Enable gameport - 0 = disable (default), 1 = enable
2043
2044This module supports multiple cards.
2045
2046The driver requires the firmware loader support on kernel.
2047
2048Module snd-sun-amd7930 (on sparc only)
2049--------------------------------------
2050
2051Module for AMD7930 sound chips found on Sparcs.
2052
2053This module supports multiple cards.
2054
2055Module snd-sun-cs4231 (on sparc only)
2056-------------------------------------
2057
2058Module for CS4231 sound chips found on Sparcs.
2059
2060This module supports multiple cards.
2061
2062Module snd-sun-dbri (on sparc only)
2063-----------------------------------
2064
2065Module for DBRI sound chips found on Sparcs.
2066
2067This module supports multiple cards.
2068
2069Module snd-wavefront
2070--------------------
2071
2072Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
2073
2074use_cs4232_midi
2075 Use CS4232 MPU-401 interface
2076 (inaccessibly located inside your computer)
2077isapnp
2078 ISA PnP detection - 0 = disable, 1 = enable (default)
2079
2080with isapnp=0, the following options are available:
2081
2082cs4232_pcm_port
2083 Port # for CS4232 PCM interface.
2084cs4232_pcm_irq
2085 IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
2086cs4232_mpu_port
2087 Port # for CS4232 MPU-401 interface.
2088cs4232_mpu_irq
2089 IRQ # for CS4232 MPU-401 interface (9,11,12,15).
2090ics2115_port
2091 Port # for ICS2115
2092ics2115_irq
2093 IRQ # for ICS2115
2094fm_port
2095 FM OPL-3 Port #
2096dma1
2097 DMA1 # for CS4232 PCM interface.
2098dma2
2099 DMA2 # for CS4232 PCM interface.
2100
2101The below are options for wavefront_synth features:
2102
2103wf_raw
2104 Assume that we need to boot the OS (default:no);
2105 If yes, then during driver loading, the state of the board is
2106 ignored, and we reset the board and load the firmware anyway.
2107fx_raw
2108 Assume that the FX process needs help (default:yes);
2109 If false, we'll leave the FX processor in whatever state it is
2110 when the driver is loaded. The default is to download the
2111 microprogram and associated coefficients to set it up for
2112 "default" operation, whatever that means.
2113debug_default
2114 Debug parameters for card initialization
2115wait_usecs
2116 How long to wait without sleeping, usecs (default:150);
2117 This magic number seems to give pretty optimal throughput
2118 based on my limited experimentation.
2119 If you want to play around with it and find a better value, be
2120 my guest. Remember, the idea is to get a number that causes us
2121 to just busy wait for as many WaveFront commands as possible,
2122 without coming up with a number so large that we hog the whole
2123 CPU.
2124 Specifically, with this number, out of about 134,000 status
2125 waits, only about 250 result in a sleep.
2126sleep_interval
2127 How long to sleep when waiting for reply (default: 100)
2128sleep_tries
2129 How many times to try sleeping during a wait (default: 50)
2130ospath
2131 Pathname to processed ICS2115 OS firmware (default:wavefront.os);
2132 The path name of the ISC2115 OS firmware. In the recent
2133 version, it's handled via firmware loader framework, so it
2134 must be installed in the proper path, typically,
2135 /lib/firmware.
2136reset_time
2137 How long to wait for a reset to take effect (default:2)
2138ramcheck_time
2139 How many seconds to wait for the RAM test (default:20)
2140osrun_time
2141 How many seconds to wait for the ICS2115 OS (default:10)
2142
2143This module supports multiple cards and ISA PnP.
2144
2145Note: the firmware file ``wavefront.os`` was located in the earlier
2146version in /etc. Now it's loaded via firmware loader, and
2147must be in the proper firmware path, such as /lib/firmware.
2148Copy (or symlink) the file appropriately if you get an error
2149regarding firmware downloading after upgrading the kernel.
2150
2151Module snd-sonicvibes
2152---------------------
2153
2154Module for S3 SonicVibes PCI sound cards.
2155* PINE Schubert 32 PCI
2156
2157reverb
2158 Reverb Enable - 1 = enable, 0 = disable (default);
2159 SoundCard must have onboard SRAM for this.
2160mge
2161 Mic Gain Enable - 1 = enable, 0 = disable (default)
2162
2163This module supports multiple cards and autoprobe.
2164
2165Module snd-serial-u16550
2166------------------------
2167
2168Module for UART16550A serial MIDI ports.
2169
2170port
2171 port # for UART16550A chip
2172irq
2173 IRQ # for UART16550A chip, -1 = poll mode
2174speed
2175 speed in bauds (9600,19200,38400,57600,115200)
2176 38400 = default
2177base
2178 base for divisor in bauds (57600,115200,230400,460800)
2179 115200 = default
2180outs
2181 number of MIDI ports in a serial port (1-4)
2182 1 = default
2183adaptor
2184 Type of adaptor.
2185 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
2186 3 = MS-124W M/B, 4 = Generic
2187
2188This module supports multiple cards. This module does not support autoprobe
2189thus the main port must be specified!!! Other options are optional.
2190
2191Module snd-trident
2192------------------
2193
2194Module for Trident 4DWave DX/NX sound cards.
2195* Best Union Miss Melody 4DWave PCI
2196* HIS 4DWave PCI
2197* Warpspeed ONSpeed 4DWave PCI
2198* AzTech PCI 64-Q3D
2199* Addonics SV 750
2200* CHIC True Sound 4Dwave
2201* Shark Predator4D-PCI
2202* Jaton SonicWave 4D
2203* SiS SI7018 PCI Audio
2204* Hoontech SoundTrack Digital 4DWave NX
2205
2206pcm_channels
2207 max channels (voices) reserved for PCM
2208wavetable_size
2209 max wavetable size in kB (4-?kb)
2210
2211This module supports multiple cards and autoprobe.
2212
2213The power-management is supported.
2214
2215Module snd-ua101
2216----------------
2217
2218Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
2219
2220This module supports multiple devices, autoprobe and hotplugging.
2221
2222Module snd-usb-audio
2223--------------------
2224
2225Module for USB audio and USB MIDI devices.
2226
2227vid
2228 Vendor ID for the device (optional)
2229pid
2230 Product ID for the device (optional)
2231nrpacks
2232 Max. number of packets per URB (default: 8)
2233device_setup
2234 Device specific magic number (optional);
2235 Influence depends on the device
2236 Default: 0x0000
2237ignore_ctl_error
2238 Ignore any USB-controller regarding mixer interface (default: no)
2239autoclock
2240 Enable auto-clock selection for UAC2 devices (default: yes)
2241quirk_alias
2242 Quirk alias list, pass strings like ``0123abcd:5678beef``, which
2243 applies the existing quirk for the device 5678:beef to a new
2244 device 0123:abcd.
Takashi Iwai62abd092020-11-23 09:53:45 +01002245implicit_fb
2246 Apply the generic implicit feedback sync mode. When this is set
2247 and the playback stream sync mode is ASYNC, the driver tries to
2248 tie an adjacent ASYNC capture stream as the implicit feedback
2249 source.
Takashi Iwaif274baa2018-05-27 13:01:17 +02002250use_vmalloc
2251 Use vmalloc() for allocations of the PCM buffers (default: yes).
2252 For architectures with non-coherent memory like ARM or MIPS, the
2253 mmap access may give inconsistent results with vmalloc'ed
2254 buffers. If mmap is used on such architectures, turn off this
2255 option, so that the DMA-coherent buffers are allocated and used
2256 instead.
Takashi Iwai2ceb65c2020-03-25 11:33:22 +01002257delayed_register
2258 The option is needed for devices that have multiple streams
2259 defined in multiple USB interfaces. The driver may invoke
2260 registrations multiple times (once per interface) and this may
2261 lead to the insufficient device enumeration.
2262 This option receives an array of strings, and you can pass
2263 ID:INTERFACE like ``0123abcd:4`` for performing the delayed
2264 registration to the given device. In this example, when a USB
2265 device 0123:abcd is probed, the driver waits the registration
2266 until the USB interface 4 gets probed.
2267 The driver prints a message like "Found post-registration device
2268 assignment: 1234abcd:04" for such a device, so that user can
2269 notice the need.
Takashi Iwaia39978ed2021-07-29 09:44:04 +02002270quirk_flags
2271 Contains the bit flags for various device specific workarounds.
2272 Applied to the corresponding card index.
Takashi Iwai2231af72021-08-23 13:35:18 +02002273
Takashi Iwaia39978ed2021-07-29 09:44:04 +02002274 * bit 0: Skip reading sample rate for devices
2275 * bit 1: Create Media Controller API entries
2276 * bit 2: Allow alignment on audio sub-slot at transfer
2277 * bit 3: Add length specifier to transfers
2278 * bit 4: Start playback stream at first in implement feedback mode
2279 * bit 5: Skip clock selector setup
2280 * bit 6: Ignore errors from clock source search
2281 * bit 7: Indicates ITF-USB DSD based DACs
2282 * bit 8: Add a delay of 20ms at each control message handling
2283 * bit 9: Add a delay of 1-2ms at each control message handling
2284 * bit 10: Add a delay of 5-6ms at each control message handling
2285 * bit 11: Add a delay of 50ms at each interface setup
2286 * bit 12: Perform sample rate validations at probe
2287 * bit 13: Disable runtime PM autosuspend
2288 * bit 14: Ignore errors for mixer access
2289 * bit 15: Support generic DSD raw U32_BE format
Takashi Iwai6e413402021-08-24 07:57:20 +02002290 * bit 16: Set up the interface at first like UAC1
Takashi Iwaif6d23df2016-11-09 15:40:00 +01002291
2292This module supports multiple devices, autoprobe and hotplugging.
2293
2294NB: ``nrpacks`` parameter can be modified dynamically via sysfs.
2295Don't put the value over 20. Changing via sysfs has no sanity
2296check.
2297
2298NB: ``ignore_ctl_error=1`` may help when you get an error at accessing
2299the mixer element such as URB error -22. This happens on some
Takashi Iwaia39978ed2021-07-29 09:44:04 +02002300buggy USB device or the controller. This workaround corresponds to
2301the ``quirk_flags`` bit 14, too.
Takashi Iwaif6d23df2016-11-09 15:40:00 +01002302
Takashi Iwaia39978ed2021-07-29 09:44:04 +02002303NB: ``quirk_alias`` option is provided only for testing / development.
Takashi Iwaif6d23df2016-11-09 15:40:00 +01002304If you want to have a proper support, contact to upstream for
2305adding the matching quirk in the driver code statically.
Takashi Iwaia39978ed2021-07-29 09:44:04 +02002306Ditto for ``quirk_flags``. If a device is known to require specific
2307workarounds, please report to the upstream.
Takashi Iwaif6d23df2016-11-09 15:40:00 +01002308
2309Module snd-usb-caiaq
2310--------------------
2311
2312Module for caiaq UB audio interfaces,
2313
2314* Native Instruments RigKontrol2
2315* Native Instruments Kore Controller
2316* Native Instruments Audio Kontrol 1
2317* Native Instruments Audio 8 DJ
2318
2319This module supports multiple devices, autoprobe and hotplugging.
2320
2321Module snd-usb-usx2y
2322--------------------
2323
2324Module for Tascam USB US-122, US-224 and US-428 devices.
2325
2326This module supports multiple devices, autoprobe and hotplugging.
2327
2328Note: you need to load the firmware via ``usx2yloader`` utility included
2329in alsa-tools and alsa-firmware packages.
2330
2331Module snd-via82xx
2332------------------
2333
2334Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,
23358233C, 8235, 8237 (south) bridge.
2336
2337mpu_port
2338 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
2339 [VIA686A/686B only]
2340joystick
2341 Enable joystick (default off) [VIA686A/686B only]
2342ac97_clock
2343 AC'97 codec clock base (default 48000Hz)
2344dxs_support
2345 support DXS channels, 0 = auto (default), 1 = enable, 2 = disable,
2346 3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different
2347 sample rates on different channels [VIA8233/C, 8235, 8237 only]
2348ac97_quirk
2349 AC'97 workaround for strange hardware;
2350 See `AC97 Quirk Option`_ section below.
2351
2352This module supports one chip and autoprobe.
2353
2354Note: on some SMP motherboards like MSI 694D the interrupts might
2355not be generated properly. In such a case, please try to
2356set the SMP (or MPS) version on BIOS to 1.1 instead of
2357default value 1.4. Then the interrupt number will be
2358assigned under 15. You might also upgrade your BIOS.
2359
2360Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
2361channels as the first PCM. On these channels, up to 4
2362streams can be played at the same time, and the controller
2363can perform sample rate conversion with separate rates for
2364each channel.
2365As default (``dxs_support = 0``), 48k fixed rate is chosen
2366except for the known devices since the output is often
2367noisy except for 48k on some mother boards due to the
2368bug of BIOS.
2369Please try once ``dxs_support=5`` and if it works on other
2370sample rates (e.g. 44.1kHz of mp3 playback), please let us
2371know the PCI subsystem vendor/device id's (output of
2372``lspci -nv``).
2373If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it
2374doesn't work too, try dxs_support=1. (dxs_support=1 is
2375usually for old motherboards. The correct implemented
2376board should work with 4 or 5.) If it still doesn't
2377work and the default setting is ok, ``dxs_support=3`` is the
2378right choice. If the default setting doesn't work at all,
2379try ``dxs_support=2`` to disable the DXS channels.
2380In any cases, please let us know the result and the
2381subsystem vendor/device ids. See `Links and Addresses`_
2382below.
2383
2384Note: for the MPU401 on VIA823x, use snd-mpu401 driver
2385additionally. The mpu_port option is for VIA686 chips only.
2386
2387The power-management is supported.
2388
2389Module snd-via82xx-modem
2390------------------------
2391
2392Module for VIA82xx AC97 modem
2393
2394ac97_clock
2395 AC'97 codec clock base (default 48000Hz)
2396
2397This module supports one card and autoprobe.
2398
2399Note: The default index value of this module is -2, i.e. the first
2400slot is excluded.
2401
2402The power-management is supported.
2403
2404Module snd-virmidi
2405------------------
2406
2407Module for virtual rawmidi devices.
2408This module creates virtual rawmidi devices which communicate
2409to the corresponding ALSA sequencer ports.
2410
2411midi_devs
2412 MIDI devices # (1-4, default=4)
2413
2414This module supports multiple cards.
2415
2416Module snd-virtuoso
2417-------------------
2418
2419Module for sound cards based on the Asus AV66/AV100/AV200 chips,
2420i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),
2421Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.
2422
2423This module supports autoprobe and multiple cards.
2424
2425Module snd-vx222
2426----------------
2427
2428Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
2429
2430mic
2431 Enable Microphone on V222 Mic (NYI)
2432ibl
2433 Capture IBL size. (default = 0, minimum size)
2434
2435This module supports multiple cards.
2436
2437When the driver is compiled as a module and the hotplug firmware
2438is supported, the firmware data is loaded via hotplug automatically.
2439Install the necessary firmware files in alsa-firmware package.
2440When no hotplug fw loader is available, you need to load the
2441firmware via vxloader utility in alsa-tools package. To invoke
2442vxloader automatically, add the following to /etc/modprobe.d/alsa.conf
2443
2444::
2445
2446 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\
2447 && /usr/bin/vxloader
2448
2449(for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to
2450/etc/modules.conf, instead.)
2451IBL size defines the interrupts period for PCM. The smaller size
2452gives smaller latency but leads to more CPU consumption, too.
2453The size is usually aligned to 126. As default (=0), the smallest
2454size is chosen. The possible IBL values can be found in
2455/proc/asound/cardX/vx-status proc file.
2456
2457The power-management is supported.
2458
2459Module snd-vxpocket
2460-------------------
2461
2462Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
2463
2464ibl
2465 Capture IBL size. (default = 0, minimum size)
2466
2467This module supports multiple cards. The module is compiled only when
2468PCMCIA is supported on kernel.
2469
2470With the older 2.6.x kernel, to activate the driver via the card
2471manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the
2472sound/pcmcia/vx/vxpocket.c. 2.6.13 or later kernel requires no
2473longer require a config file.
2474
2475When the driver is compiled as a module and the hotplug firmware
2476is supported, the firmware data is loaded via hotplug automatically.
2477Install the necessary firmware files in alsa-firmware package.
2478When no hotplug fw loader is available, you need to load the
2479firmware via vxloader utility in alsa-tools package.
2480
2481About capture IBL, see the description of snd-vx222 module.
2482
2483Note: snd-vxp440 driver is merged to snd-vxpocket driver since
2484ALSA 1.0.10.
2485
2486The power-management is supported.
2487
2488Module snd-ymfpci
2489-----------------
2490
2491Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2492
2493mpu_port
2494 0x300,0x330,0x332,0x334, 0 (disable) by default,
2495 1 (auto-detect for YMF744/754 only)
2496fm_port
2497 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2498 1 (auto-detect for YMF744/754 only)
2499joystick_port
2500 0x201,0x202,0x204,0x205, 0 (disable) by default,
2501 1 (auto-detect)
2502rear_switch
2503 enable shared rear/line-in switch (bool)
2504
2505This module supports autoprobe and multiple chips.
2506
2507The power-management is supported.
2508
2509Module snd-pdaudiocf
2510--------------------
2511
2512Module for Sound Core PDAudioCF sound card.
2513
2514The power-management is supported.
2515
2516
2517AC97 Quirk Option
2518=================
2519
2520The ac97_quirk option is used to enable/override the workaround for
2521specific devices on drivers for on-board AC'97 controllers like
2522snd-intel8x0. Some hardware have swapped output pins between Master
2523and Headphone, or Surround (thanks to confusion of AC'97
2524specifications from version to version :-)
2525
2526The driver provides the auto-detection of known problematic devices,
2527but some might be unknown or wrongly detected. In such a case, pass
2528the proper value with this option.
2529
2530The following strings are accepted:
2531
2532default
2533 Don't override the default setting
2534none
2535 Disable the quirk
2536hp_only
2537 Bind Master and Headphone controls as a single control
2538swap_hp
2539 Swap headphone and master controls
2540swap_surround
2541 Swap master and surround controls
2542ad_sharing
2543 For AD1985, turn on OMS bit and use headphone
2544alc_jack
2545 For ALC65x, turn on the jack sense mode
2546inv_eapd
2547 Inverted EAPD implementation
2548mute_led
2549 Bind EAPD bit for turning on/off mute LED
2550
2551For backward compatibility, the corresponding integer value -1, 0, ...
2552are accepted, too.
2553
2554For example, if ``Master`` volume control has no effect on your device
2555but only ``Headphone`` does, pass ac97_quirk=hp_only module option.
2556
2557
2558Configuring Non-ISAPNP Cards
2559============================
2560
2561When the kernel is configured with ISA-PnP support, the modules
2562supporting the isapnp cards will have module options ``isapnp``.
2563If this option is set, *only* the ISA-PnP devices will be probed.
2564For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option
2565together with the proper i/o and irq configuration.
2566
2567When the kernel is configured without ISA-PnP support, isapnp option
2568will be not built in.
2569
2570
2571Module Autoloading Support
2572==========================
2573
2574The ALSA drivers can be loaded automatically on demand by defining
2575module aliases. The string ``snd-card-%1`` is requested for ALSA native
2576devices where ``%i`` is sound card number from zero to seven.
2577
2578To auto-load an ALSA driver for OSS services, define the string
2579``sound-slot-%i`` where ``%i`` means the slot number for OSS, which
2580corresponds to the card index of ALSA. Usually, define this
2581as the same card module.
2582
2583An example configuration for a single emu10k1 card is like below:
2584::
2585
2586 ----- /etc/modprobe.d/alsa.conf
2587 alias snd-card-0 snd-emu10k1
2588 alias sound-slot-0 snd-emu10k1
2589 ----- /etc/modprobe.d/alsa.conf
2590
2591The available number of auto-loaded sound cards depends on the module
2592option ``cards_limit`` of snd module. As default it's set to 1.
2593To enable the auto-loading of multiple cards, specify the number of
2594sound cards in that option.
2595
2596When multiple cards are available, it'd better to specify the index
2597number for each card via module option, too, so that the order of
2598cards is kept consistent.
2599
2600An example configuration for two sound cards is like below:
2601::
2602
2603 ----- /etc/modprobe.d/alsa.conf
2604 # ALSA portion
2605 options snd cards_limit=2
2606 alias snd-card-0 snd-interwave
2607 alias snd-card-1 snd-ens1371
2608 options snd-interwave index=0
2609 options snd-ens1371 index=1
2610 # OSS/Free portion
2611 alias sound-slot-0 snd-interwave
2612 alias sound-slot-1 snd-ens1371
2613 ----- /etc/modprobe.d/alsa.conf
2614
2615In this example, the interwave card is always loaded as the first card
2616(index 0) and ens1371 as the second (index 1).
2617
2618Alternative (and new) way to fixate the slot assignment is to use
2619``slots`` option of snd module. In the case above, specify like the
2620following:
2621::
2622
2623 options snd slots=snd-interwave,snd-ens1371
2624
2625Then, the first slot (#0) is reserved for snd-interwave driver, and
2626the second (#1) for snd-ens1371. You can omit index option in each
2627driver if slots option is used (although you can still have them at
2628the same time as long as they don't conflict).
2629
2630The slots option is especially useful for avoiding the possible
2631hot-plugging and the resultant slot conflict. For example, in the
2632case above again, the first two slots are already reserved. If any
2633other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2634snd-ens1371, it will be assigned to the third or later slot.
2635
2636When a module name is given with '!', the slot will be given for any
2637modules but that name. For example, ``slots=!snd-pcsp`` will reserve
2638the first slot for any modules but snd-pcsp.
2639
2640
2641ALSA PCM devices to OSS devices mapping
2642=======================================
2643::
2644
2645 /dev/snd/pcmC0D0[c|p] -> /dev/audio0 (/dev/audio) -> minor 4
2646 /dev/snd/pcmC0D0[c|p] -> /dev/dsp0 (/dev/dsp) -> minor 3
2647 /dev/snd/pcmC0D1[c|p] -> /dev/adsp0 (/dev/adsp) -> minor 12
2648 /dev/snd/pcmC1D0[c|p] -> /dev/audio1 -> minor 4+16 = 20
2649 /dev/snd/pcmC1D0[c|p] -> /dev/dsp1 -> minor 3+16 = 19
2650 /dev/snd/pcmC1D1[c|p] -> /dev/adsp1 -> minor 12+16 = 28
2651 /dev/snd/pcmC2D0[c|p] -> /dev/audio2 -> minor 4+32 = 36
2652 /dev/snd/pcmC2D0[c|p] -> /dev/dsp2 -> minor 3+32 = 39
2653 /dev/snd/pcmC2D1[c|p] -> /dev/adsp2 -> minor 12+32 = 44
2654
2655The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means
2656sound card number and second means device number. The ALSA devices
2657have either ``c`` or ``p`` suffix indicating the direction, capture and
2658playback, respectively.
2659
2660Please note that the device mapping above may be varied via the module
2661options of snd-pcm-oss module.
2662
2663
2664Proc interfaces (/proc/asound)
2665==============================
2666
2667/proc/asound/card#/pcm#[cp]/oss
2668-------------------------------
2669erase
2670 erase all additional information about OSS applications
2671
2672<app_name> <fragments> <fragment_size> [<options>]
2673 <app_name>
2674 name of application with (higher priority) or without path
2675 <fragments>
2676 number of fragments or zero if auto
2677 <fragment_size>
2678 size of fragment in bytes or zero if auto
2679 <options>
2680 optional parameters
2681
2682 disable
2683 the application tries to open a pcm device for
2684 this channel but does not want to use it.
2685 (Cause a bug or mmap needs)
2686 It's good for Quake etc...
2687 direct
2688 don't use plugins
2689 block
2690 force block mode (rvplayer)
2691 non-block
2692 force non-block mode
2693 whole-frag
2694 write only whole fragments (optimization affecting
2695 playback only)
2696 no-silence
2697 do not fill silence ahead to avoid clicks
2698 buggy-ptr
2699 Returns the whitespace blocks in GETOPTR ioctl
2700 instead of filled blocks
2701
2702Example:
2703::
2704
2705 echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2706 echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2707 echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2708
2709
2710Early Buffer Allocation
2711=======================
2712
2713Some drivers (e.g. hdsp) require the large contiguous buffers, and
2714sometimes it's too late to find such spaces when the driver module is
2715actually loaded due to memory fragmentation. You can pre-allocate the
2716PCM buffers by loading snd-page-alloc module and write commands to its
2717proc file in prior, for example, in the early boot stage like
2718``/etc/init.d/*.local`` scripts.
2719
2720Reading the proc file /proc/drivers/snd-page-alloc shows the current
2721usage of page allocation. In writing, you can send the following
2722commands to the snd-page-alloc driver:
2723
2724* add VENDOR DEVICE MASK SIZE BUFFERS
2725
2726VENDOR and DEVICE are PCI vendor and device IDs. They take
2727integer numbers (0x prefix is needed for the hex).
2728MASK is the PCI DMA mask. Pass 0 if not restricted.
2729SIZE is the size of each buffer to allocate. You can pass
2730k and m suffix for KB and MB. The max number is 16MB.
2731BUFFERS is the number of buffers to allocate. It must be greater
2732than 0. The max number is 4.
2733
2734* erase
2735
2736This will erase the all pre-allocated buffers which are not in
2737use.
2738
2739
2740Links and Addresses
2741===================
2742
2743ALSA project homepage
2744 http://www.alsa-project.org
2745Kernel Bugzilla
2746 http://bugzilla.kernel.org/
2747ALSA Developers ML
2748 mailto:alsa-devel@alsa-project.org
2749alsa-info.sh script
Alexander A. Klimov7ed33ea2020-07-19 17:17:05 +02002750 https://www.alsa-project.org/alsa-info.sh