1 ==============================================================
2 Advanced Linux Sound Architecture - Driver Configuration guide
3 ==============================================================
9 To enable ALSA support you need at least to build the kernel with
10 primary sound card support (``CONFIG_SOUND``). Since ALSA can emulate
11 OSS, you don't have to choose any of the OSS modules.
13 Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer
14 and PCM supports if you want to run OSS applications with ALSA.
16 If you want to support the WaveTable functionality on cards such as
17 SB Live! then you need to enable "Sequencer support"
18 (``CONFIG_SND_SEQUENCER``).
20 To make ALSA debug messages more verbose, enable the "Verbose printk"
21 and "Debug" options. To check for memory leaks, turn on "Debug memory"
22 too. "Debug detection" will add checks for the detection of cards.
24 Please 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
32 The user can load modules with options. If the module supports more than
33 one card and you have more than one card of the same type then you can
34 specify multiple values for the option separated by commas.
40 The core ALSA module. It is used by all ALSA card drivers.
41 It takes the following options which have global effects.
44 major number for sound driver;
47 limiting card index for auto-loading (1-8);
49 For auto-loading more than one card, specify this option
50 together with snd-card-X aliases.
52 Reserve the slot index for the given driver;
53 This option takes multiple strings.
54 See `Module Autoloading Support`_ section for details.
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.
66 The PCM OSS emulation module.
67 This module takes options which change the mapping of devices.
70 PCM device number maps assigned to the 1st OSS device;
73 PCM device number maps assigned to the 2nd OSS device;
76 Don't block opening busy PCM devices;
79 For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of
80 the card #0. Similarly, when ``adsp_map=0``, /dev/adsp will be mapped
81 to PCM #0 of the card #0.
82 For changing the second or later card, specify the option with
83 commas, such like ``dsp_map=0,1``.
85 ``nonblock_open`` option is used to change the behavior of the PCM
86 regarding opening the device. When this option is non-zero,
87 opening a busy OSS PCM device won't be blocked but return
88 immediately with EAGAIN (just like O_NONBLOCK flag).
93 This module takes options which change the mapping of devices.
94 similar to those of the snd-pcm-oss module.
97 MIDI device number maps assigned to the 1st OSS device;
100 MIDI device number maps assigned to the 2nd OSS device;
106 The soc core module. It is used by all ALSA card drivers.
107 It takes the following options which have global effects.
109 prealloc_buffer_size_kbytes
110 Specify prealloc buffer size in kbytes (default: 512).
112 Common parameters for top sound card modules
113 --------------------------------------------
115 Each of top level sound card module takes the following options.
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;
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
134 Default: enabled, for PCI and ISA PnP cards
139 Module for AdLib FM cards.
144 This module supports multiple cards. It does not support autoprobe, so
145 the port must be specified. For actual AdLib FM cards it will be 0x388.
146 Note that this card does not have PCM support and no mixer; only FM
149 Make sure you have ``sbiload`` from the alsa-tools package available and,
150 after loading the module, find out the assigned ALSA sequencer port
151 number through ``sbiload -l``.
156 Port Client name Port name
157 64:0 OPL2 FM synth OPL2 FM Port
159 Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``:
162 sbiload -p 64:0 std.sb drums.sb
164 If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3``
165 instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils:
168 aplaymidi -p 64:0 foo.mid
173 Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
176 Clock frequency for AD1816A chip (default = 0, 33000Hz)
178 This module supports multiple cards, autoprobe and PnP.
183 Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
186 port # for AD1848 chip
188 IRQ # for AD1848 chip
190 DMA # for AD1848 chip (0,1,3)
192 This module supports multiple cards. It does not support autoprobe
193 thus main port must be specified!!! Other ports are optional.
195 The power-management is supported.
200 Module for Analog Devices AD1889 chips.
203 AC'97 workaround for strange hardware;
204 See the description of intel8x0 module for details.
206 This module supports multiple cards.
211 Module for ALi M5451 PCI chip.
214 Number of hardware channels assigned for PCM
219 This module supports one chip and autoprobe.
221 The power-management is supported.
226 Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
228 This module supports multiple cards, autoprobe and PnP.
230 The power-management is supported.
235 Module for Avance Logic ALS300 and ALS300+
237 This module supports multiple cards.
239 The power-management is supported.
244 Module for sound cards based on Avance Logic ALS4000 PCI chip.
247 port # for legacy joystick support;
248 0 = disabled (default), 1 = auto-detect
250 This module supports multiple cards, autoprobe and PnP.
252 The power-management is supported.
257 Module for AudioScience ASI soundcards
260 enable HPI hwdep for AudioScience soundcard
262 This module supports multiple cards.
263 The driver requires the firmware loader support on kernel.
268 Module for ATI IXP 150/200/250/400 AC97 controllers.
271 AC'97 clock (default = 48000)
273 AC'97 workaround for strange hardware;
274 See `AC97 Quirk Option`_ section below.
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
281 S/PDIF transfer over AC-link (default = 1)
283 This module supports one card and autoprobe.
285 ATI IXP has two different methods to control SPDIF output. One is
286 over AC-link and another is over the "direct" SPDIF output. The
287 implementation depends on the motherboard, and you'll need to
288 choose the correct one via spdif_aclink module option.
290 The power-management is supported.
292 Module snd-atiixp-modem
293 -----------------------
295 Module for ATI IXP 150/200/250 AC97 modem controllers.
297 This module supports one card and autoprobe.
299 Note: The default index value of this module is -2, i.e. the first
302 The power-management is supported.
304 Module snd-au8810, snd-au8820, snd-au8830
305 -----------------------------------------
307 Module for Aureal Vortex, Vortex2 and Advantage device.
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)
318 This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
319 EQ, mpu401, gameport. A3D and wavetable support are still in development.
320 Development and reverse engineering work is being coordinated at
321 https://savannah.nongnu.org/projects/openvortex/
322 SPDIF output has a copy of the AC97 codec output, unless you use the
323 ``spdif`` pcm device, which allows raw data passthru.
324 The hardware EQ hardware and SPDIF is only present in the Vortex2 and
327 Note: Some ALSA mixer applications don't handle the SPDIF sample rate
328 control correctly. If you have problems regarding this, try
329 another ALSA compliant mixer (alsamixer works).
334 Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605
338 port # for BASE (0x220,0x240,0x260,0x280)
340 port # for WSS (0x530,0x604,0xe80,0xf40)
342 IRQ # for WSS (7,9,10,11)
344 DMA # for WSS playback (0,1,3)
346 DMA # for WSS capture (0,1), -1 = disabled (default)
348 port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
350 IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)
352 port # for OPL3 (0x388), -1 = disabled (default)
354 This module supports multiple cards. It does not support autoprobe:
355 ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
356 The other values are optional.
358 ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
359 or the value stored in the card's EEPROM for cards that have an EEPROM and
360 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
361 be chosen freely from the options enumerated above.
363 If ``dma2`` is specified and different from ``dma1``, the card will operate in
364 full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
365 enable capture since only channels 0 and 1 are available for capture.
367 Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
368 mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
370 Whatever IRQ and DMA channels you pick, be sure to reserve them for
371 legacy ISA in your BIOS.
376 Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316
380 port # for BASE (0x220,0x240,0x260,0x280)
382 port # for WSS (0x530,0x604,0xe80,0xf40)
384 IRQ # for WSS (7,9,10,11)
386 DMA # for WSS playback (0,1,3)
388 DMA # for WSS capture (0,1), -1 = disabled (default)
390 port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
392 IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)
394 port # for OPL3 (0x388), -1 = disabled (default)
396 This module supports multiple cards. It does not support autoprobe:
397 ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
398 The other values are optional.
400 ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
401 or the value stored in the card's EEPROM for cards that have an EEPROM and
402 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
403 be chosen freely from the options enumerated above.
405 If ``dma2`` is specified and different from ``dma1``, the card will operate in
406 full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
407 enable capture since only channels 0 and 1 are available for capture.
409 Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
410 mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
412 Whatever IRQ and DMA channels you pick, be sure to reserve them for
413 legacy ISA in your BIOS.
418 Module for Audiowerk2 sound card
420 This module supports multiple cards.
425 Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
427 This module supports multiple cards, PnP and autoprobe.
429 The power-management is supported.
434 Module for sound cards based on Aztech AZF3328 PCI chip.
437 Enable joystick (default off)
439 This module supports multiple cards.
444 Module for video cards based on Bt87x chips.
447 Override the default digital rate (Hz)
449 Load the driver even if the card model isn't known
451 This module supports multiple cards.
453 Note: The default index value of this module is -2, i.e. the first
459 Module for Creative Audigy LS and SB Live 24bit
461 This module supports multiple cards.
467 Module for sound cards based on C-Media CMI8330 ISA chips.
470 ISA PnP detection - 0 = disable, 1 = enable (default)
472 with ``isapnp=0``, the following options are available:
475 port # for CMI8330 chip (WSS)
477 IRQ # for CMI8330 chip (WSS)
479 first DMA # for CMI8330 chip (WSS)
481 port # for CMI8330 chip (SB16)
483 IRQ # for CMI8330 chip (SB16)
485 8bit DMA # for CMI8330 chip (SB16)
487 16bit DMA # for CMI8330 chip (SB16)
489 (optional) OPL3 I/O port
491 (optional) MPU401 I/O port
493 (optional) MPU401 irq #
495 This module supports multiple cards and autoprobe.
497 The power-management is supported.
502 Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
505 port address of MIDI interface (8338 only):
506 0x300,0x310,0x320,0x330 = legacy port,
507 1 = integrated PCI port (default on 8738),
510 port address of OPL-3 FM synthesizer (8x38 only):
512 1 = integrated PCI port (default on 8738),
515 Software-conversion of raw SPDIF packets (model 033 only) (default = 1)
517 Joystick port address (0 = disable, 1 = auto-detect)
519 This module supports autoprobe and multiple cards.
521 The power-management is supported.
526 Module for sound cards based on CS4231 ISA chips.
529 port # for CS4231 chip
531 port # for MPU-401 UART (optional), -1 = disable
533 IRQ # for CS4231 chip
535 IRQ # for MPU-401 UART
537 first DMA # for CS4231 chip
539 second DMA # for CS4231 chip
541 This module supports multiple cards. This module does not support autoprobe
542 thus main port must be specified!!! Other ports are optional.
544 The power-management is supported.
549 Module for sound cards based on CS4232/CS4232A,
550 CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips.
553 ISA PnP detection - 0 = disable, 1 = enable (default)
555 with ``isapnp=0``, the following options are available:
558 port # for CS4236 chip (PnP setup - 0x534)
560 control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
562 port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
564 FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
566 IRQ # for CS4236 chip (5,7,9,11,12,15)
568 IRQ # for MPU-401 UART (9,11,12,15)
570 first DMA # for CS4236 chip (0,1,3)
572 second DMA # for CS4236 chip (0,1,3), -1 = disable
574 This 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
576 specified!!! Other ports are optional.
578 The power-management is supported.
580 This module is aliased as snd-cs4232 since it provides the old
581 snd-cs4232 functionality, too.
586 Module for Cirrus Logic CS4281 soundchip.
589 Secondary codec ID (0 = disable, default)
591 This module supports multiple cards.
593 The power-management is supported.
598 Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
599 CS4624/CS4630/CS4280 PCI chips.
602 Force to enable external amplifier.
604 Force to enable Thinkpad's CLKRUN control.
606 Support OSS mmap mode (default = 0).
608 This module supports multiple cards and autoprobe.
609 Usually external amp and CLKRUN controls are detected automatically
610 from PCI sub vendor/device ids. If they don't work, give the options
613 The power-management is supported.
618 Module for Cyrix/NatSemi Geode 5530 chip.
620 Module snd-cs5535audio
621 ----------------------
623 Module for multifunction CS5535 companion PCI device
625 The power-management is supported.
630 Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
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
643 reference sample rate, 44100 or 48000 (default)
645 multiple to ref. sample rate, 1 or 2 (default)
647 override the PCI SSID for probing;
648 the value consists of SSVID << 16 | SSDID.
649 The default is zero, which means no override.
651 This module supports multiple cards.
656 Module for Echoaudio Darla20
658 This module supports multiple cards.
659 The driver requires the firmware loader support on kernel.
664 Module for Echoaudio Darla24
666 This module supports multiple cards.
667 The driver requires the firmware loader support on kernel.
672 Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
675 This module supports multiple cards. This module is enabled only with
678 The power-management is supported.
683 Module for the dummy sound card. This "card" doesn't do any output
684 or input, but you may use this module for any application which
685 requires a sound card (like RealPlayer).
688 Number of PCM devices assigned to each card (default = 1, up to 4)
690 Number of PCM substreams assigned to each PCM (default = 8, up to 128)
692 Use hrtimer (=1, default) or system timer (=0)
694 Fake buffer allocations (default = 1)
696 When multiple PCM devices are created, snd-dummy gives different
697 behavior 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
703 As default, snd-dummy drivers doesn't allocate the real buffers
704 but either ignores read/write or mmap a single dummy page to all
705 buffer pages, in order to save the resources. If your apps need
706 the read/ written buffer data to be consistent, pass fake_buffer=0
709 The power-management is supported.
714 Module for Echoaudio 3G cards (Gina3G/Layla3G)
716 This module supports multiple cards.
717 The driver requires the firmware loader support on kernel.
722 Module for EMU10K1/EMU10k2 based PCI sound cards.
724 * Sound Blaster Live!
725 * Sound Blaster PCI 512
726 * Sound Blaster Audigy
727 * E-MU APS (partially supported)
731 bitmap of available external inputs for FX8010 (see below)
733 bitmap of available external outputs for FX8010 (see below)
735 allocated sequencer ports (4 by default)
737 limit of voices used for wavetable (64 by default)
739 specifies the maximum size of wavetable/pcm buffers given in MB
740 unit. Default value is 128.
744 This module supports multiple cards and autoprobe.
746 Input & 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]
760 The power-management is supported.
765 Module for Creative Emu10k1X (SB Live Dell OEM version)
767 This module supports multiple cards.
772 Module for Ensoniq AudioPCI ES1370 PCI sound cards.
774 * SoundBlaster PCI 64
775 * SoundBlaster PCI 128
778 Enable joystick (default off)
780 This module supports multiple cards and autoprobe.
782 The power-management is supported.
787 Module for Ensoniq AudioPCI ES1371 PCI sound cards.
789 * SoundBlaster PCI 64
790 * SoundBlaster PCI 128
791 * SoundBlaster Vibra PCI
794 port # for joystick (0x200,0x208,0x210,0x218), 0 = disable
795 (default), 1 = auto-detect
797 This module supports multiple cards and autoprobe.
799 The power-management is supported.
804 Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
807 ISA PnP detection - 0 = disable, 1 = enable (default)
809 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
811 IRQ # for MPU-401 port (5,7,9,10)
813 port # for OPL3 (option; share the same port as default)
815 with ``isapnp=0``, the following additional options are available:
818 port # for ES-1688 chip (0x220,0x240,0x260)
820 IRQ # for ES-1688 chip (5,7,9,10)
822 DMA # for ES-1688 chip (0,1,3)
824 This module supports multiple cards and autoprobe (without MPU-401 port)
825 and PnP with the ES968 chip.
830 Module for ESS AudioDrive ES-18xx sound cards.
833 ISA PnP detection - 0 = disable, 1 = enable (default)
835 with ``isapnp=0``, the following options are available:
838 port # for ES-18xx chip (0x220,0x240,0x260)
840 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
842 port # for FM (optional, not used)
844 IRQ # for ES-18xx chip (5,7,9,10)
846 first DMA # for ES-18xx chip (0,1,3)
848 first DMA # for ES-18xx chip (0,1,3)
850 This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
851 port if native ISA PnP routines are not used).
852 When ``dma2`` is equal with ``dma1``, the driver works as half-duplex.
854 The power-management is supported.
859 Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
861 This module supports multiple cards and autoprobe.
863 The power-management is supported.
868 Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
871 total buffer size in kB (1-4096kB)
873 playback channels (1-8, default=2)
875 capture channels (1-8, default=0)
877 clock (0 = auto-detection)
879 support the power-management (0 = off, 1 = on, 2 = auto (default))
881 enable MPU401 (0 = off, 1 = on, 2 = auto (default))
883 enable joystick (default off)
885 This module supports multiple cards and autoprobe.
887 The power-management is supported.
892 Module for ForteMedia FM801 based PCI sound cards.
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)
902 This module supports multiple cards and autoprobe.
904 The power-management is supported.
909 Module for Echoaudio Gina20
911 This module supports multiple cards.
912 The driver requires the firmware loader support on kernel.
917 Module for Echoaudio Gina24
919 This module supports multiple cards.
920 The driver requires the firmware loader support on kernel.
922 Module snd-gusclassic
923 ---------------------
925 Module for Gravis UltraSound Classic sound card.
928 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
930 IRQ # for GF1 chip (3,5,9,11,12,15)
932 DMA # for GF1 chip (1,3,5,6,7)
934 DMA # for GF1 chip (1,3,5,6,7,-1=disable)
936 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
938 GF1 voices limit (14-32)
942 This module supports multiple cards and autoprobe.
944 Module snd-gusextreme
945 ---------------------
947 Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
950 port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
952 port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
954 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
956 IRQ # for ES-1688 chip (5,7,9,10)
958 IRQ # for GF1 chip (3,5,9,11,12,15)
960 IRQ # for MPU-401 port (5,7,9,10)
962 DMA # for ES-1688 chip (0,1,3)
964 DMA # for GF1 chip (1,3,5,6,7)
966 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
968 GF1 voices limit (14-32)
972 This module supports multiple cards and autoprobe (without MPU-401 port).
977 Module for Gravis UltraSound MAX sound card.
980 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
982 IRQ # for GF1 chip (3,5,9,11,12,15)
984 DMA # for GF1 chip (1,3,5,6,7)
986 DMA # for GF1 chip (1,3,5,6,7,-1=disable)
988 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
990 GF1 voices limit (14-32)
994 This module supports multiple cards and autoprobe.
999 Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
1000 PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
1001 RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461
1003 [Multiple options for each card instance]
1006 force the model name
1009 -1 = system default: choose appropriate one per controller hardware,
1010 0 = auto: falls back to LPIB when POSBUF doesn't work,
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
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
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
1023 Only probing and no codec initialization (default=off);
1024 Useful to check the initial codec status for debugging
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.
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.
1035 Selects the beep registration mode (0=off, 1=on);
1036 default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig.
1038 [Single (global) options]
1041 Use single immediate commands to communicate with codecs
1042 (for debugging only)
1044 Enable Message Signaled Interrupt (MSI) (default = off)
1046 Automatic power-saving timeout (in second, 0 = disable)
1047 power_save_controller
1048 Reset HD-audio controller in power-saving mode (default = on)
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)
1055 Enable/disable snooping (default = on)
1057 This module supports multiple cards and autoprobe.
1059 See hd-audio/notes.rst for more details about HD-audio driver.
1061 Each codec may have a model table for different configurations.
1062 If your machine isn't listed there, the default (usually minimal)
1063 configuration is set up. You can pass ``model=<name>`` option to
1064 specify a certain model in such a case. There are different
1065 models depending on the codec chip. The list of available models
1066 is found in hd-audio/models.rst.
1068 The model name ``generic`` is treated as a special case. When this
1069 model is given, the driver uses the generic codec parser without
1070 "codec-patch". It's sometimes good for testing and debugging.
1072 The model option can be used also for aliasing to another PCI or codec
1073 SSID. When it's passed in the form of ``model=XXXX:YYYY`` where XXXX
1074 and YYYY are the sub-vendor and sub-device IDs in hex numbers,
1075 respectively, the driver will refer to that SSID as a reference to the
1078 If the default configuration doesn't work and one of the above
1079 matches with your device, report it together with alsa-info.sh
1080 output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel
1081 ML (see the section `Links and Addresses`_).
1083 ``power_save`` and ``power_save_controller`` options are for power-saving
1084 mode. See powersave.rst for details.
1086 Note 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
1088 register value without FIFO size correction as the current
1089 DMA pointer. ``position_fix=2`` will make the driver to use
1090 the position buffer instead of reading SD_LPIB register.
1091 (Usually SD_LPIB register is more accurate than the
1094 ``position_fix=3`` is specific to VIA devices. The position
1095 of the capture stream is checked from both LPIB and POSBUF
1096 values. ``position_fix=4`` is a combination mode, using LPIB
1097 for playback and POSBUF for capture.
1099 NB: If you get many ``azx_get_response timeout`` messages at
1100 loading, it's likely a problem of interrupts (e.g. ACPI irq
1101 routing). Try to boot with options like ``pci=noacpi``. Also, you
1102 can try ``single_cmd=1`` module option. This will switch the
1103 communication method between HDA controller and codecs to the
1104 single immediate commands instead of CORB/RIRB. Basically, the
1105 single command mode is provided only for BIOS, and you won't get
1106 unsolicited events, too. But, at least, this works independently
1107 from the irq. Remember this is a last resort, and should be
1108 avoided as much as possible...
1110 MORE NOTES ON ``azx_get_response timeout`` PROBLEMS:
1111 On some hardware, you may need to add a proper probe_mask option
1112 to avoid the ``azx_get_response timeout`` problem above, instead.
1113 This 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
1115 bus. You can see which codec slots are probed by enabling
1116 ``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec
1117 proc files. Then limit the slots to probe by probe_mask option.
1118 For example, ``probe_mask=1`` means to probe only the first slot, and
1119 ``probe_mask=4`` means only the third slot.
1121 The power-management is supported.
1126 Module for RME Hammerfall DSP audio interface(s)
1128 This module supports multiple cards.
1130 Note: The firmware data can be automatically loaded via hotplug
1131 when ``CONFIG_FW_LOADER`` is set. Otherwise, you need to load
1132 the firmware via hdsploader utility included in alsa-tools
1134 The firmware data is found in alsa-firmware package.
1136 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1137 module did formerly. It will allocate the buffers in advance
1138 when any HDSP cards are found. To make the buffer
1139 allocation sure, load snd-page-alloc module in the early
1140 stage of boot sequence. See `Early Buffer Allocation`_
1146 Module for RME HDSP MADI board.
1149 Enable precise pointer, or disable.
1151 Send playback streams to analog outs by default.
1153 Enable Analog Out on Channel 63/64 by default.
1155 See hdspm.rst for details.
1160 Module for Envy24 (ICE1712) based PCI sound cards.
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
1171 * TerraTec EWX 24/96
1172 * TerraTec DMX 6Fire
1174 * Hoontech SoundTrack DSP 24
1175 * Hoontech SoundTrack DSP 24 Value
1176 * Hoontech SoundTrack DSP 24 Media 7.1
1177 * Event Electronics, EZ8
1179 * Lionstracs, Mediastaton
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
1189 Omni I/O support for MidiMan M-Audio Delta44/66
1191 reset timeout for the CS8427 chip (S/PDIF transceiver) in msec
1192 resolution, default value is 500 (0.5 sec)
1194 This module supports multiple cards and autoprobe.
1195 Note: The consumer part is not used with all Envy24 based cards (for
1196 example in the MidiMan Delta siree).
1198 Note: The supported board is detected by reading EEPROM or PCI
1199 SSID (if EEPROM isn't available). You can override the
1200 model by passing ``model`` module option in case that the
1201 driver isn't configured properly or you want to try another
1207 Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
1209 * MidiMan M Audio Revolution 5.1
1210 * MidiMan M Audio Revolution 7.1
1211 * MidiMan M Audio Audiophile 192
1213 * TerraTec Aureon 5.1 Sky
1214 * TerraTec Aureon 7.1 Space
1215 * TerraTec Aureon 7.1 Universe
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
1225 * Albatron K8X800 Pro II
1226 * Chaintech ZNF3-150
1227 * Chaintech ZNF3-250
1235 * Hercules Fortissimo IV
1236 * EGO-SYS WaveTerminal 192M
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
1246 This module supports multiple cards and autoprobe.
1248 Note: The supported board is detected by reading EEPROM or PCI
1249 SSID (if EEPROM isn't available). You can override the
1250 model by passing ``model`` module option in case that the
1251 driver isn't configured properly or you want to try another
1257 Module for Echoaudio Indigo
1259 This module supports multiple cards.
1260 The driver requires the firmware loader support on kernel.
1265 Module for Echoaudio Indigo DJ
1267 This module supports multiple cards.
1268 The driver requires the firmware loader support on kernel.
1273 Module for Echoaudio Indigo IO
1275 This module supports multiple cards.
1276 The driver requires the firmware loader support on kernel.
1281 Module for AC'97 motherboards from Intel and compatibles.
1283 * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7,
1285 * SiS 7012 (SiS 735)
1286 * NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501
1287 * AMD AMD768, AMD8111
1291 AC'97 codec clock base (0 = auto-detect)
1293 AC'97 workaround for strange hardware;
1294 See `AC97 Quirk Option`_ section below.
1296 Enable workaround for buggy interrupts on some motherboards
1297 (default yes on nForce chips, otherwise off)
1299 Enable workaround for hardware with buggy semaphores (e.g. on some
1300 ASUS laptops) (default off)
1302 Use S/PDIF over AC-link instead of direct connection from the
1303 controller chip (0 = off, 1 = on, -1 = default)
1305 This module supports one chip and autoprobe.
1307 Note: the latest driver supports auto-detection of chip clock.
1308 if you still encounter too fast playback, specify the clock
1309 explicitly via the module option ``ac97_clock=41194``.
1311 Joystick/MIDI ports are not supported by this driver. If your
1312 motherboard has these devices, use the ns558 or snd-mpu401
1313 modules, respectively.
1315 The power-management is supported.
1317 Module snd-intel8x0m
1318 --------------------
1320 Module for Intel ICH (i8x0) chipset MC97 modems.
1322 * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7
1323 * SiS 7013 (SiS 735)
1324 * NVidia NForce, NForce2, NForce2s, NForce3
1329 AC'97 codec clock base (0 = auto-detect)
1331 This module supports one card and autoprobe.
1333 Note: The default index value of this module is -2, i.e. the first
1336 The power-management is supported.
1338 Module snd-interwave
1339 --------------------
1341 Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1342 and other sound cards based on AMD InterWave (tm) chip.
1345 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1347 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1349 reserved PCM voices for the synthesizer (default 2)
1351 1 = InterWave effects enable (default 0); requires 8 voices
1353 ISA PnP detection - 0 = disable, 1 = enable (default)
1355 with ``isapnp=0``, the following options are available:
1358 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1360 IRQ # for InterWave chip (3,5,9,11,12,15)
1362 DMA # for InterWave chip (0,1,3,5,6,7)
1364 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1366 This module supports multiple cards, autoprobe and ISA PnP.
1368 Module snd-interwave-stb
1369 ------------------------
1371 Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1372 and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1373 circuit for extended control of bass, treble and master volume.
1376 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1378 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1380 reserved PCM voices for the synthesizer (default 2)
1382 1 = InterWave effects enable (default 0); requires 8 voices
1384 ISA PnP detection - 0 = disable, 1 = enable (default)
1386 with ``isapnp=0``, the following options are available:
1389 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1391 tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1393 IRQ # for InterWave chip (3,5,9,11,12,15)
1395 DMA # for InterWave chip (0,1,3,5,6,7)
1397 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1399 This module supports multiple cards, autoprobe and ISA PnP.
1404 Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
1405 MVD1216 + MVA416 + MVA514.
1408 port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
1410 IRQ # for SB DSP chip (3,5,7,9,10,15)
1412 DMA # for SB DSP chip (1,3)
1414 DMA # for SB DSP chip (5,7)
1416 MPU-401 port # (0x300,0x310,0x320,0x330)
1418 MPU-401 irq # (2,3,5,7)
1420 This module supports multiple cards.
1425 Module for Korg 1212 IO PCI card
1427 This module supports multiple cards.
1432 Module for Echoaudio Layla20
1434 This module supports multiple cards.
1435 The driver requires the firmware loader support on kernel.
1440 Module for Echoaudio Layla24
1442 This module supports multiple cards.
1443 The driver requires the firmware loader support on kernel.
1448 Module for Digigram Lola PCI-e boards
1450 This module supports multiple cards.
1455 Module for Digigram LX6464ES boards
1457 This module supports multiple cards.
1462 Module for Allegro/Maestro3 chips
1465 enable external amp (enabled by default)
1467 GPIO pin number for external amp (0-15) or -1 for default pin (8
1468 for allegro, 1 for others)
1470 This module supports autoprobe and multiple chips.
1472 Note: the binding of amplifier is dependent on hardware.
1473 If there is no sound even though all channels are unmuted, try to
1474 specify other gpio connection via amp_gpio option.
1475 For example, a Panasonic notebook might need ``amp_gpio=0x0d``
1478 The power-management is supported.
1483 Module for Echoaudio Mia
1485 This module supports multiple cards.
1486 The driver requires the firmware loader support on kernel.
1491 Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,
1492 miroSOUND PCM 20 Radio.
1495 Port # (0x530,0x604,0xe80,0xf40)
1503 MPU-401 port # (0x300,0x310,0x320,0x330)
1505 MPU-401 irq # (5,7,9,10)
1511 enable onboard ide support
1516 Module for Digigram miXart8 sound cards.
1518 This module supports multiple cards.
1519 Note: One miXart8 board will be represented as 4 alsa cards.
1520 See Documentation/sound/cards/mixart.rst for details.
1522 When the driver is compiled as a module and the hotplug firmware
1523 is supported, the firmware data is loaded via hotplug automatically.
1524 Install the necessary firmware files in alsa-firmware package.
1525 When no hotplug fw loader is available, you need to load the
1526 firmware via mixartloader utility in alsa-tools package.
1531 Module for Echoaudio Mona
1533 This module supports multiple cards.
1534 The driver requires the firmware loader support on kernel.
1539 Module for MPU-401 UART devices.
1542 port number or -1 (disable)
1544 IRQ number or -1 (disable)
1546 PnP detection - 0 = disable, 1 = enable (default)
1548 This module supports multiple devices and PnP.
1550 Module snd-msnd-classic
1551 -----------------------
1553 Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
1557 Port # for msnd-classic card
1559 IRQ # for msnd-classic card
1561 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1563 enable write ndelay (default = 1)
1565 calibrate signal (default = 0)
1567 ISA PnP detection - 0 = disable, 1 = enable (default)
1569 Digital daughterboard present (default = 0)
1571 Config port (0x250, 0x260 or 0x270) default = PnP
1587 The driver requires firmware files ``turtlebeach/msndinit.bin`` and
1588 ``turtlebeach/msndperm.bin`` in the proper firmware directory.
1590 See Documentation/sound/cards/multisound.sh for important information
1591 about this driver. Note that it has been discontinued, but the
1592 Voyetra Turtle Beach knowledge base entry for it is still available
1594 https://www.turtlebeach.com
1596 Module snd-msnd-pinnacle
1597 ------------------------
1599 Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1602 Port # for pinnacle/fiji card
1604 IRQ # for pinnalce/fiji card
1606 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1608 enable write ndelay (default = 1)
1610 calibrate signal (default = 0)
1612 ISA PnP detection - 0 = disable, 1 = enable (default)
1614 The driver requires firmware files ``turtlebeach/pndspini.bin`` and
1615 ``turtlebeach/pndsperm.bin`` in the proper firmware directory.
1620 Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1624 I/O port # for MTPAV (0x378,0x278, default=0x378)
1626 IRQ # for MTPAV (7,5, default=7)
1628 number of supported hardware ports, default=8.
1630 Module supports only 1 card. This module has no enable option.
1635 Module for Ego Systems (ESI) Miditerminal 4140
1637 This module supports multiple devices.
1638 Requires parport (``CONFIG_PARPORT``).
1643 Module for NeoMagic NM256AV/ZX chips
1646 max playback frame size in kB (4-128kB)
1648 max capture frame size in kB (4-128kB)
1650 0 or 1 (disabled by default)
1652 specify buffer top address
1654 0 or 1 (disabled by default)
1656 alias buffer_top=0x25a800
1658 enable AC97 RESET workaround for some laptops
1660 enable extended AC97 RESET workaround for some other laptops
1662 This module supports one chip and autoprobe.
1664 The power-management is supported.
1666 Note: on some notebooks the buffer address cannot be detected
1667 automatically, or causes hang-up during initialization.
1668 In such a case, specify the buffer top address explicitly via
1669 the buffer_top option.
1671 Sony F250: buffer_top=0x25a800
1672 Sony F270: buffer_top=0x272800
1673 The driver supports only ac97 codec. It's possible to force
1674 to initialize/use ac97 although it's not detected. In such a
1675 case, use ``force_ac97=1`` option - but *NO* guarantee whether it
1678 Note: The NM256 chip can be linked internally with non-AC97
1679 codecs. This driver supports only the AC97 codec, and won't work
1680 with machines with other (most likely CS423x or OPL3SAx) chips,
1681 even though the device is detected in lspci. In such a case, try
1682 other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP
1683 but some doesn't have ISA PnP. You'll need to specify ``isapnp=0``
1684 and proper hardware parameters in the case without ISA PnP.
1686 Note: some laptops need a workaround for AC97 RESET. For the
1687 known hardware like Dell Latitude LS and Sony PCG-F305, this
1688 workaround is enabled automatically. For other laptops with a
1689 hard freeze, you can try ``reset_workaround=1`` option.
1691 Note: Dell Latitude CSx laptops have another problem regarding
1692 AC97 RESET. On these laptops, reset_workaround2 option is
1693 turned on as default. This option is worth to try if the
1694 previous reset_workaround option doesn't help.
1696 Note: This driver is really crappy. It's a porting from the
1697 OSS driver, which is a result of black-magic reverse engineering.
1698 The detection of codec will fail if the driver is loaded *after*
1699 X-server as described above. You might be able to force to load
1700 the module, but it may result in hang-up. Hence, make sure that
1701 you load this module *before* X if you encounter this kind of
1707 Module for Yamaha OPL3-SA2/SA3 sound cards.
1710 ISA PnP detection - 0 = disable, 1 = enable (default)
1712 with ``isapnp=0``, the following options are available:
1715 control port # for OPL3-SA chip (0x370)
1717 SB port # for OPL3-SA chip (0x220,0x240)
1719 WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1721 port # for MPU-401 UART (0x300,0x330), -1 = disable
1723 FM port # for OPL3-SA chip (0x388), -1 = disable
1725 IRQ # for OPL3-SA chip (5,7,9,10)
1727 first DMA # for Yamaha OPL3-SA chip (0,1,3)
1729 second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1731 This module supports multiple cards and ISA PnP. It does not support
1732 autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1734 The power-management is supported.
1736 Module snd-opti92x-ad1848
1737 -------------------------
1739 Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1740 Module works with OAK Mozart cards as well.
1743 ISA PnP detection - 0 = disable, 1 = enable (default)
1745 with ``isapnp=0``, the following options are available:
1748 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1750 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1752 port # for OPL3 device (0x388)
1754 IRQ # for WSS chip (5,7,9,10,11)
1756 IRQ # for MPU-401 UART (5,7,9,10)
1758 first DMA # for WSS chip (0,1,3)
1760 This module supports only one card, autoprobe and PnP.
1762 Module snd-opti92x-cs4231
1763 -------------------------
1765 Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1768 ISA PnP detection - 0 = disable, 1 = enable (default)
1770 with ``isapnp=0``, the following options are available:
1773 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1775 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1777 port # for OPL3 device (0x388)
1779 IRQ # for WSS chip (5,7,9,10,11)
1781 IRQ # for MPU-401 UART (5,7,9,10)
1783 first DMA # for WSS chip (0,1,3)
1785 second DMA # for WSS chip (0,1,3)
1787 This module supports only one card, autoprobe and PnP.
1792 Module for sound cards based on OPTi 82c93x chips.
1795 ISA PnP detection - 0 = disable, 1 = enable (default)
1797 with ``isapnp=0``, the following options are available:
1800 port # for WSS chip (0x530,0xe80,0xf40,0x604)
1802 port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1804 port # for OPL3 device (0x388)
1806 IRQ # for WSS chip (5,7,9,10,11)
1808 IRQ # for MPU-401 UART (5,7,9,10)
1810 first DMA # for WSS chip (0,1,3)
1812 second DMA # for WSS chip (0,1,3)
1814 This module supports only one card, autoprobe and PnP.
1819 Module for sound cards based on the C-Media CMI8786/8787/8788 chip:
1823 * AuzenTech X-Meridian
1824 * AuzenTech X-Meridian 2G
1826 * Club3D Theatron DTS
1827 * HT-Omega Claro (plus)
1828 * HT-Omega Claro halo (XT)
1829 * Kuroutoshikou CMI8787-HG2PCI
1830 * Razer Barracuda AC-1
1832 * TempoTec HiFier Fantasia
1833 * TempoTec HiFier Serenade
1835 This module supports autoprobe and multiple cards.
1840 Module for internal PC-Speaker.
1843 Disable PC-Speaker PCM sound. Only beeps remain.
1845 enable NForce chipset workaround. Expect bad sound.
1847 This module supports system beeps, some kind of PCM playback and
1848 even a few mixer controls.
1853 Module for Digigram PCXHR boards
1855 This module supports multiple cards.
1857 Module snd-portman2x4
1858 ---------------------
1860 Module for Midiman Portman 2x4 parallel port MIDI interface
1862 This module supports multiple cards.
1864 Module snd-powermac (on ppc only)
1865 ---------------------------------
1867 Module for PowerMac, iMac and iBook on-board soundchips
1870 enable beep using PCM (enabled as default)
1872 Module supports autoprobe a chip.
1874 Note: the driver may have problems regarding endianness.
1876 The power-management is supported.
1878 Module snd-pxa2xx-ac97 (on arm only)
1879 ------------------------------------
1881 Module for AC97 driver for the Intel PXA2xx chip
1883 For ARM architecture only.
1885 The power-management is supported.
1890 Module for Conexant Riptide chip
1893 Joystick port # (default: 0x200)
1895 MPU401 port # (default: 0x330)
1897 OPL3 port # (default: 0x388)
1899 This module supports multiple cards.
1900 The driver requires the firmware loader support on kernel.
1901 You need to install the firmware file ``riptide.hex`` to the standard
1902 firmware path (e.g. /lib/firmware).
1907 Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32,
1908 Prodif96 and Prodif Gold) sound cards.
1910 This module supports multiple cards.
1915 Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1917 This module supports multiple cards.
1922 Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1925 Enable precise pointer (doesn't work reliably). (default = 0)
1927 This module supports multiple cards.
1929 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1930 module did formerly. It will allocate the buffers in advance
1931 when any RME9652 cards are found. To make the buffer
1932 allocation sure, load snd-page-alloc module in the early
1933 stage of boot sequence. See `Early Buffer Allocation`_
1936 Module snd-sa11xx-uda1341 (on arm only)
1937 ---------------------------------------
1939 Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1941 Module supports only one card.
1942 Module has no enable and index options.
1944 The power-management is supported.
1949 Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,
1953 port # for SB DSP chip (0x220,0x240,0x260)
1955 IRQ # for SB DSP chip (5,7,9,10)
1957 DMA # for SB DSP chip (1,3)
1959 This module supports multiple cards and autoprobe.
1961 The power-management is supported.
1963 Module snd-sb16 and snd-sbawe
1964 -----------------------------
1966 Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1967 SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP
1970 Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1972 ASP/CSP chip support - 0 = disable (default), 1 = enable
1974 ISA PnP detection - 0 = disable, 1 = enable (default)
1976 with isapnp=0, the following options are available:
1979 port # for SB DSP 4.x chip (0x220,0x240,0x260)
1981 port # for MPU-401 UART (0x300,0x330), -1 = disable
1983 base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe
1986 IRQ # for SB DSP 4.x chip (5,7,9,10)
1988 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1990 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1992 This module supports multiple cards, autoprobe and ISA PnP.
1994 Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1995 disable 16bit DMA with dma16 = -1 module parameter.
1996 Also, all Sound Blaster 16 type cards can operate in 16-bit
1997 half duplex mode through 8-bit DMA channel by disabling their
2000 The power-management is supported.
2005 Module for Gallant SC-6000 soundcard and later models: SC-6600 and
2009 Port # (0x220 or 0x240)
2011 MSS Port # (0x530 or 0xe80)
2015 MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
2019 Enable gameport - 0 = disable (default), 1 = enable
2021 This module supports multiple cards.
2023 This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
2028 Module for ENSONIQ SoundScape cards.
2033 WSS Port # (PnP setup)
2037 MPU-401 IRQ # (PnP setup)
2041 2nd DMA # (PnP setup, -1 to disable)
2043 Enable gameport - 0 = disable (default), 1 = enable
2045 This module supports multiple cards.
2047 The driver requires the firmware loader support on kernel.
2049 Module snd-sun-amd7930 (on sparc only)
2050 --------------------------------------
2052 Module for AMD7930 sound chips found on Sparcs.
2054 This module supports multiple cards.
2056 Module snd-sun-cs4231 (on sparc only)
2057 -------------------------------------
2059 Module for CS4231 sound chips found on Sparcs.
2061 This module supports multiple cards.
2063 Module snd-sun-dbri (on sparc only)
2064 -----------------------------------
2066 Module for DBRI sound chips found on Sparcs.
2068 This module supports multiple cards.
2070 Module snd-wavefront
2071 --------------------
2073 Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
2076 Use CS4232 MPU-401 interface
2077 (inaccessibly located inside your computer)
2079 ISA PnP detection - 0 = disable, 1 = enable (default)
2081 with isapnp=0, the following options are available:
2084 Port # for CS4232 PCM interface.
2086 IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
2088 Port # for CS4232 MPU-401 interface.
2090 IRQ # for CS4232 MPU-401 interface (9,11,12,15).
2098 DMA1 # for CS4232 PCM interface.
2100 DMA2 # for CS4232 PCM interface.
2102 The below are options for wavefront_synth features:
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.
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.
2115 Debug parameters for card initialization
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
2125 Specifically, with this number, out of about 134,000 status
2126 waits, only about 250 result in a sleep.
2128 How long to sleep when waiting for reply (default: 100)
2130 How many times to try sleeping during a wait (default: 50)
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,
2138 How long to wait for a reset to take effect (default:2)
2140 How many seconds to wait for the RAM test (default:20)
2142 How many seconds to wait for the ICS2115 OS (default:10)
2144 This module supports multiple cards and ISA PnP.
2146 Note: the firmware file ``wavefront.os`` was located in the earlier
2147 version in /etc. Now it's loaded via firmware loader, and
2148 must be in the proper firmware path, such as /lib/firmware.
2149 Copy (or symlink) the file appropriately if you get an error
2150 regarding firmware downloading after upgrading the kernel.
2152 Module snd-sonicvibes
2153 ---------------------
2155 Module for S3 SonicVibes PCI sound cards.
2156 * PINE Schubert 32 PCI
2159 Reverb Enable - 1 = enable, 0 = disable (default);
2160 SoundCard must have onboard SRAM for this.
2162 Mic Gain Enable - 1 = enable, 0 = disable (default)
2164 This module supports multiple cards and autoprobe.
2166 Module snd-serial-u16550
2167 ------------------------
2169 Module for UART16550A serial MIDI ports.
2172 port # for UART16550A chip
2174 IRQ # for UART16550A chip, -1 = poll mode
2176 speed in bauds (9600,19200,38400,57600,115200)
2179 base for divisor in bauds (57600,115200,230400,460800)
2182 number of MIDI ports in a serial port (1-4)
2186 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
2187 3 = MS-124W M/B, 4 = Generic
2189 This module supports multiple cards. This module does not support autoprobe
2190 thus the main port must be specified!!! Other options are optional.
2195 Module for Trident 4DWave DX/NX sound cards.
2196 * Best Union Miss Melody 4DWave PCI
2198 * Warpspeed ONSpeed 4DWave PCI
2201 * CHIC True Sound 4Dwave
2202 * Shark Predator4D-PCI
2203 * Jaton SonicWave 4D
2204 * SiS SI7018 PCI Audio
2205 * Hoontech SoundTrack Digital 4DWave NX
2208 max channels (voices) reserved for PCM
2210 max wavetable size in kB (4-?kb)
2212 This module supports multiple cards and autoprobe.
2214 The power-management is supported.
2219 Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
2221 This module supports multiple devices, autoprobe and hotplugging.
2223 Module snd-usb-audio
2224 --------------------
2226 Module for USB audio and USB MIDI devices.
2229 Vendor ID for the device (optional)
2231 Product ID for the device (optional)
2233 Max. number of packets per URB (default: 8)
2235 Device specific magic number (optional);
2236 Influence depends on the device
2239 Ignore any USB-controller regarding mixer interface (default: no)
2241 Enable auto-clock selection for UAC2 devices (default: yes)
2243 Quirk alias list, pass strings like ``0123abcd:5678beef``, which
2244 applies the existing quirk for the device 5678:beef to a new
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
2250 source. This is equivalent with quirk_flags bit 17.
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
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
2272 Contains the bit flags for various device specific workarounds.
2273 Applied to the corresponding card index.
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
2291 * bit 16: Set up the interface at first like UAC1
2292 * bit 17: Apply the generic implicit feedback sync mode
2293 * bit 18: Don't apply implicit feedback sync mode
2295 This module supports multiple devices, autoprobe and hotplugging.
2297 NB: ``nrpacks`` parameter can be modified dynamically via sysfs.
2298 Don't put the value over 20. Changing via sysfs has no sanity
2301 NB: ``ignore_ctl_error=1`` may help when you get an error at accessing
2302 the mixer element such as URB error -22. This happens on some
2303 buggy USB device or the controller. This workaround corresponds to
2304 the ``quirk_flags`` bit 14, too.
2306 NB: ``quirk_alias`` option is provided only for testing / development.
2307 If you want to have a proper support, contact to upstream for
2308 adding the matching quirk in the driver code statically.
2309 Ditto for ``quirk_flags``. If a device is known to require specific
2310 workarounds, please report to the upstream.
2312 Module snd-usb-caiaq
2313 --------------------
2315 Module for caiaq UB audio interfaces,
2317 * Native Instruments RigKontrol2
2318 * Native Instruments Kore Controller
2319 * Native Instruments Audio Kontrol 1
2320 * Native Instruments Audio 8 DJ
2322 This module supports multiple devices, autoprobe and hotplugging.
2324 Module snd-usb-usx2y
2325 --------------------
2327 Module for Tascam USB US-122, US-224 and US-428 devices.
2329 This module supports multiple devices, autoprobe and hotplugging.
2331 Note: you need to load the firmware via ``usx2yloader`` utility included
2332 in alsa-tools and alsa-firmware packages.
2337 Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,
2338 8233C, 8235, 8237 (south) bridge.
2341 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
2344 Enable joystick (default off) [VIA686A/686B only]
2346 AC'97 codec clock base (default 48000Hz)
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]
2352 AC'97 workaround for strange hardware;
2353 See `AC97 Quirk Option`_ section below.
2355 This module supports one chip and autoprobe.
2357 Note: on some SMP motherboards like MSI 694D the interrupts might
2358 not be generated properly. In such a case, please try to
2359 set the SMP (or MPS) version on BIOS to 1.1 instead of
2360 default value 1.4. Then the interrupt number will be
2361 assigned under 15. You might also upgrade your BIOS.
2363 Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
2364 channels as the first PCM. On these channels, up to 4
2365 streams can be played at the same time, and the controller
2366 can perform sample rate conversion with separate rates for
2368 As default (``dxs_support = 0``), 48k fixed rate is chosen
2369 except for the known devices since the output is often
2370 noisy except for 48k on some mother boards due to the
2372 Please try once ``dxs_support=5`` and if it works on other
2373 sample rates (e.g. 44.1kHz of mp3 playback), please let us
2374 know the PCI subsystem vendor/device id's (output of
2376 If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it
2377 doesn't work too, try dxs_support=1. (dxs_support=1 is
2378 usually for old motherboards. The correct implemented
2379 board should work with 4 or 5.) If it still doesn't
2380 work and the default setting is ok, ``dxs_support=3`` is the
2381 right choice. If the default setting doesn't work at all,
2382 try ``dxs_support=2`` to disable the DXS channels.
2383 In any cases, please let us know the result and the
2384 subsystem vendor/device ids. See `Links and Addresses`_
2387 Note: for the MPU401 on VIA823x, use snd-mpu401 driver
2388 additionally. The mpu_port option is for VIA686 chips only.
2390 The power-management is supported.
2392 Module snd-via82xx-modem
2393 ------------------------
2395 Module for VIA82xx AC97 modem
2398 AC'97 codec clock base (default 48000Hz)
2400 This module supports one card and autoprobe.
2402 Note: The default index value of this module is -2, i.e. the first
2405 The power-management is supported.
2410 Module for virtual rawmidi devices.
2411 This module creates virtual rawmidi devices which communicate
2412 to the corresponding ALSA sequencer ports.
2415 MIDI devices # (1-4, default=4)
2417 This module supports multiple cards.
2422 Module for sound cards based on the Asus AV66/AV100/AV200 chips,
2423 i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),
2424 Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.
2426 This module supports autoprobe and multiple cards.
2431 Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
2434 Enable Microphone on V222 Mic (NYI)
2436 Capture IBL size. (default = 0, minimum size)
2438 This module supports multiple cards.
2440 When the driver is compiled as a module and the hotplug firmware
2441 is supported, the firmware data is loaded via hotplug automatically.
2442 Install the necessary firmware files in alsa-firmware package.
2443 When no hotplug fw loader is available, you need to load the
2444 firmware via vxloader utility in alsa-tools package. To invoke
2445 vxloader automatically, add the following to /etc/modprobe.d/alsa.conf
2449 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\
2450 && /usr/bin/vxloader
2452 (for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to
2453 /etc/modules.conf, instead.)
2454 IBL size defines the interrupts period for PCM. The smaller size
2455 gives smaller latency but leads to more CPU consumption, too.
2456 The size is usually aligned to 126. As default (=0), the smallest
2457 size is chosen. The possible IBL values can be found in
2458 /proc/asound/cardX/vx-status proc file.
2460 The power-management is supported.
2465 Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
2468 Capture IBL size. (default = 0, minimum size)
2470 This module supports multiple cards. The module is compiled only when
2471 PCMCIA is supported on kernel.
2473 With the older 2.6.x kernel, to activate the driver via the card
2474 manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the
2475 sound/pcmcia/vx/vxpocket.c. 2.6.13 or later kernel requires no
2476 longer require a config file.
2478 When the driver is compiled as a module and the hotplug firmware
2479 is supported, the firmware data is loaded via hotplug automatically.
2480 Install the necessary firmware files in alsa-firmware package.
2481 When no hotplug fw loader is available, you need to load the
2482 firmware via vxloader utility in alsa-tools package.
2484 About capture IBL, see the description of snd-vx222 module.
2486 Note: snd-vxp440 driver is merged to snd-vxpocket driver since
2489 The power-management is supported.
2494 Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2497 0x300,0x330,0x332,0x334, 0 (disable) by default,
2498 1 (auto-detect for YMF744/754 only)
2500 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2501 1 (auto-detect for YMF744/754 only)
2503 0x201,0x202,0x204,0x205, 0 (disable) by default,
2506 enable shared rear/line-in switch (bool)
2508 This module supports autoprobe and multiple chips.
2510 The power-management is supported.
2512 Module snd-pdaudiocf
2513 --------------------
2515 Module for Sound Core PDAudioCF sound card.
2517 The power-management is supported.
2523 The ac97_quirk option is used to enable/override the workaround for
2524 specific devices on drivers for on-board AC'97 controllers like
2525 snd-intel8x0. Some hardware have swapped output pins between Master
2526 and Headphone, or Surround (thanks to confusion of AC'97
2527 specifications from version to version :-)
2529 The driver provides the auto-detection of known problematic devices,
2530 but some might be unknown or wrongly detected. In such a case, pass
2531 the proper value with this option.
2533 The following strings are accepted:
2536 Don't override the default setting
2540 Bind Master and Headphone controls as a single control
2542 Swap headphone and master controls
2544 Swap master and surround controls
2546 For AD1985, turn on OMS bit and use headphone
2548 For ALC65x, turn on the jack sense mode
2550 Inverted EAPD implementation
2552 Bind EAPD bit for turning on/off mute LED
2554 For backward compatibility, the corresponding integer value -1, 0, ...
2557 For example, if ``Master`` volume control has no effect on your device
2558 but only ``Headphone`` does, pass ac97_quirk=hp_only module option.
2561 Configuring Non-ISAPNP Cards
2562 ============================
2564 When the kernel is configured with ISA-PnP support, the modules
2565 supporting the isapnp cards will have module options ``isapnp``.
2566 If this option is set, *only* the ISA-PnP devices will be probed.
2567 For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option
2568 together with the proper i/o and irq configuration.
2570 When the kernel is configured without ISA-PnP support, isapnp option
2571 will be not built in.
2574 Module Autoloading Support
2575 ==========================
2577 The ALSA drivers can be loaded automatically on demand by defining
2578 module aliases. The string ``snd-card-%1`` is requested for ALSA native
2579 devices where ``%i`` is sound card number from zero to seven.
2581 To auto-load an ALSA driver for OSS services, define the string
2582 ``sound-slot-%i`` where ``%i`` means the slot number for OSS, which
2583 corresponds to the card index of ALSA. Usually, define this
2584 as the same card module.
2586 An example configuration for a single emu10k1 card is like below:
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
2594 The available number of auto-loaded sound cards depends on the module
2595 option ``cards_limit`` of snd module. As default it's set to 1.
2596 To enable the auto-loading of multiple cards, specify the number of
2597 sound cards in that option.
2599 When multiple cards are available, it'd better to specify the index
2600 number for each card via module option, too, so that the order of
2601 cards is kept consistent.
2603 An example configuration for two sound cards is like below:
2606 ----- /etc/modprobe.d/alsa.conf
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
2614 alias sound-slot-0 snd-interwave
2615 alias sound-slot-1 snd-ens1371
2616 ----- /etc/modprobe.d/alsa.conf
2618 In this example, the interwave card is always loaded as the first card
2619 (index 0) and ens1371 as the second (index 1).
2621 Alternative (and new) way to fixate the slot assignment is to use
2622 ``slots`` option of snd module. In the case above, specify like the
2626 options snd slots=snd-interwave,snd-ens1371
2628 Then, the first slot (#0) is reserved for snd-interwave driver, and
2629 the second (#1) for snd-ens1371. You can omit index option in each
2630 driver if slots option is used (although you can still have them at
2631 the same time as long as they don't conflict).
2633 The slots option is especially useful for avoiding the possible
2634 hot-plugging and the resultant slot conflict. For example, in the
2635 case above again, the first two slots are already reserved. If any
2636 other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2637 snd-ens1371, it will be assigned to the third or later slot.
2639 When a module name is given with '!', the slot will be given for any
2640 modules but that name. For example, ``slots=!snd-pcsp`` will reserve
2641 the first slot for any modules but snd-pcsp.
2644 ALSA PCM devices to OSS devices mapping
2645 =======================================
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
2658 The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means
2659 sound card number and second means device number. The ALSA devices
2660 have either ``c`` or ``p`` suffix indicating the direction, capture and
2661 playback, respectively.
2663 Please note that the device mapping above may be varied via the module
2664 options of snd-pcm-oss module.
2667 Proc interfaces (/proc/asound)
2668 ==============================
2670 /proc/asound/card#/pcm#[cp]/oss
2671 -------------------------------
2673 erase all additional information about OSS applications
2675 <app_name> <fragments> <fragment_size> [<options>]
2677 name of application with (higher priority) or without path
2679 number of fragments or zero if auto
2681 size of fragment in bytes or zero if auto
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...
2693 force block mode (rvplayer)
2695 force non-block mode
2697 write only whole fragments (optimization affecting
2700 do not fill silence ahead to avoid clicks
2702 Returns the whitespace blocks in GETOPTR ioctl
2703 instead of filled blocks
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
2713 Early Buffer Allocation
2714 =======================
2716 Some drivers (e.g. hdsp) require the large contiguous buffers, and
2717 sometimes it's too late to find such spaces when the driver module is
2718 actually loaded due to memory fragmentation. You can pre-allocate the
2719 PCM buffers by loading snd-page-alloc module and write commands to its
2720 proc file in prior, for example, in the early boot stage like
2721 ``/etc/init.d/*.local`` scripts.
2723 Reading the proc file /proc/drivers/snd-page-alloc shows the current
2724 usage of page allocation. In writing, you can send the following
2725 commands to the snd-page-alloc driver:
2727 * add VENDOR DEVICE MASK SIZE BUFFERS
2729 VENDOR and DEVICE are PCI vendor and device IDs. They take
2730 integer numbers (0x prefix is needed for the hex).
2731 MASK is the PCI DMA mask. Pass 0 if not restricted.
2732 SIZE is the size of each buffer to allocate. You can pass
2733 k and m suffix for KB and MB. The max number is 16MB.
2734 BUFFERS is the number of buffers to allocate. It must be greater
2735 than 0. The max number is 4.
2739 This will erase the all pre-allocated buffers which are not in
2746 ALSA project homepage
2747 http://www.alsa-project.org
2749 http://bugzilla.kernel.org/
2751 mailto:alsa-devel@alsa-project.org
2753 https://www.alsa-project.org/alsa-info.sh