|  | ============================================================== | 
|  | Advanced Linux Sound Architecture - Driver Configuration guide | 
|  | ============================================================== | 
|  |  | 
|  |  | 
|  | Kernel Configuration | 
|  | ==================== | 
|  |  | 
|  | To enable ALSA support you need at least to build the kernel with | 
|  | primary sound card support (``CONFIG_SOUND``).  Since ALSA can emulate | 
|  | OSS, you don't have to choose any of the OSS modules. | 
|  |  | 
|  | Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer | 
|  | and PCM supports if you want to run OSS applications with ALSA. | 
|  |  | 
|  | If you want to support the WaveTable functionality on cards such as | 
|  | SB Live! then you need to enable "Sequencer support" | 
|  | (``CONFIG_SND_SEQUENCER``). | 
|  |  | 
|  | To make ALSA debug messages more verbose, enable the "Verbose printk" | 
|  | and "Debug" options.  To check for memory leaks, turn on "Debug memory" | 
|  | too.  "Debug detection" will add checks for the detection of cards. | 
|  |  | 
|  | Please note that all the ALSA ISA drivers support the Linux isapnp API | 
|  | (if the card supports ISA PnP).  You don't need to configure the cards | 
|  | using isapnptools. | 
|  |  | 
|  |  | 
|  | Module parameters | 
|  | ================= | 
|  |  | 
|  | The user can load modules with options. If the module supports more than | 
|  | one card and you have more than one card of the same type then you can | 
|  | specify multiple values for the option separated by commas. | 
|  |  | 
|  |  | 
|  | Module snd | 
|  | ---------- | 
|  |  | 
|  | The core ALSA module.  It is used by all ALSA card drivers. | 
|  | It takes the following options which have global effects. | 
|  |  | 
|  | major | 
|  | major number for sound driver; | 
|  | Default: 116 | 
|  | cards_limit | 
|  | limiting card index for auto-loading (1-8); | 
|  | Default: 1; | 
|  | For auto-loading more than one card, specify this option | 
|  | together with snd-card-X aliases. | 
|  | slots | 
|  | Reserve the slot index for the given driver; | 
|  | This option takes multiple strings. | 
|  | See `Module Autoloading Support`_ section for details. | 
|  | debug | 
|  | Specifies the debug message level; | 
|  | (0 = disable debug prints, 1 = normal debug messages, | 
|  | 2 = verbose debug messages); | 
|  | This option appears only when ``CONFIG_SND_DEBUG=y``. | 
|  | This option can be dynamically changed via sysfs | 
|  | /sys/module/snd/parameters/debug file. | 
|  |  | 
|  | Module snd-pcm-oss | 
|  | ------------------ | 
|  |  | 
|  | The PCM OSS emulation module. | 
|  | This module takes options which change the mapping of devices. | 
|  |  | 
|  | dsp_map | 
|  | PCM device number maps assigned to the 1st OSS device; | 
|  | Default: 0 | 
|  | adsp_map | 
|  | PCM device number maps assigned to the 2nd OSS device; | 
|  | Default: 1 | 
|  | nonblock_open | 
|  | Don't block opening busy PCM devices; | 
|  | Default: 1 | 
|  |  | 
|  | For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of | 
|  | the card #0.  Similarly, when ``adsp_map=0``, /dev/adsp will be mapped | 
|  | to PCM #0 of the card #0. | 
|  | For changing the second or later card, specify the option with | 
|  | commas, such like ``dsp_map=0,1``. | 
|  |  | 
|  | ``nonblock_open`` option is used to change the behavior of the PCM | 
|  | regarding opening the device.  When this option is non-zero, | 
|  | opening a busy OSS PCM device won't be blocked but return | 
|  | immediately with EAGAIN (just like O_NONBLOCK flag). | 
|  |  | 
|  | Module snd-rawmidi | 
|  | ------------------ | 
|  |  | 
|  | This module takes options which change the mapping of devices. | 
|  | similar to those of the snd-pcm-oss module. | 
|  |  | 
|  | midi_map | 
|  | MIDI device number maps assigned to the 1st OSS device; | 
|  | Default: 0 | 
|  | amidi_map | 
|  | MIDI device number maps assigned to the 2nd OSS device; | 
|  | Default: 1 | 
|  |  | 
|  | Module snd-soc-core | 
|  | ------------------- | 
|  |  | 
|  | The soc core module. It is used by all ALSA card drivers. | 
|  | It takes the following options which have global effects. | 
|  |  | 
|  | prealloc_buffer_size_kbytes | 
|  | Specify prealloc buffer size in kbytes (default: 512). | 
|  |  | 
|  | Common parameters for top sound card modules | 
|  | -------------------------------------------- | 
|  |  | 
|  | Each of top level sound card module takes the following options. | 
|  |  | 
|  | index | 
|  | index (slot #) of sound card; | 
|  | Values: 0 through 31 or negative; | 
|  | If nonnegative, assign that index number; | 
|  | if negative, interpret as a bitmask of permissible indices; | 
|  | the first free permitted index is assigned; | 
|  | Default: -1 | 
|  | id | 
|  | card ID (identifier or name); | 
|  | Can be up to 15 characters long; | 
|  | Default: the card type; | 
|  | A directory by this name is created under /proc/asound/ | 
|  | containing information about the card; | 
|  | This ID can be used instead of the index number in | 
|  | identifying the card | 
|  | enable | 
|  | enable card; | 
|  | Default: enabled, for PCI and ISA PnP cards | 
|  |  | 
|  | These options are used for either specifying the order of instances or | 
|  | controlling enabling and disabling of each one of the devices if there | 
|  | are multiple devices bound with the same driver. For example, there are | 
|  | many machines which have two HD-audio controllers (one for HDMI/DP | 
|  | audio and another for onboard analog). In most cases, the second one is | 
|  | in primary usage, and people would like to assign it as the first | 
|  | appearing card. They can do it by specifying "index=1,0" module | 
|  | parameter, which will swap the assignment slots. | 
|  |  | 
|  | Today, with the sound backend like PulseAudio and PipeWire which | 
|  | supports dynamic configuration, it's of little use, but that was a | 
|  | help for static configuration in the past. | 
|  |  | 
|  | Module snd-adlib | 
|  | ---------------- | 
|  |  | 
|  | Module for AdLib FM cards. | 
|  |  | 
|  | port | 
|  | port # for OPL chip | 
|  |  | 
|  | This module supports multiple cards. It does not support autoprobe, so | 
|  | the port must be specified. For actual AdLib FM cards it will be 0x388. | 
|  | Note that this card does not have PCM support and no mixer; only FM | 
|  | synthesis. | 
|  |  | 
|  | Make sure you have ``sbiload`` from the alsa-tools package available and, | 
|  | after loading the module, find out the assigned ALSA sequencer port | 
|  | number through ``sbiload -l``. | 
|  |  | 
|  | Example output: | 
|  | :: | 
|  |  | 
|  | Port     Client name                       Port name | 
|  | 64:0     OPL2 FM synth                     OPL2 FM Port | 
|  |  | 
|  | Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``: | 
|  | :: | 
|  |  | 
|  | sbiload -p 64:0 std.sb drums.sb | 
|  |  | 
|  | If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3`` | 
|  | instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils: | 
|  | :: | 
|  |  | 
|  | aplaymidi -p 64:0 foo.mid | 
|  |  | 
|  | Module snd-ad1816a | 
|  | ------------------ | 
|  |  | 
|  | Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips. | 
|  |  | 
|  | clockfreq | 
|  | Clock frequency for AD1816A chip (default = 0, 33000Hz) | 
|  |  | 
|  | This module supports multiple cards, autoprobe and PnP. | 
|  |  | 
|  | Module snd-ad1848 | 
|  | ----------------- | 
|  |  | 
|  | Module for sound cards based on AD1848/AD1847/CS4248 ISA chips. | 
|  |  | 
|  | port | 
|  | port # for AD1848 chip | 
|  | irq | 
|  | IRQ # for AD1848  chip | 
|  | dma1 | 
|  | DMA # for AD1848 chip (0,1,3) | 
|  |  | 
|  | This module supports multiple cards.  It does not support autoprobe | 
|  | thus main port must be specified!!! Other ports are optional. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-ad1889 | 
|  | ----------------- | 
|  |  | 
|  | Module for Analog Devices AD1889 chips. | 
|  |  | 
|  | ac97_quirk | 
|  | AC'97 workaround for strange hardware; | 
|  | See the description of intel8x0 module for details. | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-ali5451 | 
|  | ------------------ | 
|  |  | 
|  | Module for ALi M5451 PCI chip. | 
|  |  | 
|  | pcm_channels | 
|  | Number of hardware channels assigned for PCM | 
|  | spdif | 
|  | Support SPDIF I/O; | 
|  | Default: disabled | 
|  |  | 
|  | This module supports one chip and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-als100 | 
|  | ----------------- | 
|  |  | 
|  | Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips. | 
|  |  | 
|  | This module supports multiple cards, autoprobe and PnP. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-als300 | 
|  | ----------------- | 
|  |  | 
|  | Module for Avance Logic ALS300 and ALS300+ | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-als4000 | 
|  | ------------------ | 
|  |  | 
|  | Module for sound cards based on Avance Logic ALS4000 PCI chip. | 
|  |  | 
|  | joystick_port | 
|  | port # for legacy joystick support; | 
|  | 0 = disabled (default), 1 = auto-detect | 
|  |  | 
|  | This module supports multiple cards, autoprobe and PnP. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-asihpi | 
|  | ----------------- | 
|  |  | 
|  | Module for AudioScience ASI soundcards | 
|  |  | 
|  | enable_hpi_hwdep | 
|  | enable HPI hwdep for AudioScience soundcard | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-atiixp | 
|  | ----------------- | 
|  |  | 
|  | Module for ATI IXP 150/200/250/400 AC97 controllers. | 
|  |  | 
|  | ac97_clock | 
|  | AC'97 clock (default = 48000) | 
|  | ac97_quirk | 
|  | AC'97 workaround for strange hardware; | 
|  | See `AC97 Quirk Option`_ section below. | 
|  | ac97_codec | 
|  | Workaround to specify which AC'97 codec instead of probing. | 
|  | If this works for you file a bug with your `lspci -vn` output. | 
|  | (-2 = Force probing, -1 = Default behavior, 0-2 = Use the | 
|  | specified codec.) | 
|  | spdif_aclink | 
|  | S/PDIF transfer over AC-link (default = 1) | 
|  |  | 
|  | This module supports one card and autoprobe. | 
|  |  | 
|  | ATI IXP has two different methods to control SPDIF output.  One is | 
|  | over AC-link and another is over the "direct" SPDIF output.  The | 
|  | implementation depends on the motherboard, and you'll need to | 
|  | choose the correct one via spdif_aclink module option. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-atiixp-modem | 
|  | ----------------------- | 
|  |  | 
|  | Module for ATI IXP 150/200/250 AC97 modem controllers. | 
|  |  | 
|  | This module supports one card and autoprobe. | 
|  |  | 
|  | Note: The default index value of this module is -2, i.e. the first | 
|  | slot is excluded. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-au8810, snd-au8820, snd-au8830 | 
|  | ----------------------------------------- | 
|  |  | 
|  | Module for Aureal Vortex, Vortex2 and Advantage device. | 
|  |  | 
|  | pcifix | 
|  | Control PCI workarounds; | 
|  | 0 = Disable all workarounds, | 
|  | 1 = Force the PCI latency of the Aureal card to 0xff, | 
|  | 2 = Force the Extend PCI#2 Internal Master for Efficient | 
|  | Handling of Dummy Requests on the VIA KT133 AGP Bridge, | 
|  | 3 = Force both settings, | 
|  | 255 = Autodetect what is required (default) | 
|  |  | 
|  | This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware | 
|  | EQ, mpu401, gameport. A3D and wavetable support are still in development. | 
|  | Development and reverse engineering work is being coordinated at | 
|  | https://savannah.nongnu.org/projects/openvortex/ | 
|  | SPDIF output has a copy of the AC97 codec output, unless you use the | 
|  | ``spdif`` pcm device, which allows raw data passthru. | 
|  | The hardware EQ hardware and SPDIF is only present in the Vortex2 and | 
|  | Advantage. | 
|  |  | 
|  | Note: Some ALSA mixer applications don't handle the SPDIF sample rate | 
|  | control correctly. If you have problems regarding this, try | 
|  | another ALSA compliant mixer (alsamixer works). | 
|  |  | 
|  | Module snd-azt1605 | 
|  | ------------------ | 
|  |  | 
|  | Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605 | 
|  | chipset. | 
|  |  | 
|  | port | 
|  | port # for BASE (0x220,0x240,0x260,0x280) | 
|  | wss_port | 
|  | port # for WSS (0x530,0x604,0xe80,0xf40) | 
|  | irq | 
|  | IRQ # for WSS (7,9,10,11) | 
|  | dma1 | 
|  | DMA # for WSS playback (0,1,3) | 
|  | dma2 | 
|  | DMA # for WSS capture (0,1), -1 = disabled (default) | 
|  | mpu_port | 
|  | port # for MPU-401 UART (0x300,0x330), -1 = disabled (default) | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default) | 
|  | fm_port | 
|  | port # for OPL3 (0x388), -1 = disabled (default) | 
|  |  | 
|  | This module supports multiple cards. It does not support autoprobe: | 
|  | ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified. | 
|  | The other values are optional. | 
|  |  | 
|  | ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240) | 
|  | or the value stored in the card's EEPROM for cards that have an EEPROM and | 
|  | their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can | 
|  | be chosen freely from the options enumerated above. | 
|  |  | 
|  | If ``dma2`` is specified and different from ``dma1``, the card will operate in | 
|  | full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to | 
|  | enable capture since only channels 0 and 1 are available for capture. | 
|  |  | 
|  | Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0 | 
|  | mpu_port=0x330 mpu_irq=9 fm_port=0x388``. | 
|  |  | 
|  | Whatever IRQ and DMA channels you pick, be sure to reserve them for | 
|  | legacy ISA in your BIOS. | 
|  |  | 
|  | Module snd-azt2316 | 
|  | ------------------ | 
|  |  | 
|  | Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316 | 
|  | chipset. | 
|  |  | 
|  | port | 
|  | port # for BASE (0x220,0x240,0x260,0x280) | 
|  | wss_port | 
|  | port # for WSS (0x530,0x604,0xe80,0xf40) | 
|  | irq | 
|  | IRQ # for WSS (7,9,10,11) | 
|  | dma1 | 
|  | DMA # for WSS playback (0,1,3) | 
|  | dma2 | 
|  | DMA # for WSS capture (0,1), -1 = disabled (default) | 
|  | mpu_port | 
|  | port # for MPU-401 UART (0x300,0x330), -1 = disabled (default) | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default) | 
|  | fm_port | 
|  | port # for OPL3 (0x388), -1 = disabled (default) | 
|  |  | 
|  | This module supports multiple cards. It does not support autoprobe: | 
|  | ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified. | 
|  | The other values are optional. | 
|  |  | 
|  | ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240) | 
|  | or the value stored in the card's EEPROM for cards that have an EEPROM and | 
|  | their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can | 
|  | be chosen freely from the options enumerated above. | 
|  |  | 
|  | If ``dma2`` is specified and different from ``dma1``, the card will operate in | 
|  | full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to | 
|  | enable capture since only channels 0 and 1 are available for capture. | 
|  |  | 
|  | Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0 | 
|  | mpu_port=0x330 mpu_irq=9 fm_port=0x388``. | 
|  |  | 
|  | Whatever IRQ and DMA channels you pick, be sure to reserve them for | 
|  | legacy ISA in your BIOS. | 
|  |  | 
|  | Module snd-aw2 | 
|  | -------------- | 
|  |  | 
|  | Module for Audiowerk2 sound card | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-azt2320 | 
|  | ------------------ | 
|  |  | 
|  | Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only). | 
|  |  | 
|  | This module supports multiple cards, PnP and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-azt3328 | 
|  | ------------------ | 
|  |  | 
|  | Module for sound cards based on Aztech AZF3328 PCI chip. | 
|  |  | 
|  | joystick | 
|  | Enable joystick (default off) | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-bt87x | 
|  | ---------------- | 
|  |  | 
|  | Module for video cards based on Bt87x chips. | 
|  |  | 
|  | digital_rate | 
|  | Override the default digital rate (Hz) | 
|  | load_all | 
|  | Load the driver even if the card model isn't known | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Note: The default index value of this module is -2, i.e. the first | 
|  | slot is excluded. | 
|  |  | 
|  | Module snd-ca0106 | 
|  | ----------------- | 
|  |  | 
|  | Module for Creative Audigy LS and SB Live 24bit | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  |  | 
|  | Module snd-cmi8330 | 
|  | ------------------ | 
|  |  | 
|  | Module for sound cards based on C-Media CMI8330 ISA chips. | 
|  |  | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | wssport | 
|  | port # for CMI8330 chip (WSS) | 
|  | wssirq | 
|  | IRQ # for CMI8330 chip (WSS) | 
|  | wssdma | 
|  | first DMA # for CMI8330 chip (WSS) | 
|  | sbport | 
|  | port # for CMI8330 chip (SB16) | 
|  | sbirq | 
|  | IRQ # for CMI8330 chip (SB16) | 
|  | sbdma8 | 
|  | 8bit DMA # for CMI8330 chip (SB16) | 
|  | sbdma16 | 
|  | 16bit DMA # for CMI8330 chip (SB16) | 
|  | fmport | 
|  | (optional) OPL3 I/O port | 
|  | mpuport | 
|  | (optional) MPU401 I/O port | 
|  | mpuirq | 
|  | (optional) MPU401 irq # | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-cmipci | 
|  | ----------------- | 
|  |  | 
|  | Module for C-Media CMI8338/8738/8768/8770 PCI sound cards. | 
|  |  | 
|  | mpu_port | 
|  | port address of MIDI interface (8338 only): | 
|  | 0x300,0x310,0x320,0x330 = legacy port, | 
|  | 1 = integrated PCI port (default on 8738), | 
|  | 0 = disable | 
|  | fm_port | 
|  | port address of OPL-3 FM synthesizer (8x38 only): | 
|  | 0x388 = legacy port, | 
|  | 1 = integrated PCI port (default on 8738), | 
|  | 0 = disable | 
|  | soft_ac3 | 
|  | Software-conversion of raw SPDIF packets (model 033 only) (default = 1) | 
|  | joystick_port | 
|  | Joystick port address (0 = disable, 1 = auto-detect) | 
|  |  | 
|  | This module supports autoprobe and multiple cards. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-cs4231 | 
|  | ----------------- | 
|  |  | 
|  | Module for sound cards based on CS4231 ISA chips. | 
|  |  | 
|  | port | 
|  | port # for CS4231 chip | 
|  | mpu_port | 
|  | port # for MPU-401 UART (optional), -1 = disable | 
|  | irq | 
|  | IRQ # for CS4231 chip | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 UART | 
|  | dma1 | 
|  | first DMA # for CS4231 chip | 
|  | dma2 | 
|  | second DMA # for CS4231 chip | 
|  |  | 
|  | This module supports multiple cards. This module does not support autoprobe | 
|  | thus main port must be specified!!! Other ports are optional. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-cs4236 | 
|  | ----------------- | 
|  |  | 
|  | Module for sound cards based on CS4232/CS4232A, | 
|  | CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips. | 
|  |  | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | port | 
|  | port # for CS4236 chip (PnP setup - 0x534) | 
|  | cport | 
|  | control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00) | 
|  | mpu_port | 
|  | port # for MPU-401 UART (PnP setup - 0x300), -1 = disable | 
|  | fm_port | 
|  | FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable | 
|  | irq | 
|  | IRQ # for CS4236 chip (5,7,9,11,12,15) | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 UART (9,11,12,15) | 
|  | dma1 | 
|  | first DMA # for CS4236 chip (0,1,3) | 
|  | dma2 | 
|  | second DMA # for CS4236 chip (0,1,3), -1 = disable | 
|  |  | 
|  | This module supports multiple cards. This module does not support autoprobe | 
|  | (if ISA PnP is not used) thus main port and control port must be | 
|  | specified!!! Other ports are optional. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | This module is aliased as snd-cs4232 since it provides the old | 
|  | snd-cs4232 functionality, too. | 
|  |  | 
|  | Module snd-cs4281 | 
|  | ----------------- | 
|  |  | 
|  | Module for Cirrus Logic CS4281 soundchip. | 
|  |  | 
|  | dual_codec | 
|  | Secondary codec ID (0 = disable, default) | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-cs46xx | 
|  | ----------------- | 
|  |  | 
|  | Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/ | 
|  | CS4624/CS4630/CS4280 PCI chips. | 
|  |  | 
|  | external_amp | 
|  | Force to enable external amplifier. | 
|  | thinkpad | 
|  | Force to enable Thinkpad's CLKRUN control. | 
|  | mmap_valid | 
|  | Support OSS mmap mode (default = 0). | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  | Usually external amp and CLKRUN controls are detected automatically | 
|  | from PCI sub vendor/device ids.  If they don't work, give the options | 
|  | above explicitly. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-cs5530 | 
|  | ----------------- | 
|  |  | 
|  | Module for Cyrix/NatSemi Geode 5530 chip. | 
|  |  | 
|  | Module snd-cs5535audio | 
|  | ---------------------- | 
|  |  | 
|  | Module for multifunction CS5535 companion PCI device | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-ctxfi | 
|  | ---------------- | 
|  |  | 
|  | Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips) | 
|  |  | 
|  | * Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series | 
|  | * Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series | 
|  | * Creative Sound Blaster X-Fi Titanium Professional Audio | 
|  | * Creative Sound Blaster X-Fi Titanium | 
|  | * Creative Sound Blaster X-Fi Elite Pro | 
|  | * Creative Sound Blaster X-Fi Platinum | 
|  | * Creative Sound Blaster X-Fi Fatal1ty | 
|  | * Creative Sound Blaster X-Fi XtremeGamer | 
|  | * Creative Sound Blaster X-Fi XtremeMusic | 
|  |  | 
|  | reference_rate | 
|  | reference sample rate, 44100 or 48000 (default) | 
|  | multiple | 
|  | multiple to ref. sample rate, 1 or 2 (default) | 
|  | subsystem | 
|  | override the PCI SSID for probing; | 
|  | the value consists of SSVID << 16 | SSDID. | 
|  | The default is zero, which means no override. | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-darla20 | 
|  | ------------------ | 
|  |  | 
|  | Module for Echoaudio Darla20 | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-darla24 | 
|  | ------------------ | 
|  |  | 
|  | Module for Echoaudio Darla24 | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-dt019x | 
|  | ----------------- | 
|  |  | 
|  | Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP | 
|  | only) | 
|  |  | 
|  | This module supports multiple cards.  This module is enabled only with | 
|  | ISA PnP support. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-dummy | 
|  | ---------------- | 
|  |  | 
|  | Module for the dummy sound card. This "card" doesn't do any output | 
|  | or input, but you may use this module for any application which | 
|  | requires a sound card (like RealPlayer). | 
|  |  | 
|  | pcm_devs | 
|  | Number of PCM devices assigned to each card (default = 1, up to 4) | 
|  | pcm_substreams | 
|  | Number of PCM substreams assigned to each PCM (default = 8, up to 128) | 
|  | hrtimer | 
|  | Use hrtimer (=1, default) or system timer (=0) | 
|  | fake_buffer | 
|  | Fake buffer allocations (default = 1) | 
|  |  | 
|  | When multiple PCM devices are created, snd-dummy gives different | 
|  | behavior to each PCM device: | 
|  | * 0 = interleaved with mmap support | 
|  | * 1 = non-interleaved with mmap support | 
|  | * 2 = interleaved without mmap | 
|  | * 3 = non-interleaved without mmap | 
|  |  | 
|  | As default, snd-dummy drivers doesn't allocate the real buffers | 
|  | but either ignores read/write or mmap a single dummy page to all | 
|  | buffer pages, in order to save the resources.  If your apps need | 
|  | the read/ written buffer data to be consistent, pass fake_buffer=0 | 
|  | option. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-echo3g | 
|  | ----------------- | 
|  |  | 
|  | Module for Echoaudio 3G cards (Gina3G/Layla3G) | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-emu10k1 | 
|  | ------------------ | 
|  |  | 
|  | Module for EMU10K1/EMU10k2 based PCI sound cards. | 
|  |  | 
|  | * Sound Blaster Live! | 
|  | * Sound Blaster PCI 512 | 
|  | * Sound Blaster Audigy | 
|  | * E-MU APS (partially supported) | 
|  | * E-MU DAS | 
|  |  | 
|  | extin | 
|  | bitmap of available external inputs for FX8010 (see below) | 
|  | extout | 
|  | bitmap of available external outputs for FX8010 (see below) | 
|  | seq_ports | 
|  | allocated sequencer ports (4 by default) | 
|  | max_synth_voices | 
|  | limit of voices used for wavetable (64 by default) | 
|  | max_buffer_size | 
|  | specifies the maximum size of wavetable/pcm buffers given in MB | 
|  | unit.  Default value is 128. | 
|  | enable_ir | 
|  | enable IR | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | Input & Output configurations 			[extin/extout] | 
|  | * Creative Card wo/Digital out			[0x0003/0x1f03] | 
|  | * Creative Card w/Digital out			[0x0003/0x1f0f] | 
|  | * Creative Card w/Digital CD in			[0x000f/0x1f0f] | 
|  | * Creative Card wo/Digital out + LiveDrive	[0x3fc3/0x1fc3] | 
|  | * Creative Card w/Digital out + LiveDrive	[0x3fc3/0x1fcf] | 
|  | * Creative Card w/Digital CD in + LiveDrive	[0x3fcf/0x1fcf] | 
|  | * Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f] | 
|  | * Creative Card w/Digital out + Digital I/O 2	[0x0fc3/0x1f0f] | 
|  | * Creative Card w/Digital CD in + Digital I/O 2	[0x0fcf/0x1f0f] | 
|  | * Creative Card 5.1/w Digital out + LiveDrive	[0x3fc3/0x1fff] | 
|  | * Creative Card 5.1 (c) 2003			[0x3fc3/0x7cff] | 
|  | * Creative Card all ins and outs		[0x3fff/0x7fff] | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-emu10k1x | 
|  | ------------------- | 
|  |  | 
|  | Module for Creative Emu10k1X (SB Live Dell OEM version) | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-ens1370 | 
|  | ------------------ | 
|  |  | 
|  | Module for Ensoniq AudioPCI ES1370 PCI sound cards. | 
|  |  | 
|  | * SoundBlaster PCI 64 | 
|  | * SoundBlaster PCI 128 | 
|  |  | 
|  | joystick | 
|  | Enable joystick (default off) | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-ens1371 | 
|  | ------------------ | 
|  |  | 
|  | Module for Ensoniq AudioPCI ES1371 PCI sound cards. | 
|  |  | 
|  | * SoundBlaster PCI 64 | 
|  | * SoundBlaster PCI 128 | 
|  | * SoundBlaster Vibra PCI | 
|  |  | 
|  | joystick_port | 
|  | port # for joystick (0x200,0x208,0x210,0x218), 0 = disable | 
|  | (default), 1 = auto-detect | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-es1688 | 
|  | ----------------- | 
|  |  | 
|  | Module for ESS AudioDrive ES-1688 and ES-688 sound cards. | 
|  |  | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  | mpu_port | 
|  | port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default) | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 port (5,7,9,10) | 
|  | fm_port | 
|  | port # for OPL3 (option; share the same port as default) | 
|  |  | 
|  | with ``isapnp=0``, the following additional options are available: | 
|  |  | 
|  | port | 
|  | port # for ES-1688 chip (0x220,0x240,0x260) | 
|  | irq | 
|  | IRQ # for ES-1688 chip (5,7,9,10) | 
|  | dma8 | 
|  | DMA # for ES-1688 chip (0,1,3) | 
|  |  | 
|  | This module supports multiple cards and autoprobe (without MPU-401 port) | 
|  | and PnP with the ES968 chip. | 
|  |  | 
|  | Module snd-es18xx | 
|  | ----------------- | 
|  |  | 
|  | Module for ESS AudioDrive ES-18xx sound cards. | 
|  |  | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | port | 
|  | port # for ES-18xx chip (0x220,0x240,0x260) | 
|  | mpu_port | 
|  | port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default) | 
|  | fm_port | 
|  | port # for FM (optional, not used) | 
|  | irq | 
|  | IRQ # for ES-18xx chip (5,7,9,10) | 
|  | dma1 | 
|  | first DMA # for ES-18xx chip (0,1,3) | 
|  | dma2 | 
|  | first DMA # for ES-18xx chip (0,1,3) | 
|  |  | 
|  | This module supports multiple cards, ISA PnP and autoprobe (without MPU-401 | 
|  | port if native ISA PnP routines are not used). | 
|  | When ``dma2`` is equal with ``dma1``, the driver works as half-duplex. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-es1938 | 
|  | ----------------- | 
|  |  | 
|  | Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips. | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-es1968 | 
|  | ----------------- | 
|  |  | 
|  | Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips. | 
|  |  | 
|  | total_bufsize | 
|  | total buffer size in kB (1-4096kB) | 
|  | pcm_substreams_p | 
|  | playback channels (1-8, default=2) | 
|  | pcm_substreams_c | 
|  | capture channels (1-8, default=0) | 
|  | clock | 
|  | clock (0 = auto-detection) | 
|  | use_pm | 
|  | support the power-management (0 = off, 1 = on, 2 = auto (default)) | 
|  | enable_mpu | 
|  | enable MPU401 (0 = off, 1 = on, 2 = auto (default)) | 
|  | joystick | 
|  | enable joystick (default off) | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-fm801 | 
|  | ---------------- | 
|  |  | 
|  | Module for ForteMedia FM801 based PCI sound cards. | 
|  |  | 
|  | tea575x_tuner | 
|  | Enable TEA575x tuner; | 
|  | 1 = MediaForte 256-PCS, | 
|  | 2 = MediaForte 256-PCPR, | 
|  | 3 = MediaForte 64-PCR | 
|  | High 16-bits are video (radio) device number + 1; | 
|  | example: 0x10002 (MediaForte 256-PCPR, device 1) | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-gina20 | 
|  | ----------------- | 
|  |  | 
|  | Module for Echoaudio Gina20 | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-gina24 | 
|  | ----------------- | 
|  |  | 
|  | Module for Echoaudio Gina24 | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-gusclassic | 
|  | --------------------- | 
|  |  | 
|  | Module for Gravis UltraSound Classic sound card. | 
|  |  | 
|  | port | 
|  | port # for GF1 chip (0x220,0x230,0x240,0x250,0x260) | 
|  | irq | 
|  | IRQ # for GF1 chip (3,5,9,11,12,15) | 
|  | dma1 | 
|  | DMA # for GF1 chip (1,3,5,6,7) | 
|  | dma2 | 
|  | DMA # for GF1 chip (1,3,5,6,7,-1=disable) | 
|  | joystick_dac | 
|  | 0 to 31, (0.59V-4.52V or 0.389V-2.98V) | 
|  | voices | 
|  | GF1 voices limit (14-32) | 
|  | pcm_voices | 
|  | reserved PCM voices | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | Module snd-gusextreme | 
|  | --------------------- | 
|  |  | 
|  | Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card. | 
|  |  | 
|  | port | 
|  | port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260) | 
|  | gf1_port | 
|  | port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270) | 
|  | mpu_port | 
|  | port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable | 
|  | irq | 
|  | IRQ # for ES-1688 chip (5,7,9,10) | 
|  | gf1_irq | 
|  | IRQ # for GF1 chip (3,5,9,11,12,15) | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 port (5,7,9,10) | 
|  | dma8 | 
|  | DMA # for ES-1688 chip (0,1,3) | 
|  | dma1 | 
|  | DMA # for GF1 chip (1,3,5,6,7) | 
|  | joystick_dac | 
|  | 0 to 31, (0.59V-4.52V or 0.389V-2.98V) | 
|  | voices | 
|  | GF1 voices limit (14-32) | 
|  | pcm_voices | 
|  | reserved PCM voices | 
|  |  | 
|  | This module supports multiple cards and autoprobe (without MPU-401 port). | 
|  |  | 
|  | Module snd-gusmax | 
|  | ----------------- | 
|  |  | 
|  | Module for Gravis UltraSound MAX sound card. | 
|  |  | 
|  | port | 
|  | port # for GF1 chip (0x220,0x230,0x240,0x250,0x260) | 
|  | irq | 
|  | IRQ # for GF1 chip (3,5,9,11,12,15) | 
|  | dma1 | 
|  | DMA # for GF1 chip (1,3,5,6,7) | 
|  | dma2 | 
|  | DMA # for GF1 chip (1,3,5,6,7,-1=disable) | 
|  | joystick_dac | 
|  | 0 to 31, (0.59V-4.52V or 0.389V-2.98V) | 
|  | voices | 
|  | GF1 voices limit (14-32) | 
|  | pcm_voices | 
|  | reserved PCM voices | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | Module snd-hda-intel | 
|  | -------------------- | 
|  |  | 
|  | Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10, | 
|  | PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620, | 
|  | RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461 | 
|  |  | 
|  | [Multiple options for each card instance] | 
|  |  | 
|  | model | 
|  | force the model name | 
|  | position_fix | 
|  | Fix DMA pointer; | 
|  | -1 = system default: choose appropriate one per controller hardware, | 
|  | 0 = auto: falls back to LPIB when POSBUF doesn't work, | 
|  | 1 = use LPIB, | 
|  | 2 = POSBUF: use position buffer, | 
|  | 3 = VIACOMBO: VIA-specific workaround for capture, | 
|  | 4 = COMBO: use LPIB for playback, auto for capture stream | 
|  | 5 = SKL+: apply the delay calculation available on recent Intel chips | 
|  | 6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips | 
|  | probe_mask | 
|  | Bitmask to probe codecs (default = -1, meaning all slots); | 
|  | When the bit 8 (0x100) is set, the lower 8 bits are used | 
|  | as the "fixed" codec slots; i.e. the driver probes the | 
|  | slots regardless what hardware reports back | 
|  | probe_only | 
|  | Only probing and no codec initialization (default=off); | 
|  | Useful to check the initial codec status for debugging | 
|  | bdl_pos_adj | 
|  | Specifies the DMA IRQ timing delay in samples. | 
|  | Passing -1 will make the driver to choose the appropriate | 
|  | value based on the controller chip. | 
|  | patch | 
|  | Specifies the early "patch" files to modify the HD-audio setup | 
|  | before initializing the codecs. | 
|  | This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y`` | 
|  | is set.  See hd-audio/notes.rst for details. | 
|  | beep_mode | 
|  | Selects the beep registration mode (0=off, 1=on); | 
|  | default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig. | 
|  |  | 
|  | [Single (global) options] | 
|  |  | 
|  | single_cmd | 
|  | Use single immediate commands to communicate with codecs | 
|  | (for debugging only) | 
|  | enable_msi | 
|  | Enable Message Signaled Interrupt (MSI) (default = off) | 
|  | power_save | 
|  | Automatic power-saving timeout (in second, 0 = disable) | 
|  | power_save_controller | 
|  | Reset HD-audio controller in power-saving mode (default = on) | 
|  | pm_blacklist | 
|  | Enable / disable power-management deny-list (default = look up PM | 
|  | deny-list, 0 = skip PM deny-list, 1 = force to turn off runtime PM) | 
|  | align_buffer_size | 
|  | Force rounding of buffer/period sizes to multiples of 128 bytes. | 
|  | This is more efficient in terms of memory access but isn't | 
|  | required by the HDA spec and prevents users from specifying | 
|  | exact period/buffer sizes. (default = on) | 
|  | snoop | 
|  | Enable/disable snooping (default = on) | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | See hd-audio/notes.rst for more details about HD-audio driver. | 
|  |  | 
|  | Each codec may have a model table for different configurations. | 
|  | If your machine isn't listed there, the default (usually minimal) | 
|  | configuration is set up.  You can pass ``model=<name>`` option to | 
|  | specify a certain model in such a case.  There are different | 
|  | models depending on the codec chip.  The list of available models | 
|  | is found in hd-audio/models.rst. | 
|  |  | 
|  | The model name ``generic`` is treated as a special case.  When this | 
|  | model is given, the driver uses the generic codec parser without | 
|  | "codec-patch".  It's sometimes good for testing and debugging. | 
|  |  | 
|  | The model option can be used also for aliasing to another PCI or codec | 
|  | SSID.  When it's passed in the form of ``model=XXXX:YYYY`` where XXXX | 
|  | and YYYY are the sub-vendor and sub-device IDs in hex numbers, | 
|  | respectively, the driver will refer to that SSID as a reference to the | 
|  | quirk table. | 
|  |  | 
|  | If the default configuration doesn't work and one of the above | 
|  | matches with your device, report it together with alsa-info.sh | 
|  | output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel | 
|  | ML (see the section `Links and Addresses`_). | 
|  |  | 
|  | ``power_save`` and ``power_save_controller`` options are for power-saving | 
|  | mode.  See powersave.rst for details. | 
|  |  | 
|  | Note 2: If you get click noises on output, try the module option | 
|  | ``position_fix=1`` or ``2``.  ``position_fix=1`` will use the SD_LPIB | 
|  | register value without FIFO size correction as the current | 
|  | DMA pointer.  ``position_fix=2`` will make the driver to use | 
|  | the position buffer instead of reading SD_LPIB register. | 
|  | (Usually SD_LPIB register is more accurate than the | 
|  | position buffer.) | 
|  |  | 
|  | ``position_fix=3`` is specific to VIA devices.  The position | 
|  | of the capture stream is checked from both LPIB and POSBUF | 
|  | values.  ``position_fix=4`` is a combination mode, using LPIB | 
|  | for playback and POSBUF for capture. | 
|  |  | 
|  | NB: If you get many ``azx_get_response timeout`` messages at | 
|  | loading, it's likely a problem of interrupts (e.g. ACPI irq | 
|  | routing).  Try to boot with options like ``pci=noacpi``.  Also, you | 
|  | can try ``single_cmd=1`` module option.  This will switch the | 
|  | communication method between HDA controller and codecs to the | 
|  | single immediate commands instead of CORB/RIRB.  Basically, the | 
|  | single command mode is provided only for BIOS, and you won't get | 
|  | unsolicited events, too.  But, at least, this works independently | 
|  | from the irq.  Remember this is a last resort, and should be | 
|  | avoided as much as possible... | 
|  |  | 
|  | MORE NOTES ON ``azx_get_response timeout`` PROBLEMS: | 
|  | On some hardware, you may need to add a proper probe_mask option | 
|  | to avoid the ``azx_get_response timeout`` problem above, instead. | 
|  | This occurs when the access to non-existing or non-working codec slot | 
|  | (likely a modem one) causes a stall of the communication via HD-audio | 
|  | bus.  You can see which codec slots are probed by enabling | 
|  | ``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec | 
|  | proc files.  Then limit the slots to probe by probe_mask option. | 
|  | For example, ``probe_mask=1`` means to probe only the first slot, and | 
|  | ``probe_mask=4`` means only the third slot. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-hdsp | 
|  | --------------- | 
|  |  | 
|  | Module for RME Hammerfall DSP audio interface(s) | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Note: The firmware data can be automatically loaded via hotplug | 
|  | when ``CONFIG_FW_LOADER`` is set.  Otherwise, you need to load | 
|  | the firmware via hdsploader utility included in alsa-tools | 
|  | package. | 
|  | The firmware data is found in alsa-firmware package. | 
|  |  | 
|  | Note: snd-page-alloc module does the job which snd-hammerfall-mem | 
|  | module did formerly.  It will allocate the buffers in advance | 
|  | when any HDSP cards are found.  To make the buffer | 
|  | allocation sure, load snd-page-alloc module in the early | 
|  | stage of boot sequence.  See `Early Buffer Allocation`_ | 
|  | section. | 
|  |  | 
|  | Module snd-hdspm | 
|  | ---------------- | 
|  |  | 
|  | Module for RME HDSP MADI board. | 
|  |  | 
|  | precise_ptr | 
|  | Enable precise pointer, or disable. | 
|  | line_outs_monitor | 
|  | Send playback streams to analog outs by default. | 
|  | enable_monitor | 
|  | Enable Analog Out on Channel 63/64 by default. | 
|  |  | 
|  | See hdspm.rst for details. | 
|  |  | 
|  | Module snd-ice1712 | 
|  | ------------------ | 
|  |  | 
|  | Module for Envy24 (ICE1712) based PCI sound cards. | 
|  |  | 
|  | * MidiMan M Audio Delta 1010 | 
|  | * MidiMan M Audio Delta 1010LT | 
|  | * MidiMan M Audio Delta DiO 2496 | 
|  | * MidiMan M Audio Delta 66 | 
|  | * MidiMan M Audio Delta 44 | 
|  | * MidiMan M Audio Delta 410 | 
|  | * MidiMan M Audio Audiophile 2496 | 
|  | * TerraTec EWS 88MT | 
|  | * TerraTec EWS 88D | 
|  | * TerraTec EWX 24/96 | 
|  | * TerraTec DMX 6Fire | 
|  | * TerraTec Phase 88 | 
|  | * Hoontech SoundTrack DSP 24 | 
|  | * Hoontech SoundTrack DSP 24 Value | 
|  | * Hoontech SoundTrack DSP 24 Media 7.1 | 
|  | * Event Electronics, EZ8 | 
|  | * Digigram VX442 | 
|  | * Lionstracs, Mediastaton | 
|  | * Terrasoniq TS 88 | 
|  |  | 
|  | model | 
|  | Use the given board model, one of the following: | 
|  | delta1010, dio2496, delta66, delta44, audiophile, delta410, | 
|  | delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d, | 
|  | dmx6fire, dsp24, dsp24_value, dsp24_71, ez8, | 
|  | phase88, mediastation | 
|  | omni | 
|  | Omni I/O support for MidiMan M-Audio Delta44/66 | 
|  | cs8427_timeout | 
|  | reset timeout for the CS8427 chip (S/PDIF transceiver) in msec | 
|  | resolution, default value is 500 (0.5 sec) | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  | Note: The consumer part is not used with all Envy24 based cards (for | 
|  | example in the MidiMan Delta siree). | 
|  |  | 
|  | Note: The supported board is detected by reading EEPROM or PCI | 
|  | SSID (if EEPROM isn't available).  You can override the | 
|  | model by passing ``model`` module option in case that the | 
|  | driver isn't configured properly or you want to try another | 
|  | type for testing. | 
|  |  | 
|  | Module snd-ice1724 | 
|  | ------------------ | 
|  |  | 
|  | Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards. | 
|  |  | 
|  | * MidiMan M Audio Revolution 5.1 | 
|  | * MidiMan M Audio Revolution 7.1 | 
|  | * MidiMan M Audio Audiophile 192 | 
|  | * AMP Ltd AUDIO2000 | 
|  | * TerraTec Aureon 5.1 Sky | 
|  | * TerraTec Aureon 7.1 Space | 
|  | * TerraTec Aureon 7.1 Universe | 
|  | * TerraTec Phase 22 | 
|  | * TerraTec Phase 28 | 
|  | * AudioTrak Prodigy 7.1 | 
|  | * AudioTrak Prodigy 7.1 LT | 
|  | * AudioTrak Prodigy 7.1 XT | 
|  | * AudioTrak Prodigy 7.1 HIFI | 
|  | * AudioTrak Prodigy 7.1 HD2 | 
|  | * AudioTrak Prodigy 192 | 
|  | * Pontis MS300 | 
|  | * Albatron K8X800 Pro II | 
|  | * Chaintech ZNF3-150 | 
|  | * Chaintech ZNF3-250 | 
|  | * Chaintech 9CJS | 
|  | * Chaintech AV-710 | 
|  | * Shuttle SN25P | 
|  | * Onkyo SE-90PCI | 
|  | * Onkyo SE-200PCI | 
|  | * ESI Juli@ | 
|  | * ESI Maya44 | 
|  | * Hercules Fortissimo IV | 
|  | * EGO-SYS WaveTerminal 192M | 
|  |  | 
|  | model | 
|  | Use the given board model, one of the following: | 
|  | revo51, revo71, amp2000, prodigy71, prodigy71lt, | 
|  | prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192, | 
|  | juli, aureon51, aureon71, universe, ap192, k8x800, | 
|  | phase22, phase28, ms300, av710, se200pci, se90pci, | 
|  | fortissimo4, sn25p, WT192M, maya44 | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | Note: The supported board is detected by reading EEPROM or PCI | 
|  | SSID (if EEPROM isn't available).  You can override the | 
|  | model by passing ``model`` module option in case that the | 
|  | driver isn't configured properly or you want to try another | 
|  | type for testing. | 
|  |  | 
|  | Module snd-indigo | 
|  | ----------------- | 
|  |  | 
|  | Module for Echoaudio Indigo | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-indigodj | 
|  | ------------------- | 
|  |  | 
|  | Module for Echoaudio Indigo DJ | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-indigoio | 
|  | ------------------- | 
|  |  | 
|  | Module for Echoaudio Indigo IO | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-intel8x0 | 
|  | ------------------- | 
|  |  | 
|  | Module for AC'97 motherboards from Intel and compatibles. | 
|  |  | 
|  | * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7, | 
|  | 6300ESB, ESB2 | 
|  | * SiS 7012 (SiS 735) | 
|  | * NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501 | 
|  | * AMD AMD768, AMD8111 | 
|  | * ALi m5455 | 
|  |  | 
|  | ac97_clock | 
|  | AC'97 codec clock base (0 = auto-detect) | 
|  | ac97_quirk | 
|  | AC'97 workaround for strange hardware; | 
|  | See `AC97 Quirk Option`_ section below. | 
|  | buggy_irq | 
|  | Enable workaround for buggy interrupts on some motherboards | 
|  | (default yes on nForce chips, otherwise off) | 
|  | buggy_semaphore | 
|  | Enable workaround for hardware with buggy semaphores (e.g. on some | 
|  | ASUS laptops) (default off) | 
|  | spdif_aclink | 
|  | Use S/PDIF over AC-link instead of direct connection from the | 
|  | controller chip (0 = off, 1 = on, -1 = default) | 
|  |  | 
|  | This module supports one chip and autoprobe. | 
|  |  | 
|  | Note: the latest driver supports auto-detection of chip clock. | 
|  | if you still encounter too fast playback, specify the clock | 
|  | explicitly via the module option ``ac97_clock=41194``. | 
|  |  | 
|  | Joystick/MIDI ports are not supported by this driver.  If your | 
|  | motherboard has these devices, use the ns558 or snd-mpu401 | 
|  | modules, respectively. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-intel8x0m | 
|  | -------------------- | 
|  |  | 
|  | Module for Intel ICH (i8x0) chipset MC97 modems. | 
|  |  | 
|  | * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7 | 
|  | * SiS 7013 (SiS 735) | 
|  | * NVidia NForce, NForce2, NForce2s, NForce3 | 
|  | * AMD AMD8111 | 
|  | * ALi m5455 | 
|  |  | 
|  | ac97_clock | 
|  | AC'97 codec clock base (0 = auto-detect) | 
|  |  | 
|  | This module supports one card and autoprobe. | 
|  |  | 
|  | Note: The default index value of this module is -2, i.e. the first | 
|  | slot is excluded. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-interwave | 
|  | -------------------- | 
|  |  | 
|  | Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32 | 
|  | and other sound cards based on AMD InterWave (tm) chip. | 
|  |  | 
|  | joystick_dac | 
|  | 0 to 31, (0.59V-4.52V or 0.389V-2.98V) | 
|  | midi | 
|  | 1 = MIDI UART enable, 0 = MIDI UART disable (default) | 
|  | pcm_voices | 
|  | reserved PCM voices for the synthesizer (default 2) | 
|  | effect | 
|  | 1 = InterWave effects enable (default 0); requires 8 voices | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | port | 
|  | port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260) | 
|  | irq | 
|  | IRQ # for InterWave chip (3,5,9,11,12,15) | 
|  | dma1 | 
|  | DMA # for InterWave chip (0,1,3,5,6,7) | 
|  | dma2 | 
|  | DMA # for InterWave chip (0,1,3,5,6,7,-1=disable) | 
|  |  | 
|  | This module supports multiple cards, autoprobe and ISA PnP. | 
|  |  | 
|  | Module snd-interwave-stb | 
|  | ------------------------ | 
|  |  | 
|  | Module for UltraSound 32-Pro (sound card from STB used by Compaq) | 
|  | and other sound cards based on AMD InterWave (tm) chip with TEA6330T | 
|  | circuit for extended control of bass, treble and master volume. | 
|  |  | 
|  | joystick_dac | 
|  | 0 to 31, (0.59V-4.52V or 0.389V-2.98V) | 
|  | midi | 
|  | 1 = MIDI UART enable, 0 = MIDI UART disable (default) | 
|  | pcm_voices | 
|  | reserved PCM voices for the synthesizer (default 2) | 
|  | effect | 
|  | 1 = InterWave effects enable (default 0); requires 8 voices | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | port | 
|  | port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260) | 
|  | port_tc | 
|  | tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380) | 
|  | irq | 
|  | IRQ # for InterWave chip (3,5,9,11,12,15) | 
|  | dma1 | 
|  | DMA # for InterWave chip (0,1,3,5,6,7) | 
|  | dma2 | 
|  | DMA # for InterWave chip (0,1,3,5,6,7,-1=disable) | 
|  |  | 
|  | This module supports multiple cards, autoprobe and ISA PnP. | 
|  |  | 
|  | Module snd-jazz16 | 
|  | ------------------- | 
|  |  | 
|  | Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips: | 
|  | MVD1216 + MVA416 + MVA514. | 
|  |  | 
|  | port | 
|  | port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260) | 
|  | irq | 
|  | IRQ # for SB DSP chip (3,5,7,9,10,15) | 
|  | dma8 | 
|  | DMA # for SB DSP chip (1,3) | 
|  | dma16 | 
|  | DMA # for SB DSP chip (5,7) | 
|  | mpu_port | 
|  | MPU-401 port # (0x300,0x310,0x320,0x330) | 
|  | mpu_irq | 
|  | MPU-401 irq # (2,3,5,7) | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-korg1212 | 
|  | ------------------- | 
|  |  | 
|  | Module for Korg 1212 IO PCI card | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-layla20 | 
|  | ------------------ | 
|  |  | 
|  | Module for Echoaudio Layla20 | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-layla24 | 
|  | ------------------ | 
|  |  | 
|  | Module for Echoaudio Layla24 | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-lola | 
|  | --------------- | 
|  |  | 
|  | Module for Digigram Lola PCI-e boards | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-lx6464es | 
|  | ------------------- | 
|  |  | 
|  | Module for Digigram LX6464ES boards | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-maestro3 | 
|  | ------------------- | 
|  |  | 
|  | Module for Allegro/Maestro3 chips | 
|  |  | 
|  | external_amp | 
|  | enable external amp (enabled by default) | 
|  | amp_gpio | 
|  | GPIO pin number for external amp (0-15) or -1 for default pin (8 | 
|  | for allegro, 1 for others) | 
|  |  | 
|  | This module supports autoprobe and multiple chips. | 
|  |  | 
|  | Note: the binding of amplifier is dependent on hardware. | 
|  | If there is no sound even though all channels are unmuted, try to | 
|  | specify other gpio connection via amp_gpio option. | 
|  | For example, a Panasonic notebook might need ``amp_gpio=0x0d`` | 
|  | option. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-mia | 
|  | --------------- | 
|  |  | 
|  | Module for Echoaudio Mia | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-miro | 
|  | --------------- | 
|  |  | 
|  | Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12, | 
|  | miroSOUND PCM 20 Radio. | 
|  |  | 
|  | port | 
|  | Port # (0x530,0x604,0xe80,0xf40) | 
|  | irq | 
|  | IRQ # (5,7,9,10,11) | 
|  | dma1 | 
|  | 1st dma # (0,1,3) | 
|  | dma2 | 
|  | 2nd dma # (0,1) | 
|  | mpu_port | 
|  | MPU-401 port # (0x300,0x310,0x320,0x330) | 
|  | mpu_irq | 
|  | MPU-401 irq # (5,7,9,10) | 
|  | fm_port | 
|  | FM Port # (0x388) | 
|  | wss | 
|  | enable WSS mode | 
|  | ide | 
|  | enable onboard ide support | 
|  |  | 
|  | Module snd-mixart | 
|  | ----------------- | 
|  |  | 
|  | Module for Digigram miXart8 sound cards. | 
|  |  | 
|  | This module supports multiple cards. | 
|  | Note: One miXart8 board will be represented as 4 alsa cards. | 
|  | See Documentation/sound/cards/mixart.rst for details. | 
|  |  | 
|  | When the driver is compiled as a module and the hotplug firmware | 
|  | is supported, the firmware data is loaded via hotplug automatically. | 
|  | Install the necessary firmware files in alsa-firmware package. | 
|  | When no hotplug fw loader is available, you need to load the | 
|  | firmware via mixartloader utility in alsa-tools package. | 
|  |  | 
|  | Module snd-mona | 
|  | --------------- | 
|  |  | 
|  | Module for Echoaudio Mona | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-mpu401 | 
|  | ----------------- | 
|  |  | 
|  | Module for MPU-401 UART devices. | 
|  |  | 
|  | port | 
|  | port number or -1 (disable) | 
|  | irq | 
|  | IRQ number or -1 (disable) | 
|  | pnp | 
|  | PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | This module supports multiple devices and PnP. | 
|  |  | 
|  | Module snd-msnd-classic | 
|  | ----------------------- | 
|  |  | 
|  | Module for Turtle Beach MultiSound Classic, Tahiti or Monterey | 
|  | soundcards. | 
|  |  | 
|  | io | 
|  | Port # for msnd-classic card | 
|  | irq | 
|  | IRQ # for msnd-classic card | 
|  | mem | 
|  | Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000) | 
|  | write_ndelay | 
|  | enable write ndelay (default = 1) | 
|  | calibrate_signal | 
|  | calibrate signal (default = 0) | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  | digital | 
|  | Digital daughterboard present (default = 0) | 
|  | cfg | 
|  | Config port (0x250, 0x260 or 0x270) default = PnP | 
|  | reset | 
|  | Reset all devices | 
|  | mpu_io | 
|  | MPU401 I/O port | 
|  | mpu_irq | 
|  | MPU401 irq# | 
|  | ide_io0 | 
|  | IDE port #0 | 
|  | ide_io1 | 
|  | IDE port #1 | 
|  | ide_irq | 
|  | IDE irq# | 
|  | joystick_io | 
|  | Joystick I/O port | 
|  |  | 
|  | The driver requires firmware files ``turtlebeach/msndinit.bin`` and | 
|  | ``turtlebeach/msndperm.bin`` in the proper firmware directory. | 
|  |  | 
|  | See Documentation/sound/cards/multisound.sh for important information | 
|  | about this driver.  Note that it has been discontinued, but the | 
|  | Voyetra Turtle Beach knowledge base entry for it is still available | 
|  | at | 
|  | https://www.turtlebeach.com | 
|  |  | 
|  | Module snd-msnd-pinnacle | 
|  | ------------------------ | 
|  |  | 
|  | Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards. | 
|  |  | 
|  | io | 
|  | Port # for pinnacle/fiji card | 
|  | irq | 
|  | IRQ # for pinnalce/fiji card | 
|  | mem | 
|  | Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000) | 
|  | write_ndelay | 
|  | enable write ndelay (default = 1) | 
|  | calibrate_signal | 
|  | calibrate signal (default = 0) | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | The driver requires firmware files ``turtlebeach/pndspini.bin`` and | 
|  | ``turtlebeach/pndsperm.bin`` in the proper firmware directory. | 
|  |  | 
|  | Module snd-mtpav | 
|  | ---------------- | 
|  |  | 
|  | Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel | 
|  | port). | 
|  |  | 
|  | port | 
|  | I/O port # for MTPAV (0x378,0x278, default=0x378) | 
|  | irq | 
|  | IRQ # for MTPAV (7,5, default=7) | 
|  | hwports | 
|  | number of supported hardware ports, default=8. | 
|  |  | 
|  | Module supports only 1 card.  This module has no enable option. | 
|  |  | 
|  | Module snd-mts64 | 
|  | ---------------- | 
|  |  | 
|  | Module for Ego Systems (ESI) Miditerminal 4140 | 
|  |  | 
|  | This module supports multiple devices. | 
|  | Requires parport (``CONFIG_PARPORT``). | 
|  |  | 
|  | Module snd-nm256 | 
|  | ---------------- | 
|  |  | 
|  | Module for NeoMagic NM256AV/ZX chips | 
|  |  | 
|  | playback_bufsize | 
|  | max playback frame size in kB (4-128kB) | 
|  | capture_bufsize | 
|  | max capture frame size in kB (4-128kB) | 
|  | force_ac97 | 
|  | 0 or 1 (disabled by default) | 
|  | buffer_top | 
|  | specify buffer top address | 
|  | use_cache | 
|  | 0 or 1 (disabled by default) | 
|  | vaio_hack | 
|  | alias buffer_top=0x25a800 | 
|  | reset_workaround | 
|  | enable AC97 RESET workaround for some laptops | 
|  | reset_workaround2 | 
|  | enable extended AC97 RESET workaround for some other laptops | 
|  |  | 
|  | This module supports one chip and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Note: on some notebooks the buffer address cannot be detected | 
|  | automatically, or causes hang-up during initialization. | 
|  | In such a case, specify the buffer top address explicitly via | 
|  | the buffer_top option. | 
|  | For example, | 
|  | Sony F250: buffer_top=0x25a800 | 
|  | Sony F270: buffer_top=0x272800 | 
|  | The driver supports only ac97 codec.  It's possible to force | 
|  | to initialize/use ac97 although it's not detected.  In such a | 
|  | case, use ``force_ac97=1`` option - but *NO* guarantee whether it | 
|  | works! | 
|  |  | 
|  | Note: The NM256 chip can be linked internally with non-AC97 | 
|  | codecs.  This driver supports only the AC97 codec, and won't work | 
|  | with machines with other (most likely CS423x or OPL3SAx) chips, | 
|  | even though the device is detected in lspci.  In such a case, try | 
|  | other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP | 
|  | but some doesn't have ISA PnP.  You'll need to specify ``isapnp=0`` | 
|  | and proper hardware parameters in the case without ISA PnP. | 
|  |  | 
|  | Note: some laptops need a workaround for AC97 RESET.  For the | 
|  | known hardware like Dell Latitude LS and Sony PCG-F305, this | 
|  | workaround is enabled automatically.  For other laptops with a | 
|  | hard freeze, you can try ``reset_workaround=1`` option. | 
|  |  | 
|  | Note: Dell Latitude CSx laptops have another problem regarding | 
|  | AC97 RESET.  On these laptops, reset_workaround2 option is | 
|  | turned on as default.  This option is worth to try if the | 
|  | previous reset_workaround option doesn't help. | 
|  |  | 
|  | Note: This driver is really crappy.  It's a porting from the | 
|  | OSS driver, which is a result of black-magic reverse engineering. | 
|  | The detection of codec will fail if the driver is loaded *after* | 
|  | X-server as described above.  You might be able to force to load | 
|  | the module, but it may result in hang-up.   Hence, make sure that | 
|  | you load this module *before* X if you encounter this kind of | 
|  | problem. | 
|  |  | 
|  | Module snd-opl3sa2 | 
|  | ------------------ | 
|  |  | 
|  | Module for Yamaha OPL3-SA2/SA3 sound cards. | 
|  |  | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | port | 
|  | control port # for OPL3-SA chip (0x370) | 
|  | sb_port | 
|  | SB port # for OPL3-SA chip (0x220,0x240) | 
|  | wss_port | 
|  | WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604) | 
|  | midi_port | 
|  | port # for MPU-401 UART (0x300,0x330), -1 = disable | 
|  | fm_port | 
|  | FM port # for OPL3-SA chip (0x388), -1 = disable | 
|  | irq | 
|  | IRQ # for OPL3-SA chip (5,7,9,10) | 
|  | dma1 | 
|  | first DMA # for Yamaha OPL3-SA chip (0,1,3) | 
|  | dma2 | 
|  | second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable | 
|  |  | 
|  | This module supports multiple cards and ISA PnP.  It does not support | 
|  | autoprobe (if ISA PnP is not used) thus all ports must be specified!!! | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-opti92x-ad1848 | 
|  | ------------------------- | 
|  |  | 
|  | Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips. | 
|  | Module works with OAK Mozart cards as well. | 
|  |  | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | port | 
|  | port # for WSS chip (0x530,0xe80,0xf40,0x604) | 
|  | mpu_port | 
|  | port # for MPU-401 UART (0x300,0x310,0x320,0x330) | 
|  | fm_port | 
|  | port # for OPL3 device (0x388) | 
|  | irq | 
|  | IRQ # for WSS chip (5,7,9,10,11) | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 UART (5,7,9,10) | 
|  | dma1 | 
|  | first DMA # for WSS chip (0,1,3) | 
|  |  | 
|  | This module supports only one card, autoprobe and PnP. | 
|  |  | 
|  | Module snd-opti92x-cs4231 | 
|  | ------------------------- | 
|  |  | 
|  | Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips. | 
|  |  | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | port | 
|  | port # for WSS chip (0x530,0xe80,0xf40,0x604) | 
|  | mpu_port | 
|  | port # for MPU-401 UART (0x300,0x310,0x320,0x330) | 
|  | fm_port | 
|  | port # for OPL3 device (0x388) | 
|  | irq | 
|  | IRQ # for WSS chip (5,7,9,10,11) | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 UART (5,7,9,10) | 
|  | dma1 | 
|  | first DMA # for WSS chip (0,1,3) | 
|  | dma2 | 
|  | second DMA # for WSS chip (0,1,3) | 
|  |  | 
|  | This module supports only one card, autoprobe and PnP. | 
|  |  | 
|  | Module snd-opti93x | 
|  | ------------------ | 
|  |  | 
|  | Module for sound cards based on OPTi 82c93x chips. | 
|  |  | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with ``isapnp=0``, the following options are available: | 
|  |  | 
|  | port | 
|  | port # for WSS chip (0x530,0xe80,0xf40,0x604) | 
|  | mpu_port | 
|  | port # for MPU-401 UART (0x300,0x310,0x320,0x330) | 
|  | fm_port | 
|  | port # for OPL3 device (0x388) | 
|  | irq | 
|  | IRQ # for WSS chip (5,7,9,10,11) | 
|  | mpu_irq | 
|  | IRQ # for MPU-401 UART (5,7,9,10) | 
|  | dma1 | 
|  | first DMA # for WSS chip (0,1,3) | 
|  | dma2 | 
|  | second DMA # for WSS chip (0,1,3) | 
|  |  | 
|  | This module supports only one card, autoprobe and PnP. | 
|  |  | 
|  | Module snd-oxygen | 
|  | ----------------- | 
|  |  | 
|  | Module for sound cards based on the C-Media CMI8786/8787/8788 chip: | 
|  |  | 
|  | * Asound A-8788 | 
|  | * Asus Xonar DG/DGX | 
|  | * AuzenTech X-Meridian | 
|  | * AuzenTech X-Meridian 2G | 
|  | * Bgears b-Enspirer | 
|  | * Club3D Theatron DTS | 
|  | * HT-Omega Claro (plus) | 
|  | * HT-Omega Claro halo (XT) | 
|  | * Kuroutoshikou CMI8787-HG2PCI | 
|  | * Razer Barracuda AC-1 | 
|  | * Sondigo Inferno | 
|  | * TempoTec HiFier Fantasia | 
|  | * TempoTec HiFier Serenade | 
|  |  | 
|  | This module supports autoprobe and multiple cards. | 
|  |  | 
|  | Module snd-pcsp | 
|  | --------------- | 
|  |  | 
|  | Module for internal PC-Speaker. | 
|  |  | 
|  | nopcm | 
|  | Disable PC-Speaker PCM sound. Only beeps remain. | 
|  | nforce_wa | 
|  | enable NForce chipset workaround. Expect bad sound. | 
|  |  | 
|  | This module supports system beeps, some kind of PCM playback and | 
|  | even a few mixer controls. | 
|  |  | 
|  | Module snd-pcxhr | 
|  | ---------------- | 
|  |  | 
|  | Module for Digigram PCXHR boards | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-portman2x4 | 
|  | --------------------- | 
|  |  | 
|  | Module for Midiman Portman 2x4 parallel port MIDI interface | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-powermac (on ppc only) | 
|  | --------------------------------- | 
|  |  | 
|  | Module for PowerMac, iMac and iBook on-board soundchips | 
|  |  | 
|  | enable_beep | 
|  | enable beep using PCM (enabled as default) | 
|  |  | 
|  | Module supports autoprobe a chip. | 
|  |  | 
|  | Note: the driver may have problems regarding endianness. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-pxa2xx-ac97 (on arm only) | 
|  | ------------------------------------ | 
|  |  | 
|  | Module for AC97 driver for the Intel PXA2xx chip | 
|  |  | 
|  | For ARM architecture only. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-riptide | 
|  | ------------------ | 
|  |  | 
|  | Module for Conexant Riptide chip | 
|  |  | 
|  | joystick_port | 
|  | Joystick port # (default: 0x200) | 
|  | mpu_port | 
|  | MPU401 port # (default: 0x330) | 
|  | opl3_port | 
|  | OPL3 port # (default: 0x388) | 
|  |  | 
|  | This module supports multiple cards. | 
|  | The driver requires the firmware loader support on kernel. | 
|  | You need to install the firmware file ``riptide.hex`` to the standard | 
|  | firmware path (e.g. /lib/firmware). | 
|  |  | 
|  | Module snd-rme32 | 
|  | ---------------- | 
|  |  | 
|  | Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, | 
|  | Prodif96 and Prodif Gold) sound cards. | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-rme96 | 
|  | ---------------- | 
|  |  | 
|  | Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards. | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-rme9652 | 
|  | ------------------ | 
|  |  | 
|  | Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards. | 
|  |  | 
|  | precise_ptr | 
|  | Enable precise pointer (doesn't work reliably). (default = 0) | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Note: snd-page-alloc module does the job which snd-hammerfall-mem | 
|  | module did formerly.  It will allocate the buffers in advance | 
|  | when any RME9652 cards are found.  To make the buffer | 
|  | allocation sure, load snd-page-alloc module in the early | 
|  | stage of boot sequence.  See `Early Buffer Allocation`_ | 
|  | section. | 
|  |  | 
|  | Module snd-sa11xx-uda1341 (on arm only) | 
|  | --------------------------------------- | 
|  |  | 
|  | Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card. | 
|  |  | 
|  | Module supports only one card. | 
|  | Module has no enable and index options. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-sb8 | 
|  | -------------- | 
|  |  | 
|  | Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0, | 
|  | SoundBlaster Pro | 
|  |  | 
|  | port | 
|  | port # for SB DSP chip (0x220,0x240,0x260) | 
|  | irq | 
|  | IRQ # for SB DSP chip (5,7,9,10) | 
|  | dma8 | 
|  | DMA # for SB DSP chip (1,3) | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-sb16 and snd-sbawe | 
|  | ----------------------------- | 
|  |  | 
|  | Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP), | 
|  | SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP | 
|  |  | 
|  | mic_agc | 
|  | Mic Auto-Gain-Control - 0 = disable, 1 = enable (default) | 
|  | csp | 
|  | ASP/CSP chip support - 0 = disable (default), 1 = enable | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with isapnp=0, the following options are available: | 
|  |  | 
|  | port | 
|  | port # for SB DSP 4.x chip (0x220,0x240,0x260) | 
|  | mpu_port | 
|  | port # for MPU-401 UART (0x300,0x330), -1 = disable | 
|  | awe_port | 
|  | base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe | 
|  | module only) | 
|  | irq | 
|  | IRQ # for SB DSP 4.x chip (5,7,9,10) | 
|  | dma8 | 
|  | 8-bit DMA # for SB DSP 4.x chip (0,1,3) | 
|  | dma16 | 
|  | 16-bit DMA # for SB DSP 4.x chip (5,6,7) | 
|  |  | 
|  | This module supports multiple cards, autoprobe and ISA PnP. | 
|  |  | 
|  | Note: To use Vibra16X cards in 16-bit half duplex mode, you must | 
|  | disable 16bit DMA with dma16 = -1 module parameter. | 
|  | Also, all Sound Blaster 16 type cards can operate in 16-bit | 
|  | half duplex mode through 8-bit DMA channel by disabling their | 
|  | 16-bit DMA channel. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-sc6000 | 
|  | ----------------- | 
|  |  | 
|  | Module for Gallant SC-6000 soundcard and later models: SC-6600 and | 
|  | SC-7000. | 
|  |  | 
|  | port | 
|  | Port # (0x220 or 0x240) | 
|  | mss_port | 
|  | MSS Port # (0x530 or 0xe80) | 
|  | irq | 
|  | IRQ # (5,7,9,10,11) | 
|  | mpu_irq | 
|  | MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq | 
|  | dma | 
|  | DMA # (1,3,0) | 
|  | joystick | 
|  | Enable gameport - 0 = disable (default), 1 = enable | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | This card is also known as Audio Excel DSP 16 or Zoltrix AV302. | 
|  |  | 
|  | Module snd-sscape | 
|  | ----------------- | 
|  |  | 
|  | Module for ENSONIQ SoundScape cards. | 
|  |  | 
|  | port | 
|  | Port # (PnP setup) | 
|  | wss_port | 
|  | WSS Port # (PnP setup) | 
|  | irq | 
|  | IRQ # (PnP setup) | 
|  | mpu_irq | 
|  | MPU-401 IRQ # (PnP setup) | 
|  | dma | 
|  | DMA # (PnP setup) | 
|  | dma2 | 
|  | 2nd DMA # (PnP setup, -1 to disable) | 
|  | joystick | 
|  | Enable gameport - 0 = disable (default), 1 = enable | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | The driver requires the firmware loader support on kernel. | 
|  |  | 
|  | Module snd-sun-amd7930 (on sparc only) | 
|  | -------------------------------------- | 
|  |  | 
|  | Module for AMD7930 sound chips found on Sparcs. | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-sun-cs4231 (on sparc only) | 
|  | ------------------------------------- | 
|  |  | 
|  | Module for CS4231 sound chips found on Sparcs. | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-sun-dbri (on sparc only) | 
|  | ----------------------------------- | 
|  |  | 
|  | Module for DBRI sound chips found on Sparcs. | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-wavefront | 
|  | -------------------- | 
|  |  | 
|  | Module for Turtle Beach Maui, Tropez and Tropez+ sound cards. | 
|  |  | 
|  | use_cs4232_midi | 
|  | Use CS4232 MPU-401 interface | 
|  | (inaccessibly located inside your computer) | 
|  | isapnp | 
|  | ISA PnP detection - 0 = disable, 1 = enable (default) | 
|  |  | 
|  | with isapnp=0, the following options are available: | 
|  |  | 
|  | cs4232_pcm_port | 
|  | Port # for CS4232 PCM interface. | 
|  | cs4232_pcm_irq | 
|  | IRQ # for CS4232 PCM interface (5,7,9,11,12,15). | 
|  | cs4232_mpu_port | 
|  | Port # for CS4232 MPU-401 interface. | 
|  | cs4232_mpu_irq | 
|  | IRQ # for CS4232 MPU-401 interface (9,11,12,15). | 
|  | ics2115_port | 
|  | Port # for ICS2115 | 
|  | ics2115_irq | 
|  | IRQ # for ICS2115 | 
|  | fm_port | 
|  | FM OPL-3 Port # | 
|  | dma1 | 
|  | DMA1 # for CS4232 PCM interface. | 
|  | dma2 | 
|  | DMA2 # for CS4232 PCM interface. | 
|  |  | 
|  | The below are options for wavefront_synth features: | 
|  |  | 
|  | wf_raw | 
|  | Assume that we need to boot the OS (default:no); | 
|  | If yes, then during driver loading, the state of the board is | 
|  | ignored, and we reset the board and load the firmware anyway. | 
|  | fx_raw | 
|  | Assume that the FX process needs help (default:yes); | 
|  | If false, we'll leave the FX processor in whatever state it is | 
|  | when the driver is loaded.  The default is to download the | 
|  | microprogram and associated coefficients to set it up for | 
|  | "default" operation, whatever that means. | 
|  | debug_default | 
|  | Debug parameters for card initialization | 
|  | wait_usecs | 
|  | How long to wait without sleeping, usecs (default:150); | 
|  | This magic number seems to give pretty optimal throughput | 
|  | based on my limited experimentation. | 
|  | If you want to play around with it and find a better value, be | 
|  | my guest. Remember, the idea is to get a number that causes us | 
|  | to just busy wait for as many WaveFront commands as possible, | 
|  | without coming up with a number so large that we hog the whole | 
|  | CPU. | 
|  | Specifically, with this number, out of about 134,000 status | 
|  | waits, only about 250 result in a sleep. | 
|  | sleep_interval | 
|  | How long to sleep when waiting for reply (default: 100) | 
|  | sleep_tries | 
|  | How many times to try sleeping during a wait (default: 50) | 
|  | ospath | 
|  | Pathname to processed ICS2115 OS firmware (default:wavefront.os); | 
|  | The path name of the ISC2115 OS firmware.  In the recent | 
|  | version, it's handled via firmware loader framework, so it | 
|  | must be installed in the proper path, typically, | 
|  | /lib/firmware. | 
|  | reset_time | 
|  | How long to wait for a reset to take effect (default:2) | 
|  | ramcheck_time | 
|  | How many seconds to wait for the RAM test (default:20) | 
|  | osrun_time | 
|  | How many seconds to wait for the ICS2115 OS (default:10) | 
|  |  | 
|  | This module supports multiple cards and ISA PnP. | 
|  |  | 
|  | Note: the firmware file ``wavefront.os`` was located in the earlier | 
|  | version in /etc.  Now it's loaded via firmware loader, and | 
|  | must be in the proper firmware path, such as /lib/firmware. | 
|  | Copy (or symlink) the file appropriately if you get an error | 
|  | regarding firmware downloading after upgrading the kernel. | 
|  |  | 
|  | Module snd-sonicvibes | 
|  | --------------------- | 
|  |  | 
|  | Module for S3 SonicVibes PCI sound cards. | 
|  | * PINE Schubert 32 PCI | 
|  |  | 
|  | reverb | 
|  | Reverb Enable - 1 = enable, 0 = disable (default); | 
|  | SoundCard must have onboard SRAM for this. | 
|  | mge | 
|  | Mic Gain Enable - 1 = enable, 0 = disable (default) | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | Module snd-serial-u16550 | 
|  | ------------------------ | 
|  |  | 
|  | Module for UART16550A serial MIDI ports. | 
|  |  | 
|  | port | 
|  | port # for UART16550A chip | 
|  | irq | 
|  | IRQ # for UART16550A chip, -1 = poll mode | 
|  | speed | 
|  | speed in bauds (9600,19200,38400,57600,115200) | 
|  | 38400 = default | 
|  | base | 
|  | base for divisor in bauds (57600,115200,230400,460800) | 
|  | 115200 = default | 
|  | outs | 
|  | number of MIDI ports in a serial port (1-4) | 
|  | 1 = default | 
|  | adaptor | 
|  | Type of adaptor. | 
|  | 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A, | 
|  | 3 = MS-124W M/B, 4 = Generic | 
|  |  | 
|  | This module supports multiple cards. This module does not support autoprobe | 
|  | thus the main port must be specified!!! Other options are optional. | 
|  |  | 
|  | Module snd-trident | 
|  | ------------------ | 
|  |  | 
|  | Module for Trident 4DWave DX/NX sound cards. | 
|  | * Best Union  Miss Melody 4DWave PCI | 
|  | * HIS  4DWave PCI | 
|  | * Warpspeed  ONSpeed 4DWave PCI | 
|  | * AzTech  PCI 64-Q3D | 
|  | * Addonics  SV 750 | 
|  | * CHIC  True Sound 4Dwave | 
|  | * Shark  Predator4D-PCI | 
|  | * Jaton  SonicWave 4D | 
|  | * SiS SI7018 PCI Audio | 
|  | * Hoontech SoundTrack Digital 4DWave NX | 
|  |  | 
|  | pcm_channels | 
|  | max channels (voices) reserved for PCM | 
|  | wavetable_size | 
|  | max wavetable size in kB (4-?kb) | 
|  |  | 
|  | This module supports multiple cards and autoprobe. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-ua101 | 
|  | ---------------- | 
|  |  | 
|  | Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces. | 
|  |  | 
|  | This module supports multiple devices, autoprobe and hotplugging. | 
|  |  | 
|  | Module snd-usb-audio | 
|  | -------------------- | 
|  |  | 
|  | Module for USB audio and USB MIDI devices. | 
|  |  | 
|  | vid | 
|  | Vendor ID for the device (optional) | 
|  | pid | 
|  | Product ID for the device (optional) | 
|  | nrpacks | 
|  | Max. number of packets per URB (default: 8) | 
|  | device_setup | 
|  | Device specific magic number (optional); | 
|  | Influence depends on the device | 
|  | Default: 0x0000 | 
|  | ignore_ctl_error | 
|  | Ignore any USB-controller regarding mixer interface (default: no) | 
|  | autoclock | 
|  | Enable auto-clock selection for UAC2 devices (default: yes) | 
|  | quirk_alias | 
|  | Quirk alias list, pass strings like ``0123abcd:5678beef``, which | 
|  | applies the existing quirk for the device 5678:beef to a new | 
|  | device 0123:abcd. | 
|  | implicit_fb | 
|  | Apply the generic implicit feedback sync mode.  When this is set | 
|  | and the playback stream sync mode is ASYNC, the driver tries to | 
|  | tie an adjacent ASYNC capture stream as the implicit feedback | 
|  | source.  This is equivalent with quirk_flags bit 17. | 
|  | use_vmalloc | 
|  | Use vmalloc() for allocations of the PCM buffers (default: yes). | 
|  | For architectures with non-coherent memory like ARM or MIPS, the | 
|  | mmap access may give inconsistent results with vmalloc'ed | 
|  | buffers.  If mmap is used on such architectures, turn off this | 
|  | option, so that the DMA-coherent buffers are allocated and used | 
|  | instead. | 
|  | delayed_register | 
|  | The option is needed for devices that have multiple streams | 
|  | defined in multiple USB interfaces.  The driver may invoke | 
|  | registrations multiple times (once per interface) and this may | 
|  | lead to the insufficient device enumeration. | 
|  | This option receives an array of strings, and you can pass | 
|  | ID:INTERFACE like ``0123abcd:4`` for performing the delayed | 
|  | registration to the given device.  In this example, when a USB | 
|  | device 0123:abcd is probed, the driver waits the registration | 
|  | until the USB interface 4 gets probed. | 
|  | The driver prints a message like "Found post-registration device | 
|  | assignment: 1234abcd:04" for such a device, so that user can | 
|  | notice the need. | 
|  | quirk_flags | 
|  | Contains the bit flags for various device specific workarounds. | 
|  | Applied to the corresponding card index. | 
|  |  | 
|  | * bit 0: Skip reading sample rate for devices | 
|  | * bit 1: Create Media Controller API entries | 
|  | * bit 2: Allow alignment on audio sub-slot at transfer | 
|  | * bit 3: Add length specifier to transfers | 
|  | * bit 4: Start playback stream at first in implement feedback mode | 
|  | * bit 5: Skip clock selector setup | 
|  | * bit 6: Ignore errors from clock source search | 
|  | * bit 7: Indicates ITF-USB DSD based DACs | 
|  | * bit 8: Add a delay of 20ms at each control message handling | 
|  | * bit 9: Add a delay of 1-2ms at each control message handling | 
|  | * bit 10: Add a delay of 5-6ms at each control message handling | 
|  | * bit 11: Add a delay of 50ms at each interface setup | 
|  | * bit 12: Perform sample rate validations at probe | 
|  | * bit 13: Disable runtime PM autosuspend | 
|  | * bit 14: Ignore errors for mixer access | 
|  | * bit 15: Support generic DSD raw U32_BE format | 
|  | * bit 16: Set up the interface at first like UAC1 | 
|  | * bit 17: Apply the generic implicit feedback sync mode | 
|  | * bit 18: Don't apply implicit feedback sync mode | 
|  |  | 
|  | This module supports multiple devices, autoprobe and hotplugging. | 
|  |  | 
|  | NB: ``nrpacks`` parameter can be modified dynamically via sysfs. | 
|  | Don't put the value over 20.  Changing via sysfs has no sanity | 
|  | check. | 
|  |  | 
|  | NB: ``ignore_ctl_error=1`` may help when you get an error at accessing | 
|  | the mixer element such as URB error -22.  This happens on some | 
|  | buggy USB device or the controller.  This workaround corresponds to | 
|  | the ``quirk_flags`` bit 14, too. | 
|  |  | 
|  | NB: ``quirk_alias`` option is provided only for testing / development. | 
|  | If you want to have a proper support, contact to upstream for | 
|  | adding the matching quirk in the driver code statically. | 
|  | Ditto for ``quirk_flags``.  If a device is known to require specific | 
|  | workarounds, please report to the upstream. | 
|  |  | 
|  | Module snd-usb-caiaq | 
|  | -------------------- | 
|  |  | 
|  | Module for caiaq UB audio interfaces, | 
|  |  | 
|  | * Native Instruments RigKontrol2 | 
|  | * Native Instruments Kore Controller | 
|  | * Native Instruments Audio Kontrol 1 | 
|  | * Native Instruments Audio 8 DJ | 
|  |  | 
|  | This module supports multiple devices, autoprobe and hotplugging. | 
|  |  | 
|  | Module snd-usb-usx2y | 
|  | -------------------- | 
|  |  | 
|  | Module for Tascam USB US-122, US-224 and US-428 devices. | 
|  |  | 
|  | This module supports multiple devices, autoprobe and hotplugging. | 
|  |  | 
|  | Note: you need to load the firmware via ``usx2yloader`` utility included | 
|  | in alsa-tools and alsa-firmware packages. | 
|  |  | 
|  | Module snd-via82xx | 
|  | ------------------ | 
|  |  | 
|  | Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A, | 
|  | 8233C, 8235, 8237 (south) bridge. | 
|  |  | 
|  | mpu_port | 
|  | 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup | 
|  | [VIA686A/686B only] | 
|  | joystick | 
|  | Enable joystick (default off) [VIA686A/686B only] | 
|  | ac97_clock | 
|  | AC'97 codec clock base (default 48000Hz) | 
|  | dxs_support | 
|  | support DXS channels, 0 = auto (default), 1 = enable, 2 = disable, | 
|  | 3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different | 
|  | sample rates on different channels [VIA8233/C, 8235, 8237 only] | 
|  | ac97_quirk | 
|  | AC'97 workaround for strange hardware; | 
|  | See `AC97 Quirk Option`_ section below. | 
|  |  | 
|  | This module supports one chip and autoprobe. | 
|  |  | 
|  | Note: on some SMP motherboards like MSI 694D the interrupts might | 
|  | not be generated properly.  In such a case, please try to | 
|  | set the SMP (or MPS) version on BIOS to 1.1 instead of | 
|  | default value 1.4.  Then the interrupt number will be | 
|  | assigned under 15. You might also upgrade your BIOS. | 
|  |  | 
|  | Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound) | 
|  | channels as the first PCM.  On these channels, up to 4 | 
|  | streams can be played at the same time, and the controller | 
|  | can perform sample rate conversion with separate rates for | 
|  | each channel. | 
|  | As default (``dxs_support = 0``), 48k fixed rate is chosen | 
|  | except for the known devices since the output is often | 
|  | noisy except for 48k on some mother boards due to the | 
|  | bug of BIOS. | 
|  | Please try once ``dxs_support=5`` and if it works on other | 
|  | sample rates (e.g. 44.1kHz of mp3 playback), please let us | 
|  | know the PCI subsystem vendor/device id's (output of | 
|  | ``lspci -nv``). | 
|  | If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it | 
|  | doesn't work too, try dxs_support=1.  (dxs_support=1 is | 
|  | usually for old motherboards.  The correct implemented | 
|  | board should work with 4 or 5.)  If it still doesn't | 
|  | work and the default setting is ok, ``dxs_support=3`` is the | 
|  | right choice.  If the default setting doesn't work at all, | 
|  | try ``dxs_support=2`` to disable the DXS channels. | 
|  | In any cases, please let us know the result and the | 
|  | subsystem vendor/device ids.  See `Links and Addresses`_ | 
|  | below. | 
|  |  | 
|  | Note: for the MPU401 on VIA823x, use snd-mpu401 driver | 
|  | additionally.  The mpu_port option is for VIA686 chips only. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-via82xx-modem | 
|  | ------------------------ | 
|  |  | 
|  | Module for VIA82xx AC97 modem | 
|  |  | 
|  | ac97_clock | 
|  | AC'97 codec clock base (default 48000Hz) | 
|  |  | 
|  | This module supports one card and autoprobe. | 
|  |  | 
|  | Note: The default index value of this module is -2, i.e. the first | 
|  | slot is excluded. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-virmidi | 
|  | ------------------ | 
|  |  | 
|  | Module for virtual rawmidi devices. | 
|  | This module creates virtual rawmidi devices which communicate | 
|  | to the corresponding ALSA sequencer ports. | 
|  |  | 
|  | midi_devs | 
|  | MIDI devices # (1-4, default=4) | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | Module snd-virtuoso | 
|  | ------------------- | 
|  |  | 
|  | Module for sound cards based on the Asus AV66/AV100/AV200 chips, | 
|  | i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe), | 
|  | Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim. | 
|  |  | 
|  | This module supports autoprobe and multiple cards. | 
|  |  | 
|  | Module snd-vx222 | 
|  | ---------------- | 
|  |  | 
|  | Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards. | 
|  |  | 
|  | mic | 
|  | Enable Microphone on V222 Mic (NYI) | 
|  | ibl | 
|  | Capture IBL size. (default = 0, minimum size) | 
|  |  | 
|  | This module supports multiple cards. | 
|  |  | 
|  | When the driver is compiled as a module and the hotplug firmware | 
|  | is supported, the firmware data is loaded via hotplug automatically. | 
|  | Install the necessary firmware files in alsa-firmware package. | 
|  | When no hotplug fw loader is available, you need to load the | 
|  | firmware via vxloader utility in alsa-tools package.  To invoke | 
|  | vxloader automatically, add the following to /etc/modprobe.d/alsa.conf | 
|  |  | 
|  | :: | 
|  |  | 
|  | install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\ | 
|  | && /usr/bin/vxloader | 
|  |  | 
|  | (for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to | 
|  | /etc/modules.conf, instead.) | 
|  | IBL size defines the interrupts period for PCM.  The smaller size | 
|  | gives smaller latency but leads to more CPU consumption, too. | 
|  | The size is usually aligned to 126.  As default (=0), the smallest | 
|  | size is chosen.  The possible IBL values can be found in | 
|  | /proc/asound/cardX/vx-status proc file. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-vxpocket | 
|  | ------------------- | 
|  |  | 
|  | Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards. | 
|  |  | 
|  | ibl | 
|  | Capture IBL size. (default = 0, minimum size) | 
|  |  | 
|  | This module supports multiple cards.  The module is compiled only when | 
|  | PCMCIA is supported on kernel. | 
|  |  | 
|  | With the older 2.6.x kernel, to activate the driver via the card | 
|  | manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the | 
|  | sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no | 
|  | longer require a config file. | 
|  |  | 
|  | When the driver is compiled as a module and the hotplug firmware | 
|  | is supported, the firmware data is loaded via hotplug automatically. | 
|  | Install the necessary firmware files in alsa-firmware package. | 
|  | When no hotplug fw loader is available, you need to load the | 
|  | firmware via vxloader utility in alsa-tools package. | 
|  |  | 
|  | About capture IBL, see the description of snd-vx222 module. | 
|  |  | 
|  | Note: snd-vxp440 driver is merged to snd-vxpocket driver since | 
|  | ALSA 1.0.10. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-ymfpci | 
|  | ----------------- | 
|  |  | 
|  | Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x). | 
|  |  | 
|  | mpu_port | 
|  | 0x300,0x330,0x332,0x334, 0 (disable) by default, | 
|  | 1 (auto-detect for YMF744/754 only) | 
|  | fm_port | 
|  | 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default | 
|  | 1 (auto-detect for YMF744/754 only) | 
|  | joystick_port | 
|  | 0x201,0x202,0x204,0x205, 0 (disable) by default, | 
|  | 1 (auto-detect) | 
|  | rear_switch | 
|  | enable shared rear/line-in switch (bool) | 
|  |  | 
|  | This module supports autoprobe and multiple chips. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  | Module snd-pdaudiocf | 
|  | -------------------- | 
|  |  | 
|  | Module for Sound Core PDAudioCF sound card. | 
|  |  | 
|  | The power-management is supported. | 
|  |  | 
|  |  | 
|  | AC97 Quirk Option | 
|  | ================= | 
|  |  | 
|  | The ac97_quirk option is used to enable/override the workaround for | 
|  | specific devices on drivers for on-board AC'97 controllers like | 
|  | snd-intel8x0.  Some hardware have swapped output pins between Master | 
|  | and Headphone, or Surround (thanks to confusion of AC'97 | 
|  | specifications from version to version :-) | 
|  |  | 
|  | The driver provides the auto-detection of known problematic devices, | 
|  | but some might be unknown or wrongly detected.  In such a case, pass | 
|  | the proper value with this option. | 
|  |  | 
|  | The following strings are accepted: | 
|  |  | 
|  | default | 
|  | Don't override the default setting | 
|  | none | 
|  | Disable the quirk | 
|  | hp_only | 
|  | Bind Master and Headphone controls as a single control | 
|  | swap_hp | 
|  | Swap headphone and master controls | 
|  | swap_surround | 
|  | Swap master and surround controls | 
|  | ad_sharing | 
|  | For AD1985, turn on OMS bit and use headphone | 
|  | alc_jack | 
|  | For ALC65x, turn on the jack sense mode | 
|  | inv_eapd | 
|  | Inverted EAPD implementation | 
|  | mute_led | 
|  | Bind EAPD bit for turning on/off mute LED | 
|  |  | 
|  | For backward compatibility, the corresponding integer value -1, 0, ... | 
|  | are  accepted, too. | 
|  |  | 
|  | For example, if ``Master`` volume control has no effect on your device | 
|  | but only ``Headphone`` does, pass ac97_quirk=hp_only module option. | 
|  |  | 
|  |  | 
|  | Configuring Non-ISAPNP Cards | 
|  | ============================ | 
|  |  | 
|  | When the kernel is configured with ISA-PnP support, the modules | 
|  | supporting the isapnp cards will have module options ``isapnp``. | 
|  | If this option is set, *only* the ISA-PnP devices will be probed. | 
|  | For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option | 
|  | together with the proper i/o and irq configuration. | 
|  |  | 
|  | When the kernel is configured without ISA-PnP support, isapnp option | 
|  | will be not built in. | 
|  |  | 
|  |  | 
|  | Module Autoloading Support | 
|  | ========================== | 
|  |  | 
|  | The ALSA drivers can be loaded automatically on demand by defining | 
|  | module aliases.  The string ``snd-card-%1`` is requested for ALSA native | 
|  | devices where ``%i`` is sound card number from zero to seven. | 
|  |  | 
|  | To auto-load an ALSA driver for OSS services, define the string | 
|  | ``sound-slot-%i`` where ``%i`` means the slot number for OSS, which | 
|  | corresponds to the card index of ALSA.  Usually, define this | 
|  | as the same card module. | 
|  |  | 
|  | An example configuration for a single emu10k1 card is like below: | 
|  | :: | 
|  |  | 
|  | ----- /etc/modprobe.d/alsa.conf | 
|  | alias snd-card-0 snd-emu10k1 | 
|  | alias sound-slot-0 snd-emu10k1 | 
|  | ----- /etc/modprobe.d/alsa.conf | 
|  |  | 
|  | The available number of auto-loaded sound cards depends on the module | 
|  | option ``cards_limit`` of snd module.  As default it's set to 1. | 
|  | To enable the auto-loading of multiple cards, specify the number of | 
|  | sound cards in that option. | 
|  |  | 
|  | When multiple cards are available, it'd better to specify the index | 
|  | number for each card via module option, too, so that the order of | 
|  | cards is kept consistent. | 
|  |  | 
|  | An example configuration for two sound cards is like below: | 
|  | :: | 
|  |  | 
|  | ----- /etc/modprobe.d/alsa.conf | 
|  | # ALSA portion | 
|  | options snd cards_limit=2 | 
|  | alias snd-card-0 snd-interwave | 
|  | alias snd-card-1 snd-ens1371 | 
|  | options snd-interwave index=0 | 
|  | options snd-ens1371 index=1 | 
|  | # OSS/Free portion | 
|  | alias sound-slot-0 snd-interwave | 
|  | alias sound-slot-1 snd-ens1371 | 
|  | ----- /etc/modprobe.d/alsa.conf | 
|  |  | 
|  | In this example, the interwave card is always loaded as the first card | 
|  | (index 0) and ens1371 as the second (index 1). | 
|  |  | 
|  | Alternative (and new) way to fixate the slot assignment is to use | 
|  | ``slots`` option of snd module.  In the case above, specify like the | 
|  | following: | 
|  | :: | 
|  |  | 
|  | options snd slots=snd-interwave,snd-ens1371 | 
|  |  | 
|  | Then, the first slot (#0) is reserved for snd-interwave driver, and | 
|  | the second (#1) for snd-ens1371.  You can omit index option in each | 
|  | driver if slots option is used (although you can still have them at | 
|  | the same time as long as they don't conflict). | 
|  |  | 
|  | The slots option is especially useful for avoiding the possible | 
|  | hot-plugging and the resultant slot conflict.  For example, in the | 
|  | case above again, the first two slots are already reserved.  If any | 
|  | other driver (e.g. snd-usb-audio) is loaded before snd-interwave or | 
|  | snd-ens1371, it will be assigned to the third or later slot. | 
|  |  | 
|  | When a module name is given with '!', the slot will be given for any | 
|  | modules but that name.  For example, ``slots=!snd-pcsp`` will reserve | 
|  | the first slot for any modules but snd-pcsp. | 
|  |  | 
|  |  | 
|  | ALSA PCM devices to OSS devices mapping | 
|  | ======================================= | 
|  | :: | 
|  |  | 
|  | /dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4 | 
|  | /dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3 | 
|  | /dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12 | 
|  | /dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20 | 
|  | /dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19 | 
|  | /dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28 | 
|  | /dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36 | 
|  | /dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39 | 
|  | /dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44 | 
|  |  | 
|  | The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means | 
|  | sound card number and second means device number.  The ALSA devices | 
|  | have either ``c`` or ``p`` suffix indicating the direction, capture and | 
|  | playback, respectively. | 
|  |  | 
|  | Please note that the device mapping above may be varied via the module | 
|  | options of snd-pcm-oss module. | 
|  |  | 
|  |  | 
|  | Proc interfaces (/proc/asound) | 
|  | ============================== | 
|  |  | 
|  | /proc/asound/card#/pcm#[cp]/oss | 
|  | ------------------------------- | 
|  | erase | 
|  | erase all additional information about OSS applications | 
|  |  | 
|  | <app_name> <fragments> <fragment_size> [<options>] | 
|  | <app_name> | 
|  | name of application with (higher priority) or without path | 
|  | <fragments> | 
|  | number of fragments or zero if auto | 
|  | <fragment_size> | 
|  | size of fragment in bytes or zero if auto | 
|  | <options> | 
|  | optional parameters | 
|  |  | 
|  | disable | 
|  | the application tries to open a pcm device for | 
|  | this channel but does not want to use it. | 
|  | (Cause a bug or mmap needs) | 
|  | It's good for Quake etc... | 
|  | direct | 
|  | don't use plugins | 
|  | block | 
|  | force block mode (rvplayer) | 
|  | non-block | 
|  | force non-block mode | 
|  | whole-frag | 
|  | write only whole fragments (optimization affecting | 
|  | playback only) | 
|  | no-silence | 
|  | do not fill silence ahead to avoid clicks | 
|  | buggy-ptr | 
|  | Returns the whitespace blocks in GETOPTR ioctl | 
|  | instead of filled blocks | 
|  |  | 
|  | Example: | 
|  | :: | 
|  |  | 
|  | echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss | 
|  | echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss | 
|  | echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss | 
|  |  | 
|  |  | 
|  | Early Buffer Allocation | 
|  | ======================= | 
|  |  | 
|  | Some drivers (e.g. hdsp) require the large contiguous buffers, and | 
|  | sometimes it's too late to find such spaces when the driver module is | 
|  | actually loaded due to memory fragmentation.  You can pre-allocate the | 
|  | PCM buffers by loading snd-page-alloc module and write commands to its | 
|  | proc file in prior, for example, in the early boot stage like | 
|  | ``/etc/init.d/*.local`` scripts. | 
|  |  | 
|  | Reading the proc file /proc/drivers/snd-page-alloc shows the current | 
|  | usage of page allocation.  In writing, you can send the following | 
|  | commands to the snd-page-alloc driver: | 
|  |  | 
|  | * add VENDOR DEVICE MASK SIZE BUFFERS | 
|  |  | 
|  | VENDOR and DEVICE are PCI vendor and device IDs.  They take | 
|  | integer numbers (0x prefix is needed for the hex). | 
|  | MASK is the PCI DMA mask.  Pass 0 if not restricted. | 
|  | SIZE is the size of each buffer to allocate.  You can pass | 
|  | k and m suffix for KB and MB.  The max number is 16MB. | 
|  | BUFFERS is the number of buffers to allocate.  It must be greater | 
|  | than 0.  The max number is 4. | 
|  |  | 
|  | * erase | 
|  |  | 
|  | This will erase the all pre-allocated buffers which are not in | 
|  | use. | 
|  |  | 
|  |  | 
|  | Links and Addresses | 
|  | =================== | 
|  |  | 
|  | ALSA project homepage | 
|  | http://www.alsa-project.org | 
|  | Kernel Bugzilla | 
|  | http://bugzilla.kernel.org/ | 
|  | ALSA Developers ML | 
|  | mailto:alsa-devel@alsa-project.org | 
|  | alsa-info.sh script | 
|  | https://www.alsa-project.org/alsa-info.sh |