|  | 
 | 		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. | 
 |  | 
 |  | 
 | Creating ALSA devices | 
 | ===================== | 
 |  | 
 | This depends on your distribution, but normally you use the /dev/MAKEDEV | 
 | script to create the necessary device nodes.  On some systems you use a | 
 | script named 'snddevices'. | 
 |  | 
 |  | 
 | 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. | 
 |  | 
 | Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | 
 |  | 
 |   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. | 
 |  | 
 |    | 
 |   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 2st 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 2st OSS device. | 
 | 		- Default: 1 | 
 |  | 
 |   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 | 
 |  | 
 |   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. | 
 |  | 
 |     port	- port # for AD1816A chip (PnP setup) | 
 |     mpu_port	- port # for MPU-401 UART (PnP setup) | 
 |     fm_port	- port # for OPL3 (PnP setup) | 
 |     irq		- IRQ # for AD1816A chip (PnP setup) | 
 |     mpu_irq	- IRQ # for MPU-401 UART (PnP setup) | 
 |     dma1	- first DMA # for AD1816A chip (PnP setup) | 
 |     dma2	- second DMA # for AD1816A chip (PnP setup) | 
 |     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. | 
 |  | 
 |     port	- port # for ALS100 (SB16) chip (PnP setup) | 
 |     irq		- IRQ # for ALS100 (SB16) chip (PnP setup) | 
 |     dma8	- 8-bit DMA # for ALS100 (SB16) chip (PnP setup) | 
 |     dma16	- 16-bit DMA # for ALS100 (SB16) chip (PnP setup) | 
 |     mpu_port	- port # for MPU-401 UART (PnP setup) | 
 |     mpu_irq	- IRQ # for MPU-401 (PnP setup) | 
 |     fm_port	- port # for OPL3 FM (PnP setup) | 
 |      | 
 |     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-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 | 
 |     http://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-azt2320 | 
 |   ------------------ | 
 |  | 
 |     Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only). | 
 |  | 
 |     port	- port # for AZT2320 chip (PnP setup) | 
 |     wss_port	- port # for WSS (PnP setup) | 
 |     mpu_port	- port # for MPU-401 UART (PnP setup) | 
 |     fm_port	- FM port # for AZT2320 chip (PnP setup) | 
 |     irq		- IRQ # for AZT2320 (WSS) chip (PnP setup) | 
 |     mpu_irq	- IRQ # for MPU-401 UART (PnP setup) | 
 |     dma1	- 1st DMA # for AZT2320 (WSS) chip (PnP setup) | 
 |     dma2	- 2nd DMA # for AZT2320 (WSS) chip (PnP setup) | 
 |      | 
 |     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. | 
 |  | 
 |     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) | 
 |  | 
 |     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, | 
 | 		  0 = disable (default) | 
 |     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-cs4232 | 
 |   ----------------- | 
 |  | 
 |     Module for sound cards based on CS4232/CS4232A ISA chips. | 
 |  | 
 |     port	- port # for CS4232 chip (PnP setup - 0x534) | 
 |     cport	- control port # for CS4232 chip (PnP setup - 0x120,0x210,0xf00) | 
 |     mpu_port	- port # for MPU-401 UART (PnP setup - 0x300), -1 = disable | 
 |     fm_port	- FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable | 
 |     irq		- IRQ # for CS4232 chip (5,7,9,11,12,15) | 
 |     mpu_irq	- IRQ # for MPU-401 UART (9,11,12,15) | 
 |     dma1	- first DMA # for CS4232 chip (0,1,3) | 
 |     dma2	- second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable | 
 |     isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default) | 
 |      | 
 |     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 CS4235/CS4236/CS4236B/CS4237B/ | 
 |                                    CS4238B/CS4239 ISA chips. | 
 |  | 
 |     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 | 
 |     isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default) | 
 |      | 
 |     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. | 
 |  | 
 |   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-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) | 
 |  | 
 |     port	- Port # (PnP setup) | 
 |     mpu_port	- Port # for MPU-401 (PnP setup) | 
 |     fm_port	- Port # for FM OPL-3 (PnP setup) | 
 |     irq		- IRQ # (PnP setup) | 
 |     mpu_irq	- IRQ # for MPU-401 (PnP setup) | 
 |     dma8	- DMA # (PnP setup) | 
 |  | 
 |     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). | 
 |  | 
 |     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 | 
 | 			* Emu APS (partially supported) | 
 | 			* Sound Blaster Audigy | 
 |  | 
 |     extin   - bitmap of available external inputs for FX8010 (see bellow) | 
 |     extout  - bitmap of available external outputs for FX8010 (see bellow) | 
 |     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-es968 | 
 |   ---------------- | 
 |  | 
 |     Module for sound cards based on ESS ES968 chip (PnP only). | 
 |  | 
 |     port	- port # for ES968 (SB8) chip (PnP setup) | 
 |     irq		- IRQ # for ES968 (SB8) chip (PnP setup) | 
 |     dma1	- DMA # for ES968 (SB8) chip (PnP setup) | 
 |      | 
 |     This module supports multiple cards, PnP and autoprobe. | 
 |      | 
 |     The power-management is supported. | 
 |  | 
 |   Module snd-es1688 | 
 |   ----------------- | 
 |  | 
 |     Module for ESS AudioDrive ES-1688 and ES-688 sound cards. | 
 |  | 
 |     port	- port # for ES-1688 chip (0x220,0x240,0x260) | 
 |     mpu_port	- port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default) | 
 |     irq		- IRQ # for ES-1688 chip (5,7,9,10) | 
 |     mpu_irq	- IRQ # for MPU-401 port (5,7,9,10) | 
 |     dma8	- DMA # for ES-1688 chip (0,1,3) | 
 |  | 
 |     This module supports multiple cards and autoprobe (without MPU-401 port). | 
 |  | 
 |   Module snd-es18xx | 
 |   ----------------- | 
 |  | 
 |     Module for ESS AudioDrive ES-18xx sound cards. | 
 |  | 
 |     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) | 
 |     isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default) | 
 |  | 
 |     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), | 
 | 		ATI SB450, SB600, RS600, | 
 | 		VIA VT8251/VT8237A, | 
 | 		SIS966, ULI M5461 | 
 |  | 
 |     model	- force the model name | 
 |     position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size) | 
 |     probe_mask  - Bitmask to probe codecs (default = -1, meaning all slots) | 
 |     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 timtout (in second, 0 = | 
 | 		disable) | 
 |     power_save_controller - Reset HD-audio controller in power-saving mode | 
 | 		(default = on) | 
 |  | 
 |     This module supports one card and autoprobe. | 
 |  | 
 |     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. | 
 |  | 
 | 	  Model name	Description | 
 | 	  ----------    ----------- | 
 | 	ALC880 | 
 | 	  3stack	3-jack in back and a headphone out | 
 | 	  3stack-digout	3-jack in back, a HP out and a SPDIF out | 
 | 	  5stack	5-jack in back, 2-jack in front | 
 | 	  5stack-digout	5-jack in back, 2-jack in front, a SPDIF out | 
 | 	  6stack	6-jack in back, 2-jack in front | 
 | 	  6stack-digout	6-jack with a SPDIF out | 
 | 	  w810		3-jack | 
 | 	  z71v		3-jack (HP shared SPDIF) | 
 | 	  asus		3-jack (ASUS Mobo) | 
 | 	  asus-w1v	ASUS W1V | 
 | 	  asus-dig	ASUS with SPDIF out | 
 | 	  asus-dig2	ASUS with SPDIF out (using GPIO2) | 
 | 	  uniwill	3-jack | 
 | 	  fujitsu	Fujitsu Laptops (Pi1536) | 
 | 	  F1734		2-jack | 
 | 	  lg		LG laptop (m1 express dual) | 
 | 	  lg-lw		LG LW20/LW25 laptop | 
 | 	  tcl		TCL S700 | 
 | 	  clevo		Clevo laptops (m520G, m665n) | 
 | 	  test		for testing/debugging purpose, almost all controls can be | 
 | 			adjusted.  Appearing only when compiled with | 
 | 			$CONFIG_SND_DEBUG=y | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	ALC260 | 
 | 	  hp		HP machines | 
 | 	  hp-3013	HP machines (3013-variant) | 
 | 	  fujitsu	Fujitsu S7020 | 
 | 	  acer		Acer TravelMate | 
 | 	  will		Will laptops (PB V7900) | 
 | 	  replacer	Replacer 672V | 
 | 	  basic		fixed pin assignment (old default model) | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	ALC262 | 
 | 	  fujitsu	Fujitsu Laptop | 
 | 	  hp-bpc	HP xw4400/6400/8400/9400 laptops | 
 | 	  hp-bpc-d7000	HP BPC D7000 | 
 | 	  benq		Benq ED8 | 
 | 	  benq-t31	Benq T31 | 
 | 	  hippo		Hippo (ATI) with jack detection, Sony UX-90s | 
 | 	  hippo_1	Hippo (Benq) with jack detection | 
 | 	  sony-assamd	Sony ASSAMD | 
 | 	  basic		fixed pin assignment w/o SPDIF | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	ALC268 | 
 | 	  3stack	3-stack model | 
 | 	  toshiba	Toshiba A205 | 
 | 	  acer		Acer laptops | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	ALC662 | 
 | 	  3stack-dig	3-stack (2-channel) with SPDIF | 
 | 	  3stack-6ch	 3-stack (6-channel) | 
 | 	  3stack-6ch-dig 3-stack (6-channel) with SPDIF | 
 | 	  6stack-dig	 6-stack with SPDIF | 
 | 	  lenovo-101e	 Lenovo laptop | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	ALC882/885 | 
 | 	  3stack-dig	3-jack with SPDIF I/O | 
 | 	  6stack-dig	6-jack digital with SPDIF I/O | 
 | 	  arima		Arima W820Di1 | 
 | 	  targa		Targa T8, MSI-1049 T8 | 
 | 	  asus-a7j	ASUS A7J | 
 | 	  asus-a7m	ASUS A7M | 
 | 	  macpro	MacPro support | 
 | 	  mbp3		Macbook Pro rev3 | 
 | 	  imac24	iMac 24'' with jack detection | 
 | 	  w2jc		ASUS W2JC | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	ALC883/888 | 
 | 	  3stack-dig	3-jack with SPDIF I/O | 
 | 	  6stack-dig	6-jack digital with SPDIF I/O | 
 | 	  3stack-6ch    3-jack 6-channel | 
 | 	  3stack-6ch-dig 3-jack 6-channel with SPDIF I/O | 
 | 	  6stack-dig-demo  6-jack digital for Intel demo board | 
 | 	  acer		Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc) | 
 | 	  acer-aspire	Acer Aspire 9810 | 
 | 	  medion	Medion Laptops | 
 | 	  medion-md2	Medion MD2 | 
 | 	  targa-dig	Targa/MSI | 
 | 	  targa-2ch-dig	Targs/MSI with 2-channel | 
 | 	  laptop-eapd   3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE) | 
 | 	  lenovo-101e	Lenovo 101E | 
 | 	  lenovo-nb0763	Lenovo NB0763 | 
 | 	  lenovo-ms7195-dig Lenovo MS7195 | 
 | 	  haier-w66	Haier W66 | 
 | 	  6stack-hp	HP machines with 6stack (Nettle boards) | 
 | 	  3stack-hp	HP machines with 3stack (Lucknow, Samba boards) | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	ALC861/660 | 
 | 	  3stack	3-jack | 
 | 	  3stack-dig	3-jack with SPDIF I/O | 
 | 	  6stack-dig	6-jack with SPDIF I/O | 
 | 	  3stack-660	3-jack (for ALC660) | 
 | 	  uniwill-m31	Uniwill M31 laptop | 
 | 	  toshiba	Toshiba laptop support | 
 | 	  asus		Asus laptop support | 
 | 	  asus-laptop	ASUS F2/F3 laptops | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	ALC861VD/660VD | 
 | 	  3stack	3-jack | 
 | 	  3stack-dig	3-jack with SPDIF OUT | 
 | 	  6stack-dig	6-jack with SPDIF OUT | 
 | 	  3stack-660	3-jack (for ALC660VD) | 
 | 	  3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD) | 
 | 	  lenovo	Lenovo 3000 C200 | 
 | 	  dallas	Dallas laptops | 
 | 	  hp		HP TX1000 | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	CMI9880 | 
 | 	  minimal	3-jack in back | 
 | 	  min_fp	3-jack in back, 2-jack in front | 
 | 	  full		6-jack in back, 2-jack in front | 
 | 	  full_dig	6-jack in back, 2-jack in front, SPDIF I/O | 
 | 	  allout	5-jack in back, 2-jack in front, SPDIF out | 
 | 	  auto		auto-config reading BIOS (default) | 
 |  | 
 | 	AD1882 | 
 | 	  3stack	3-stack mode (default) | 
 | 	  6stack	6-stack mode | 
 |  | 
 | 	AD1884 | 
 | 	  N/A | 
 |  | 
 | 	AD1981 | 
 | 	  basic		3-jack (default) | 
 | 	  hp		HP nx6320 | 
 | 	  thinkpad	Lenovo Thinkpad T60/X60/Z60 | 
 | 	  toshiba	Toshiba U205 | 
 |  | 
 | 	AD1983 | 
 | 	  N/A | 
 |  | 
 | 	AD1984 | 
 | 	  basic		default configuration | 
 | 	  thinkpad	Lenovo Thinkpad T61/X61 | 
 |  | 
 | 	AD1986A | 
 | 	  6stack	6-jack, separate surrounds (default) | 
 | 	  3stack	3-stack, shared surrounds | 
 | 	  laptop	2-channel only (FSC V2060, Samsung M50) | 
 | 	  laptop-eapd	2-channel with EAPD (Samsung R65, ASUS A6J) | 
 | 	  laptop-automute 2-channel with EAPD and HP-automute (Lenovo N100) | 
 | 	  ultra		2-channel with EAPD (Samsung Ultra tablet PC) | 
 |  | 
 | 	AD1988 | 
 | 	  6stack	6-jack | 
 | 	  6stack-dig	ditto with SPDIF | 
 | 	  3stack	3-jack | 
 | 	  3stack-dig	ditto with SPDIF | 
 | 	  laptop	3-jack with hp-jack automute | 
 | 	  laptop-dig	ditto with SPDIF | 
 | 	  auto		auto-config reading BIOS (default) | 
 | 	 | 
 | 	Conexant 5045 | 
 | 	  laptop	Laptop config  | 
 | 	  test		for testing/debugging purpose, almost all controls | 
 | 			can be adjusted.  Appearing only when compiled with | 
 | 			$CONFIG_SND_DEBUG=y | 
 |  | 
 | 	Conexant 5047 | 
 | 	  laptop	Basic Laptop config  | 
 | 	  laptop-hp	Laptop config for some HP models (subdevice 30A5) | 
 | 	  laptop-eapd	Laptop config with EAPD support | 
 | 	  test		for testing/debugging purpose, almost all controls | 
 | 			can be adjusted.  Appearing only when compiled with | 
 | 			$CONFIG_SND_DEBUG=y | 
 |  | 
 | 	STAC9200 | 
 | 	  ref		Reference board | 
 | 	  dell-d21	Dell (unknown) | 
 | 	  dell-d22	Dell (unknown) | 
 | 	  dell-d23	Dell (unknown) | 
 | 	  dell-m21	Dell Inspiron 630m, Dell Inspiron 640m | 
 | 	  dell-m22	Dell Latitude D620, Dell Latitude D820 | 
 | 	  dell-m23	Dell XPS M1710, Dell Precision M90 | 
 | 	  dell-m24	Dell Latitude 120L | 
 | 	  dell-m25	Dell Inspiron E1505n | 
 | 	  dell-m26	Dell Inspiron 1501 | 
 | 	  dell-m27	Dell Inspiron E1705/9400 | 
 | 	  gateway	Gateway laptops with EAPD control | 
 |  | 
 | 	STAC9205/9254 | 
 | 	  ref		Reference board | 
 | 	  dell-m42	Dell (unknown) | 
 | 	  dell-m43	Dell Precision | 
 | 	  dell-m44	Dell Inspiron | 
 |  | 
 | 	STAC9220/9221 | 
 | 	  ref		Reference board | 
 | 	  3stack	D945 3stack | 
 | 	  5stack	D945 5stack + SPDIF | 
 | 	  intel-mac-v1	Intel Mac Type 1 | 
 | 	  intel-mac-v2	Intel Mac Type 2 | 
 | 	  intel-mac-v3	Intel Mac Type 3 | 
 | 	  intel-mac-v4	Intel Mac Type 4 | 
 | 	  intel-mac-v5	Intel Mac Type 5 | 
 | 	  macmini	Intel Mac Mini (equivalent with type 3) | 
 | 	  macbook	Intel Mac Book (eq. type 5) | 
 | 	  macbook-pro-v1 Intel Mac Book Pro 1st generation (eq. type 3) | 
 | 	  macbook-pro	Intel Mac Book Pro 2nd generation (eq. type 3) | 
 | 	  imac-intel	Intel iMac (eq. type 2) | 
 | 	  imac-intel-20	Intel iMac (newer version) (eq. type 3) | 
 | 	  dell-d81	Dell (unknown) | 
 | 	  dell-d82	Dell (unknown) | 
 | 	  dell-m81	Dell (unknown) | 
 | 	  dell-m82	Dell XPS M1210 | 
 |  | 
 | 	STAC9202/9250/9251 | 
 | 	  ref		Reference board, base config | 
 | 	  m2-2		Some Gateway MX series laptops | 
 | 	  m6		Some Gateway NX series laptops | 
 | 	  pa6		Gateway NX860 series | 
 |  | 
 | 	STAC9227/9228/9229/927x | 
 | 	  ref		Reference board | 
 | 	  3stack	D965 3stack | 
 | 	  5stack	D965 5stack + SPDIF | 
 | 	  dell-3stack	Dell Dimension E520 | 
 |  | 
 | 	STAC9872 | 
 | 	  vaio		Setup for VAIO FE550G/SZ110 | 
 | 	  vaio-ar Setup for VAIO AR | 
 |  | 
 |     The model name "genric" 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. | 
 |  | 
 |     If the default configuration doesn't work and one of the above | 
 |     matches with your device, report it together with the PCI | 
 |     subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel | 
 |     ML (see the section "Links and Addresses"). | 
 |  | 
 |     power_save and power_save_controller options are for power-saving | 
 |     mode.  See powersave.txt 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_LPLIB register is more accurate than the | 
 | 	    position buffer.) | 
 |  | 
 |     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 hardwares, 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_DETECT, 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.txt 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 | 
 |  | 
 |     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 | 
 |     serie). | 
 |  | 
 |     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.1LT | 
 | 			* AudioTrak Prodigy 192 | 
 | 			* Pontis MS300 | 
 | 			* Albatron K8X800 Pro II  | 
 | 			* Chaintech ZNF3-150 | 
 | 			* Chaintech ZNF3-250 | 
 | 			* Chaintech 9CJS | 
 | 			* Chaintech AV-710 | 
 | 			* Shuttle SN25P | 
 |  | 
 |     model       - Use the given board model, one of the following: | 
 | 		  revo51, revo71, amp2000, prodigy71, prodigy71lt, | 
 | 		  prodigy192, aureon51, aureon71, universe, ap192, | 
 | 		  k8x800, phase22, phase28, ms300, av710 | 
 |  | 
 |     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, 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 hardwares 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. | 
 |    | 
 |     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) | 
 |     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 | 
 |  | 
 |     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. | 
 |    | 
 |     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) | 
 |     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 | 
 |  | 
 |     This module supports multiple cards, autoprobe and ISA PnP. | 
 |  | 
 |   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-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 MIXART.txt 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-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. | 
 |  | 
 |     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 | 
 |     isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default) | 
 |      | 
 |     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. | 
 |      | 
 |     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. | 
 |      | 
 |     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. | 
 |      | 
 |     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-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 endianess. | 
 |  | 
 |     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 | 
 |  | 
 |     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) | 
 |     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) | 
 |      | 
 |     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. | 
 |  | 
 |     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) | 
 |  | 
 |     This module supports multiple cards. | 
 |  | 
 |     This card is also known as Audio Excel DSP 16 or Zoltrix AV302. | 
 |  | 
 |   Module snd-sgalaxy | 
 |   ------------------ | 
 |  | 
 |     Module for Aztech Sound Galaxy sound card. | 
 |  | 
 |     sbport	- Port # for SB16 interface (0x220,0x240) | 
 |     wssport	- Port # for WSS interface (0x530,0xe80,0xf40,0x604) | 
 |     irq		- IRQ # (7,9,10,11) | 
 |     dma1	- DMA # | 
 |  | 
 |     This module supports multiple cards. | 
 |  | 
 |     The power-management is supported. | 
 |  | 
 |   Module snd-sscape | 
 |   ----------------- | 
 |  | 
 |     Module for ENSONIQ SoundScape PnP 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) | 
 |  | 
 |     This module supports multiple cards.  ISA PnP must be enabled. | 
 |     You need sscape_ctl tool in alsa-tools package for loading | 
 |     the microcode. | 
 |  | 
 |   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. | 
 |  | 
 |     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). | 
 |     use_cs4232_midi - Use CS4232 MPU-401 interface | 
 |                       (inaccessibly located inside your computer) | 
 |     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. | 
 |     isapnp          - ISA PnP detection - 0 = disable, 1 = enable (default) | 
 |  | 
 |     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 | 
 |  | 
 |     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-usb-audio | 
 |   -------------------- | 
 |  | 
 |     Module for USB audio and USB MIDI devices. | 
 |  | 
 |     vid             - Vendor ID for the device (optional) | 
 |     pid             - Product ID for the device (optional) | 
 |     device_setup    - Device specific magic number (optional) | 
 |                     - Influence depends on the device | 
 |                     - Default: 0x0000  | 
 |  | 
 |     This module supports multiple devices, autoprobe and hotplugging. | 
 |  | 
 |   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-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.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.conf | 
 | alias snd-card-0 snd-emu10k1 | 
 | alias sound-slot-0 snd-emu10k1 | 
 | ----- /etc/modprobe.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.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.conf | 
 |  | 
 | In this example, the interwave card is always loaded as the first card | 
 | (index 0) and ens1371 as the second (index 1). | 
 |  | 
 |  | 
 | 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 | 
 | ------------------------------- | 
 |   String "erase" - erase all additional informations about OSS applications | 
 |   String "<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 | 
 |  | 
 |   ALSA Bug Tracking System | 
 |        https://bugtrack.alsa-project.org/bugs/ | 
 |  | 
 |   ALSA Developers ML | 
 |        mailto:alsa-devel@alsa-project.org |