| |
| 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. |
| slots - Reserve the slot index for the given driver. |
| This option takes multiple strings. |
| See "Module Autoloading Support" section for details. |
| |
| 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. |
| |
| 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-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-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, |
| 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-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-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). |
| |
| 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). |
| |
| 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) |
| fm_port - port # for OPL3 (option; share the same port as default) |
| 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. |
| |
| 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 (0 = auto, 1 = use LPIB, 2 = POSBUF) |
| 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. |
| |
| [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 timtout (in second, 0 = |
| disable) |
| power_save_controller - Reset HD-audio controller in power-saving mode |
| (default = on) |
| |
| This module supports multiple cards and autoprobe. |
| |
| See Documentation/sound/alsa/HD-Audio.txt 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.txt |
| |
| 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 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.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_LPIB 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_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.txt for details. |
| |
| Module snd-hifier |
| ----------------- |
| |
| Module for the MediaTek/TempoTec HiFier Fantasia sound card. |
| |
| This module supports autoprobe and multiple cards. |
| |
| 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 |
| 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.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@ |
| * 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 |
| |
| 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 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. |
| |
| 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-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-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/oss/MultiSound 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 |
| http://www.turtlebeach.com/site/kb_ftp/790.asp |
| |
| 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 CMI8788 chip: |
| * Asound A-8788 |
| * AuzenTech X-Meridian |
| * Bgears b-Enspirer |
| * Club3D Theatron DTS |
| * HT-Omega Claro (plus) |
| * HT-Omega Claro halo (XT) |
| * Razer Barracuda AC-1 |
| * Sondigo Inferno |
| |
| This module supports autoprobe and multiple cards. |
| |
| Module snd-pcsp |
| ----------------- |
| |
| Module for internal PC-Speaker. |
| |
| 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 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 |
| |
| 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. |
| |
| 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. |
| |
| 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-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) |
| async_unlink - Use async unlink mode (default: yes) |
| 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) |
| |
| 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: async_unlink=0 would cause Oops. It remains just for |
| debugging purpose (if any). |
| 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. |
| |
| 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 AV100/AV200 chips, |
| i.e., Xonar D1, DX, D2, D2X, HDAV1.3 (Deluxe), and Essence STX. |
| |
| 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.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). |
| |
| 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 |
| ------------------------------- |
| 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 |
| |
| Kernel Bugzilla |
| http://bugzilla.kernel.org/ |
| |
| ALSA Developers ML |
| mailto:alsa-devel@alsa-project.org |
| |
| alsa-info.sh script |
| http://www.alsa-project.org/alsa-info.sh |