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