brintos

brintos / linux-shallow public Read only

0
0
Text · 78.7 KiB · 0425447 Raw
2770 lines · plain
1==============================================================2Advanced Linux Sound Architecture - Driver Configuration guide3==============================================================4 5 6Kernel Configuration7====================8 9To enable ALSA support you need at least to build the kernel with10primary sound card support (``CONFIG_SOUND``).  Since ALSA can emulate11OSS, you don't have to choose any of the OSS modules.12 13Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer14and PCM supports if you want to run OSS applications with ALSA.15 16If you want to support the WaveTable functionality on cards such as17SB Live! then you need to enable "Sequencer support"18(``CONFIG_SND_SEQUENCER``).19 20To make ALSA debug messages more verbose, enable the "Verbose printk"21and "Debug" options.  To check for memory leaks, turn on "Debug memory"22too.  "Debug detection" will add checks for the detection of cards.23 24Please note that all the ALSA ISA drivers support the Linux isapnp API25(if the card supports ISA PnP).  You don't need to configure the cards26using isapnptools.27 28 29Module parameters30=================31 32The user can load modules with options. If the module supports more than33one card and you have more than one card of the same type then you can34specify multiple values for the option separated by commas.35 36 37Module snd38----------39 40The core ALSA module.  It is used by all ALSA card drivers.41It takes the following options which have global effects.42 43major44    major number for sound driver;45    Default: 11646cards_limit47    limiting card index for auto-loading (1-8);48    Default: 1;49    For auto-loading more than one card, specify this option50    together with snd-card-X aliases.51slots52    Reserve the slot index for the given driver;53    This option takes multiple strings.54    See `Module Autoloading Support`_ section for details.55debug56    Specifies the debug message level;57    (0 = disable debug prints, 1 = normal debug messages,58    2 = verbose debug messages);59    This option appears only when ``CONFIG_SND_DEBUG=y``.60    This option can be dynamically changed via sysfs61    /sys/modules/snd/parameters/debug file.62  63Module snd-pcm-oss64------------------65 66The PCM OSS emulation module.67This module takes options which change the mapping of devices.68 69dsp_map70    PCM device number maps assigned to the 1st OSS device;71    Default: 072adsp_map73    PCM device number maps assigned to the 2nd OSS device;74    Default: 175nonblock_open76    Don't block opening busy PCM devices;77    Default: 178 79For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of80the card #0.  Similarly, when ``adsp_map=0``, /dev/adsp will be mapped81to PCM #0 of the card #0.82For changing the second or later card, specify the option with83commas, such like ``dsp_map=0,1``.84 85``nonblock_open`` option is used to change the behavior of the PCM86regarding opening the device.  When this option is non-zero,87opening a busy OSS PCM device won't be blocked but return88immediately with EAGAIN (just like O_NONBLOCK flag).89    90Module snd-rawmidi91------------------92 93This module takes options which change the mapping of devices.94similar to those of the snd-pcm-oss module.95 96midi_map97    MIDI device number maps assigned to the 1st OSS device;98    Default: 099amidi_map100    MIDI device number maps assigned to the 2nd OSS device;101    Default: 1102 103Module snd-soc-core104-------------------105 106The soc core module. It is used by all ALSA card drivers.107It takes the following options which have global effects.108 109prealloc_buffer_size_kbytes110    Specify prealloc buffer size in kbytes (default: 512).111 112Common parameters for top sound card modules113--------------------------------------------114 115Each of top level sound card module takes the following options.116 117index118    index (slot #) of sound card;119    Values: 0 through 31 or negative;120    If nonnegative, assign that index number;121    if negative, interpret as a bitmask of permissible indices;122    the first free permitted index is assigned;123    Default: -1124id125    card ID (identifier or name);126    Can be up to 15 characters long;127    Default: the card type;128    A directory by this name is created under /proc/asound/129    containing information about the card;130    This ID can be used instead of the index number in131    identifying the card132enable133    enable card;134    Default: enabled, for PCI and ISA PnP cards135 136These options are used for either specifying the order of instances or137controlling enabling and disabling of each one of the devices if there138are multiple devices bound with the same driver. For example, there are139many machines which have two HD-audio controllers (one for HDMI/DP140audio and another for onboard analog). In most cases, the second one is141in primary usage, and people would like to assign it as the first142appearing card. They can do it by specifying "index=1,0" module143parameter, which will swap the assignment slots.144 145Today, with the sound backend like PulseAudio and PipeWire which146supports dynamic configuration, it's of little use, but that was a147help for static configuration in the past.148 149Module snd-adlib150----------------151 152Module for AdLib FM cards.153 154port155    port # for OPL chip156 157This module supports multiple cards. It does not support autoprobe, so158the port must be specified. For actual AdLib FM cards it will be 0x388.159Note that this card does not have PCM support and no mixer; only FM160synthesis.161 162Make sure you have ``sbiload`` from the alsa-tools package available and,163after loading the module, find out the assigned ALSA sequencer port164number through ``sbiload -l``.165 166Example output:167::168 169      Port     Client name                       Port name170      64:0     OPL2 FM synth                     OPL2 FM Port171 172Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``:173::174 175      sbiload -p 64:0 std.sb drums.sb176 177If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3``178instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils:179::180 181      aplaymidi -p 64:0 foo.mid182 183Module snd-ad1816a184------------------185 186Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.187 188clockfreq189    Clock frequency for AD1816A chip (default = 0, 33000Hz)190    191This module supports multiple cards, autoprobe and PnP.192    193Module snd-ad1848194-----------------195 196Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.197 198port199    port # for AD1848 chip200irq201    IRQ # for AD1848  chip202dma1203    DMA # for AD1848 chip (0,1,3)204    205This module supports multiple cards.  It does not support autoprobe206thus main port must be specified!!! Other ports are optional.207    208The power-management is supported.209 210Module snd-ad1889211-----------------212 213Module for Analog Devices AD1889 chips.214 215ac97_quirk216    AC'97 workaround for strange hardware;217    See the description of intel8x0 module for details.218 219This module supports multiple cards.220 221Module snd-ali5451222------------------223 224Module for ALi M5451 PCI chip.225 226pcm_channels227    Number of hardware channels assigned for PCM228spdif229    Support SPDIF I/O;230    Default: disabled231 232This module supports one chip and autoprobe.233 234The power-management is supported.235 236Module snd-als100237-----------------238 239Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.240 241This module supports multiple cards, autoprobe and PnP.242 243The power-management is supported.244 245Module snd-als300246-----------------247 248Module for Avance Logic ALS300 and ALS300+249 250This module supports multiple cards.251 252The power-management is supported.253 254Module snd-als4000255------------------256 257Module for sound cards based on Avance Logic ALS4000 PCI chip.258 259joystick_port260    port # for legacy joystick support;261    0 = disabled (default), 1 = auto-detect262    263This module supports multiple cards, autoprobe and PnP.264 265The power-management is supported.266 267Module snd-asihpi268-----------------269 270Module for AudioScience ASI soundcards271 272enable_hpi_hwdep273    enable HPI hwdep for AudioScience soundcard274 275This module supports multiple cards.276The driver requires the firmware loader support on kernel.277 278Module snd-atiixp279-----------------280 281Module for ATI IXP 150/200/250/400 AC97 controllers.282 283ac97_clock284    AC'97 clock (default = 48000)285ac97_quirk286    AC'97 workaround for strange hardware;287    See `AC97 Quirk Option`_ section below.288ac97_codec289    Workaround to specify which AC'97 codec instead of probing.290    If this works for you file a bug with your `lspci -vn` output.291    (-2 = Force probing, -1 = Default behavior, 0-2 = Use the292    specified codec.)293spdif_aclink294    S/PDIF transfer over AC-link (default = 1)295 296This module supports one card and autoprobe.297 298ATI IXP has two different methods to control SPDIF output.  One is299over AC-link and another is over the "direct" SPDIF output.  The300implementation depends on the motherboard, and you'll need to301choose the correct one via spdif_aclink module option.302 303The power-management is supported.304 305Module snd-atiixp-modem306-----------------------307 308Module for ATI IXP 150/200/250 AC97 modem controllers.309 310This module supports one card and autoprobe.311 312Note: The default index value of this module is -2, i.e. the first313slot is excluded.314 315The power-management is supported.316 317Module snd-au8810, snd-au8820, snd-au8830318-----------------------------------------319 320Module for Aureal Vortex, Vortex2 and Advantage device.321 322pcifix323    Control PCI workarounds;324    0 = Disable all workarounds,325    1 = Force the PCI latency of the Aureal card to 0xff,326    2 = Force the Extend PCI#2 Internal Master for Efficient327    Handling of Dummy Requests on the VIA KT133 AGP Bridge,328    3 = Force both settings,329    255 = Autodetect what is required (default)330 331This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware332EQ, mpu401, gameport. A3D and wavetable support are still in development.333Development and reverse engineering work is being coordinated at334https://savannah.nongnu.org/projects/openvortex/335SPDIF output has a copy of the AC97 codec output, unless you use the336``spdif`` pcm device, which allows raw data passthru.337The hardware EQ hardware and SPDIF is only present in the Vortex2 and 338Advantage.339 340Note: Some ALSA mixer applications don't handle the SPDIF sample rate 341control correctly. If you have problems regarding this, try342another ALSA compliant mixer (alsamixer works).343 344Module snd-azt1605345------------------346 347Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605348chipset.349 350port351    port # for BASE (0x220,0x240,0x260,0x280)352wss_port353    port # for WSS (0x530,0x604,0xe80,0xf40)354irq355    IRQ # for WSS (7,9,10,11)356dma1357    DMA # for WSS playback (0,1,3)358dma2359    DMA # for WSS capture (0,1), -1 = disabled (default)360mpu_port361    port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)362mpu_irq363    IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)364fm_port365    port # for OPL3 (0x388), -1 = disabled (default)366 367This module supports multiple cards. It does not support autoprobe:368``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.369The other values are optional.370 371``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)372or the value stored in the card's EEPROM for cards that have an EEPROM and373their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can374be chosen freely from the options enumerated above.375 376If ``dma2`` is specified and different from ``dma1``, the card will operate in377full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to378enable capture since only channels 0 and 1 are available for capture.379 380Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0381mpu_port=0x330 mpu_irq=9 fm_port=0x388``.382 383Whatever IRQ and DMA channels you pick, be sure to reserve them for384legacy ISA in your BIOS.385 386Module snd-azt2316387------------------388 389Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316390chipset.391 392port393    port # for BASE (0x220,0x240,0x260,0x280)394wss_port395    port # for WSS (0x530,0x604,0xe80,0xf40)396irq397    IRQ # for WSS (7,9,10,11)398dma1399    DMA # for WSS playback (0,1,3)400dma2401    DMA # for WSS capture (0,1), -1 = disabled (default)402mpu_port403    port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)404mpu_irq405    IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)406fm_port407    port # for OPL3 (0x388), -1 = disabled (default)408 409This module supports multiple cards. It does not support autoprobe:410``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.411The other values are optional.412 413``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)414or the value stored in the card's EEPROM for cards that have an EEPROM and415their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can416be chosen freely from the options enumerated above.417 418If ``dma2`` is specified and different from ``dma1``, the card will operate in419full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to420enable capture since only channels 0 and 1 are available for capture.421 422Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0423mpu_port=0x330 mpu_irq=9 fm_port=0x388``.424 425Whatever IRQ and DMA channels you pick, be sure to reserve them for426legacy ISA in your BIOS.427 428Module snd-aw2429--------------430 431Module for Audiowerk2 sound card432 433This module supports multiple cards.434 435Module snd-azt2320436------------------437 438Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).439 440This module supports multiple cards, PnP and autoprobe.441 442The power-management is supported.443 444Module snd-azt3328445------------------446 447Module for sound cards based on Aztech AZF3328 PCI chip.448 449joystick450    Enable joystick (default off)451 452This module supports multiple cards.453 454Module snd-bt87x455----------------456 457Module for video cards based on Bt87x chips.458 459digital_rate460    Override the default digital rate (Hz)461load_all462    Load the driver even if the card model isn't known463 464This module supports multiple cards.465 466Note: The default index value of this module is -2, i.e. the first467slot is excluded.468 469Module snd-ca0106470-----------------471 472Module for Creative Audigy LS and SB Live 24bit473 474This module supports multiple cards.475 476 477Module snd-cmi8330478------------------479 480Module for sound cards based on C-Media CMI8330 ISA chips.481 482isapnp483    ISA PnP detection - 0 = disable, 1 = enable (default)484 485with ``isapnp=0``, the following options are available:486 487wssport488    port # for CMI8330 chip (WSS)489wssirq490    IRQ # for CMI8330 chip (WSS)491wssdma492    first DMA # for CMI8330 chip (WSS)493sbport494    port # for CMI8330 chip (SB16)495sbirq496    IRQ # for CMI8330 chip (SB16)497sbdma8498    8bit DMA # for CMI8330 chip (SB16)499sbdma16500    16bit DMA # for CMI8330 chip (SB16)501fmport502    (optional) OPL3 I/O port503mpuport504    (optional) MPU401 I/O port505mpuirq506    (optional) MPU401 irq #507 508This module supports multiple cards and autoprobe.509 510The power-management is supported.511 512Module snd-cmipci513-----------------514 515Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.516 517mpu_port518    port address of MIDI interface (8338 only):519    0x300,0x310,0x320,0x330 = legacy port,520    1 = integrated PCI port (default on 8738),521    0 = disable522fm_port523    port address of OPL-3 FM synthesizer (8x38 only):524    0x388 = legacy port,525    1 = integrated PCI port (default on 8738),526    0 = disable527soft_ac3528    Software-conversion of raw SPDIF packets (model 033 only) (default = 1)529joystick_port530    Joystick port address (0 = disable, 1 = auto-detect)531 532This module supports autoprobe and multiple cards.533 534The power-management is supported.535 536Module snd-cs4231537-----------------538 539Module for sound cards based on CS4231 ISA chips.540 541port542    port # for CS4231 chip543mpu_port544    port # for MPU-401 UART (optional), -1 = disable545irq546    IRQ # for CS4231 chip547mpu_irq548    IRQ # for MPU-401 UART549dma1550    first DMA # for CS4231 chip551dma2552    second DMA # for CS4231 chip553 554This module supports multiple cards. This module does not support autoprobe555thus main port must be specified!!! Other ports are optional.556 557The power-management is supported.558 559Module snd-cs4236560-----------------561 562Module for sound cards based on CS4232/CS4232A,563CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips.564 565isapnp566    ISA PnP detection - 0 = disable, 1 = enable (default)567 568with ``isapnp=0``, the following options are available:569 570port571    port # for CS4236 chip (PnP setup - 0x534)572cport573    control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)574mpu_port575    port # for MPU-401 UART (PnP setup - 0x300), -1 = disable576fm_port577    FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable578irq579    IRQ # for CS4236 chip (5,7,9,11,12,15)580mpu_irq581    IRQ # for MPU-401 UART (9,11,12,15)582dma1583    first DMA # for CS4236 chip (0,1,3)584dma2585    second DMA # for CS4236 chip (0,1,3), -1 = disable586 587This module supports multiple cards. This module does not support autoprobe588(if ISA PnP is not used) thus main port and control port must be589specified!!! Other ports are optional.590 591The power-management is supported.592 593This module is aliased as snd-cs4232 since it provides the old594snd-cs4232 functionality, too.595 596Module snd-cs4281597-----------------598 599Module for Cirrus Logic CS4281 soundchip.600 601dual_codec602    Secondary codec ID (0 = disable, default)603 604This module supports multiple cards.605 606The power-management is supported.607 608Module snd-cs46xx609-----------------610 611Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/612CS4624/CS4630/CS4280 PCI chips.613 614external_amp615    Force to enable external amplifier.616thinkpad617    Force to enable Thinkpad's CLKRUN control.618mmap_valid619    Support OSS mmap mode (default = 0).620 621This module supports multiple cards and autoprobe.622Usually external amp and CLKRUN controls are detected automatically623from PCI sub vendor/device ids.  If they don't work, give the options624above explicitly.625 626The power-management is supported.627 628Module snd-cs5530629-----------------630 631Module for Cyrix/NatSemi Geode 5530 chip. 632 633Module snd-cs5535audio634----------------------635 636Module for multifunction CS5535 companion PCI device637 638The power-management is supported.639 640Module snd-ctxfi641----------------642 643Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)644 645* Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series646* Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series647* Creative Sound Blaster X-Fi Titanium Professional Audio648* Creative Sound Blaster X-Fi Titanium649* Creative Sound Blaster X-Fi Elite Pro650* Creative Sound Blaster X-Fi Platinum651* Creative Sound Blaster X-Fi Fatal1ty652* Creative Sound Blaster X-Fi XtremeGamer653* Creative Sound Blaster X-Fi XtremeMusic654	655reference_rate656    reference sample rate, 44100 or 48000 (default)657multiple658    multiple to ref. sample rate, 1 or 2 (default)659subsystem660    override the PCI SSID for probing;661    the value consists of SSVID << 16 | SSDID.662    The default is zero, which means no override.663 664This module supports multiple cards.665 666Module snd-darla20667------------------668 669Module for Echoaudio Darla20670 671This module supports multiple cards.672The driver requires the firmware loader support on kernel.673 674Module snd-darla24675------------------676 677Module for Echoaudio Darla24678 679This module supports multiple cards.680The driver requires the firmware loader support on kernel.681 682Module snd-dt019x683-----------------684 685Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP686only)687 688This module supports multiple cards.  This module is enabled only with689ISA PnP support.690 691The power-management is supported.692 693Module snd-dummy694----------------695 696Module for the dummy sound card. This "card" doesn't do any output697or input, but you may use this module for any application which698requires a sound card (like RealPlayer).699 700pcm_devs701    Number of PCM devices assigned to each card (default = 1, up to 4)702pcm_substreams703    Number of PCM substreams assigned to each PCM (default = 8, up to 128)704hrtimer705    Use hrtimer (=1, default) or system timer (=0)706fake_buffer707    Fake buffer allocations (default = 1)708 709When multiple PCM devices are created, snd-dummy gives different710behavior to each PCM device:711* 0 = interleaved with mmap support712* 1 = non-interleaved with mmap support713* 2 = interleaved without mmap 714* 3 = non-interleaved without mmap715 716As default, snd-dummy drivers doesn't allocate the real buffers717but either ignores read/write or mmap a single dummy page to all718buffer pages, in order to save the resources.  If your apps need719the read/ written buffer data to be consistent, pass fake_buffer=0720option.721 722The power-management is supported.723 724Module snd-echo3g725-----------------726 727Module for Echoaudio 3G cards (Gina3G/Layla3G)728 729This module supports multiple cards.730The driver requires the firmware loader support on kernel.731 732Module snd-emu10k1733------------------734 735Module for EMU10K1/EMU10k2 based PCI sound cards.736 737* Sound Blaster Live!738* Sound Blaster PCI 512739* Sound Blaster Audigy740* E-MU APS (partially supported)741* E-MU DAS742 743extin744    bitmap of available external inputs for FX8010 (see below)745extout746    bitmap of available external outputs for FX8010 (see below)747seq_ports748    allocated sequencer ports (4 by default)749max_synth_voices750    limit of voices used for wavetable (64 by default)751max_buffer_size752    specifies the maximum size of wavetable/pcm buffers given in MB753    unit.  Default value is 128.754enable_ir755    enable IR756 757This module supports multiple cards and autoprobe.758 759Input & Output configurations 			[extin/extout]760* Creative Card wo/Digital out			[0x0003/0x1f03]761* Creative Card w/Digital out			[0x0003/0x1f0f]762* Creative Card w/Digital CD in			[0x000f/0x1f0f]763* Creative Card wo/Digital out + LiveDrive	[0x3fc3/0x1fc3]764* Creative Card w/Digital out + LiveDrive	[0x3fc3/0x1fcf]765* Creative Card w/Digital CD in + LiveDrive	[0x3fcf/0x1fcf]766* Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]767* Creative Card w/Digital out + Digital I/O 2	[0x0fc3/0x1f0f]768* Creative Card w/Digital CD in + Digital I/O 2	[0x0fcf/0x1f0f]769* Creative Card 5.1/w Digital out + LiveDrive	[0x3fc3/0x1fff]770* Creative Card 5.1 (c) 2003			[0x3fc3/0x7cff]771* Creative Card all ins and outs		[0x3fff/0x7fff]772  773The power-management is supported.774  775Module snd-emu10k1x776-------------------777 778Module for Creative Emu10k1X (SB Live Dell OEM version)779 780This module supports multiple cards.781 782Module snd-ens1370783------------------784 785Module for Ensoniq AudioPCI ES1370 PCI sound cards.786 787* SoundBlaster PCI 64788* SoundBlaster PCI 128789    790joystick791    Enable joystick (default off)792  793This module supports multiple cards and autoprobe.794 795The power-management is supported.796 797Module snd-ens1371798------------------799 800Module for Ensoniq AudioPCI ES1371 PCI sound cards.801 802* SoundBlaster PCI 64803* SoundBlaster PCI 128804* SoundBlaster Vibra PCI805      806joystick_port807    port # for joystick (0x200,0x208,0x210,0x218), 0 = disable808    (default), 1 = auto-detect809  810This module supports multiple cards and autoprobe.811 812The power-management is supported.813 814Module snd-es1688815-----------------816 817Module for ESS AudioDrive ES-1688 and ES-688 sound cards.818 819isapnp820    ISA PnP detection - 0 = disable, 1 = enable (default)821mpu_port822    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)823mpu_irq824    IRQ # for MPU-401 port (5,7,9,10)825fm_port826    port # for OPL3 (option; share the same port as default)827 828with ``isapnp=0``, the following additional options are available:829 830port831    port # for ES-1688 chip (0x220,0x240,0x260)832irq833    IRQ # for ES-1688 chip (5,7,9,10)834dma8835    DMA # for ES-1688 chip (0,1,3)836 837This module supports multiple cards and autoprobe (without MPU-401 port)838and PnP with the ES968 chip.839 840Module snd-es18xx841-----------------842 843Module for ESS AudioDrive ES-18xx sound cards.844 845isapnp846    ISA PnP detection - 0 = disable, 1 = enable (default)847 848with ``isapnp=0``, the following options are available:849 850port851    port # for ES-18xx chip (0x220,0x240,0x260)852mpu_port853    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)854fm_port855    port # for FM (optional, not used)856irq857    IRQ # for ES-18xx chip (5,7,9,10)858dma1859    first DMA # for ES-18xx chip (0,1,3)860dma2861    first DMA # for ES-18xx chip (0,1,3)862 863This module supports multiple cards, ISA PnP and autoprobe (without MPU-401864port if native ISA PnP routines are not used).865When ``dma2`` is equal with ``dma1``, the driver works as half-duplex.866 867The power-management is supported.868 869Module snd-es1938870-----------------871 872Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.873 874This module supports multiple cards and autoprobe.875 876The power-management is supported.877 878Module snd-es1968879-----------------880 881Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.882 883total_bufsize884    total buffer size in kB (1-4096kB)885pcm_substreams_p886    playback channels (1-8, default=2)887pcm_substreams_c888    capture channels (1-8, default=0)889clock890    clock (0 = auto-detection)891use_pm892    support the power-management (0 = off, 1 = on, 2 = auto (default))893enable_mpu894    enable MPU401 (0 = off, 1 = on, 2 = auto (default))895joystick896    enable joystick (default off)       897 898This module supports multiple cards and autoprobe.899 900The power-management is supported.901 902Module snd-fm801903----------------904 905Module for ForteMedia FM801 based PCI sound cards.906 907tea575x_tuner908    Enable TEA575x tuner;909    1 = MediaForte 256-PCS,910    2 = MediaForte 256-PCPR,911    3 = MediaForte 64-PCR912    High 16-bits are video (radio) device number + 1;913    example: 0x10002 (MediaForte 256-PCPR, device 1)914	  915This module supports multiple cards and autoprobe.916 917The power-management is supported.918 919Module snd-gina20920-----------------921 922Module for Echoaudio Gina20923 924This module supports multiple cards.925The driver requires the firmware loader support on kernel.926 927Module snd-gina24928-----------------929 930Module for Echoaudio Gina24931 932This module supports multiple cards.933The driver requires the firmware loader support on kernel.934 935Module snd-gusclassic936---------------------937 938Module for Gravis UltraSound Classic sound card.939 940port941    port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)942irq943    IRQ # for GF1 chip (3,5,9,11,12,15)944dma1945    DMA # for GF1 chip (1,3,5,6,7)946dma2947    DMA # for GF1 chip (1,3,5,6,7,-1=disable)948joystick_dac949    0 to 31, (0.59V-4.52V or 0.389V-2.98V)950voices951    GF1 voices limit (14-32)952pcm_voices953    reserved PCM voices954 955This module supports multiple cards and autoprobe.956 957Module snd-gusextreme958---------------------959 960Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.961 962port963    port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)964gf1_port965    port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)966mpu_port967    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable968irq969    IRQ # for ES-1688 chip (5,7,9,10)970gf1_irq971    IRQ # for GF1 chip (3,5,9,11,12,15)972mpu_irq973    IRQ # for MPU-401 port (5,7,9,10)974dma8975    DMA # for ES-1688 chip (0,1,3)976dma1977    DMA # for GF1 chip (1,3,5,6,7)978joystick_dac979    0 to 31, (0.59V-4.52V or 0.389V-2.98V)980voices981    GF1 voices limit (14-32)982pcm_voices983    reserved PCM voices984 985This module supports multiple cards and autoprobe (without MPU-401 port).986 987Module snd-gusmax988-----------------989 990Module for Gravis UltraSound MAX sound card.991 992port993    port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)994irq995    IRQ # for GF1 chip (3,5,9,11,12,15)996dma1997    DMA # for GF1 chip (1,3,5,6,7)998dma2999    DMA # for GF1 chip (1,3,5,6,7,-1=disable)1000joystick_dac1001    0 to 31, (0.59V-4.52V or 0.389V-2.98V)1002voices1003    GF1 voices limit (14-32)1004pcm_voices1005    reserved PCM voices1006 1007This module supports multiple cards and autoprobe.1008 1009Module snd-hda-intel1010--------------------1011 1012Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,1013PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,1014RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M54611015 1016[Multiple options for each card instance]1017 1018model1019    force the model name1020position_fix1021    Fix DMA pointer;1022    -1 = system default: choose appropriate one per controller hardware,1023    0 = auto: falls back to LPIB when POSBUF doesn't work,1024    1 = use LPIB,1025    2 = POSBUF: use position buffer,1026    3 = VIACOMBO: VIA-specific workaround for capture,1027    4 = COMBO: use LPIB for playback, auto for capture stream1028    5 = SKL+: apply the delay calculation available on recent Intel chips1029    6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips1030probe_mask1031    Bitmask to probe codecs (default = -1, meaning all slots);1032    When the bit 8 (0x100) is set, the lower 8 bits are used1033    as the "fixed" codec slots; i.e. the driver probes the1034    slots regardless what hardware reports back1035probe_only1036    Only probing and no codec initialization (default=off);1037    Useful to check the initial codec status for debugging1038bdl_pos_adj1039    Specifies the DMA IRQ timing delay in samples.1040    Passing -1 will make the driver to choose the appropriate1041    value based on the controller chip.1042patch1043    Specifies the early "patch" files to modify the HD-audio setup1044    before initializing the codecs.1045    This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y``1046    is set.  See hd-audio/notes.rst for details.1047beep_mode1048    Selects the beep registration mode (0=off, 1=on);1049    default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig.1050 1051[Single (global) options]1052 1053single_cmd1054    Use single immediate commands to communicate with codecs1055    (for debugging only)1056enable_msi1057    Enable Message Signaled Interrupt (MSI) (default = off)1058power_save1059    Automatic power-saving timeout (in second, 0 = disable)1060power_save_controller1061    Reset HD-audio controller in power-saving mode (default = on)1062pm_blacklist1063    Enable / disable power-management deny-list (default = look up PM1064    deny-list, 0 = skip PM deny-list, 1 = force to turn off runtime PM)1065align_buffer_size1066    Force rounding of buffer/period sizes to multiples of 128 bytes.1067    This is more efficient in terms of memory access but isn't1068    required by the HDA spec and prevents users from specifying1069    exact period/buffer sizes. (default = on)1070snoop1071    Enable/disable snooping (default = on)1072 1073This module supports multiple cards and autoprobe.1074 1075See hd-audio/notes.rst for more details about HD-audio driver.1076 1077Each codec may have a model table for different configurations.1078If your machine isn't listed there, the default (usually minimal)1079configuration is set up.  You can pass ``model=<name>`` option to1080specify a certain model in such a case.  There are different1081models depending on the codec chip.  The list of available models1082is found in hd-audio/models.rst.1083 1084The model name ``generic`` is treated as a special case.  When this1085model is given, the driver uses the generic codec parser without1086"codec-patch".  It's sometimes good for testing and debugging.1087 1088The model option can be used also for aliasing to another PCI or codec1089SSID.  When it's passed in the form of ``model=XXXX:YYYY`` where XXXX1090and YYYY are the sub-vendor and sub-device IDs in hex numbers,1091respectively, the driver will refer to that SSID as a reference to the1092quirk table.1093 1094If the default configuration doesn't work and one of the above1095matches with your device, report it together with alsa-info.sh1096output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel1097ML (see the section `Links and Addresses`_).1098 1099``power_save`` and ``power_save_controller`` options are for power-saving1100mode.  See powersave.rst for details.1101 1102Note 2: If you get click noises on output, try the module option1103``position_fix=1`` or ``2``.  ``position_fix=1`` will use the SD_LPIB1104register value without FIFO size correction as the current1105DMA pointer.  ``position_fix=2`` will make the driver to use1106the position buffer instead of reading SD_LPIB register.1107(Usually SD_LPIB register is more accurate than the1108position buffer.)1109 1110``position_fix=3`` is specific to VIA devices.  The position1111of the capture stream is checked from both LPIB and POSBUF1112values.  ``position_fix=4`` is a combination mode, using LPIB1113for playback and POSBUF for capture.1114 1115NB: If you get many ``azx_get_response timeout`` messages at1116loading, it's likely a problem of interrupts (e.g. ACPI irq1117routing).  Try to boot with options like ``pci=noacpi``.  Also, you1118can try ``single_cmd=1`` module option.  This will switch the1119communication method between HDA controller and codecs to the1120single immediate commands instead of CORB/RIRB.  Basically, the1121single command mode is provided only for BIOS, and you won't get1122unsolicited events, too.  But, at least, this works independently1123from the irq.  Remember this is a last resort, and should be1124avoided as much as possible...1125 1126MORE NOTES ON ``azx_get_response timeout`` PROBLEMS:1127On some hardware, you may need to add a proper probe_mask option1128to avoid the ``azx_get_response timeout`` problem above, instead.1129This occurs when the access to non-existing or non-working codec slot1130(likely a modem one) causes a stall of the communication via HD-audio1131bus.  You can see which codec slots are probed by enabling1132``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec1133proc files.  Then limit the slots to probe by probe_mask option.1134For example, ``probe_mask=1`` means to probe only the first slot, and1135``probe_mask=4`` means only the third slot.1136 1137The power-management is supported.1138 1139Module snd-hdsp1140---------------1141 1142Module for RME Hammerfall DSP audio interface(s)1143 1144This module supports multiple cards.1145 1146Note: The firmware data can be automatically loaded via hotplug1147when ``CONFIG_FW_LOADER`` is set.  Otherwise, you need to load1148the firmware via hdsploader utility included in alsa-tools1149package.1150The firmware data is found in alsa-firmware package.1151 1152Note: snd-page-alloc module does the job which snd-hammerfall-mem1153module did formerly.  It will allocate the buffers in advance1154when any HDSP cards are found.  To make the buffer1155allocation sure, load snd-page-alloc module in the early1156stage of boot sequence.  See `Early Buffer Allocation`_1157section.1158 1159Module snd-hdspm1160----------------1161 1162Module for RME HDSP MADI board.1163 1164precise_ptr1165    Enable precise pointer, or disable.1166line_outs_monitor1167    Send playback streams to analog outs by default.1168enable_monitor1169    Enable Analog Out on Channel 63/64 by default.1170 1171See hdspm.rst for details.1172 1173Module snd-ice17121174------------------1175 1176Module for Envy24 (ICE1712) based PCI sound cards.1177 1178* MidiMan M Audio Delta 10101179* MidiMan M Audio Delta 1010LT1180* MidiMan M Audio Delta DiO 24961181* MidiMan M Audio Delta 661182* MidiMan M Audio Delta 441183* MidiMan M Audio Delta 4101184* MidiMan M Audio Audiophile 24961185* TerraTec EWS 88MT1186* TerraTec EWS 88D1187* TerraTec EWX 24/961188* TerraTec DMX 6Fire1189* TerraTec Phase 881190* Hoontech SoundTrack DSP 241191* Hoontech SoundTrack DSP 24 Value1192* Hoontech SoundTrack DSP 24 Media 7.11193* Event Electronics, EZ81194* Digigram VX4421195* Lionstracs, Mediastaton1196* Terrasoniq TS 881197			1198model1199    Use the given board model, one of the following:1200    delta1010, dio2496, delta66, delta44, audiophile, delta410,1201    delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,1202    dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,1203    phase88, mediastation1204omni1205    Omni I/O support for MidiMan M-Audio Delta44/661206cs8427_timeout1207    reset timeout for the CS8427 chip (S/PDIF transceiver) in msec1208    resolution, default value is 500 (0.5 sec)1209 1210This module supports multiple cards and autoprobe.1211Note: The consumer part is not used with all Envy24 based cards (for1212example in the MidiMan Delta siree).1213 1214Note: The supported board is detected by reading EEPROM or PCI1215SSID (if EEPROM isn't available).  You can override the1216model by passing ``model`` module option in case that the1217driver isn't configured properly or you want to try another1218type for testing.1219 1220Module snd-ice17241221------------------1222 1223Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.1224 1225* MidiMan M Audio Revolution 5.11226* MidiMan M Audio Revolution 7.11227* MidiMan M Audio Audiophile 1921228* AMP Ltd AUDIO20001229* TerraTec Aureon 5.1 Sky1230* TerraTec Aureon 7.1 Space1231* TerraTec Aureon 7.1 Universe1232* TerraTec Phase 221233* TerraTec Phase 281234* AudioTrak Prodigy 7.11235* AudioTrak Prodigy 7.1 LT1236* AudioTrak Prodigy 7.1 XT1237* AudioTrak Prodigy 7.1 HIFI1238* AudioTrak Prodigy 7.1 HD21239* AudioTrak Prodigy 1921240* Pontis MS3001241* Albatron K8X800 Pro II 1242* Chaintech ZNF3-1501243* Chaintech ZNF3-2501244* Chaintech 9CJS1245* Chaintech AV-7101246* Shuttle SN25P1247* Onkyo SE-90PCI1248* Onkyo SE-200PCI1249* ESI Juli@1250* ESI Maya441251* Hercules Fortissimo IV1252* EGO-SYS WaveTerminal 192M1253			1254model1255    Use the given board model, one of the following:1256    revo51, revo71, amp2000, prodigy71, prodigy71lt,1257    prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,1258    juli, aureon51, aureon71, universe, ap192, k8x800,1259    phase22, phase28, ms300, av710, se200pci, se90pci,1260    fortissimo4, sn25p, WT192M, maya441261  1262This module supports multiple cards and autoprobe.1263 1264Note: The supported board is detected by reading EEPROM or PCI1265SSID (if EEPROM isn't available).  You can override the1266model by passing ``model`` module option in case that the1267driver isn't configured properly or you want to try another1268type for testing.1269 1270Module snd-indigo1271-----------------1272 1273Module for Echoaudio Indigo1274 1275This module supports multiple cards.1276The driver requires the firmware loader support on kernel.1277 1278Module snd-indigodj1279-------------------1280 1281Module for Echoaudio Indigo DJ1282 1283This module supports multiple cards.1284The driver requires the firmware loader support on kernel.1285 1286Module snd-indigoio1287-------------------1288 1289Module for Echoaudio Indigo IO1290 1291This module supports multiple cards.1292The driver requires the firmware loader support on kernel.1293 1294Module snd-intel8x01295-------------------1296 1297Module for AC'97 motherboards from Intel and compatibles.1298 1299* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7,1300  6300ESB, ESB2 1301* SiS 7012 (SiS 735)1302* NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP5011303* AMD AMD768, AMD81111304* ALi m54551305	  1306ac97_clock1307    AC'97 codec clock base (0 = auto-detect)1308ac97_quirk1309    AC'97 workaround for strange hardware;1310    See `AC97 Quirk Option`_ section below.1311buggy_irq1312    Enable workaround for buggy interrupts on some motherboards1313    (default yes on nForce chips, otherwise off)1314buggy_semaphore1315    Enable workaround for hardware with buggy semaphores (e.g. on some1316    ASUS laptops) (default off)1317spdif_aclink1318    Use S/PDIF over AC-link instead of direct connection from the1319    controller chip (0 = off, 1 = on, -1 = default)1320 1321This module supports one chip and autoprobe.1322 1323Note: the latest driver supports auto-detection of chip clock.1324if you still encounter too fast playback, specify the clock1325explicitly via the module option ``ac97_clock=41194``.1326 1327Joystick/MIDI ports are not supported by this driver.  If your1328motherboard has these devices, use the ns558 or snd-mpu4011329modules, respectively.1330 1331The power-management is supported.1332 1333Module snd-intel8x0m1334--------------------1335 1336Module for Intel ICH (i8x0) chipset MC97 modems.1337 1338* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH71339* SiS 7013 (SiS 735)1340* NVidia NForce, NForce2, NForce2s, NForce31341* AMD AMD81111342* ALi m54551343	  1344ac97_clock1345    AC'97 codec clock base (0 = auto-detect)1346  1347This module supports one card and autoprobe.1348 1349Note: The default index value of this module is -2, i.e. the first1350slot is excluded.1351 1352The power-management is supported.1353 1354Module snd-interwave1355--------------------1356 1357Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 321358and other sound cards based on AMD InterWave (tm) chip.1359 1360joystick_dac1361    0 to 31, (0.59V-4.52V or 0.389V-2.98V)1362midi1363    1 = MIDI UART enable, 0 = MIDI UART disable (default)1364pcm_voices1365    reserved PCM voices for the synthesizer (default 2)1366effect1367    1 = InterWave effects enable (default 0); requires 8 voices1368isapnp1369    ISA PnP detection - 0 = disable, 1 = enable (default)1370 1371with ``isapnp=0``, the following options are available:1372 1373port1374    port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)1375irq1376    IRQ # for InterWave chip (3,5,9,11,12,15)1377dma11378    DMA # for InterWave chip (0,1,3,5,6,7)1379dma21380    DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)1381 1382This module supports multiple cards, autoprobe and ISA PnP.1383 1384Module snd-interwave-stb1385------------------------1386 1387Module for UltraSound 32-Pro (sound card from STB used by Compaq)1388and other sound cards based on AMD InterWave (tm) chip with TEA6330T1389circuit for extended control of bass, treble and master volume.1390 1391joystick_dac1392    0 to 31, (0.59V-4.52V or 0.389V-2.98V)1393midi1394    1 = MIDI UART enable, 0 = MIDI UART disable (default)1395pcm_voices1396    reserved PCM voices for the synthesizer (default 2)1397effect1398    1 = InterWave effects enable (default 0); requires 8 voices1399isapnp1400    ISA PnP detection - 0 = disable, 1 = enable (default)1401 1402with ``isapnp=0``, the following options are available:1403 1404port1405    port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)1406port_tc1407    tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)1408irq1409    IRQ # for InterWave chip (3,5,9,11,12,15)1410dma11411    DMA # for InterWave chip (0,1,3,5,6,7)1412dma21413    DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)1414 1415This module supports multiple cards, autoprobe and ISA PnP.1416 1417Module snd-jazz161418-------------------1419 1420Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:1421MVD1216 + MVA416 + MVA514.1422 1423port1424    port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)1425irq1426    IRQ # for SB DSP chip (3,5,7,9,10,15)1427dma81428    DMA # for SB DSP chip (1,3)1429dma161430    DMA # for SB DSP chip (5,7)1431mpu_port1432    MPU-401 port # (0x300,0x310,0x320,0x330)1433mpu_irq1434    MPU-401 irq # (2,3,5,7)1435 1436This module supports multiple cards.1437 1438Module snd-korg12121439-------------------1440 1441Module for Korg 1212 IO PCI card1442 1443This module supports multiple cards.1444 1445Module snd-layla201446------------------1447 1448Module for Echoaudio Layla201449 1450This module supports multiple cards.1451The driver requires the firmware loader support on kernel.1452 1453Module snd-layla241454------------------1455 1456Module for Echoaudio Layla241457 1458This module supports multiple cards.1459The driver requires the firmware loader support on kernel.1460 1461Module snd-lola1462---------------1463 1464Module for Digigram Lola PCI-e boards1465 1466This module supports multiple cards.1467 1468Module snd-lx6464es1469-------------------1470 1471Module for Digigram LX6464ES boards1472 1473This module supports multiple cards.1474 1475Module snd-maestro31476-------------------1477 1478Module for Allegro/Maestro3 chips1479 1480external_amp1481    enable external amp (enabled by default)1482amp_gpio1483    GPIO pin number for external amp (0-15) or -1 for default pin (81484    for allegro, 1 for others) 1485 1486This module supports autoprobe and multiple chips.1487 1488Note: the binding of amplifier is dependent on hardware.1489If there is no sound even though all channels are unmuted, try to1490specify other gpio connection via amp_gpio option. 1491For example, a Panasonic notebook might need ``amp_gpio=0x0d``1492option.1493 1494The power-management is supported.1495 1496Module snd-mia1497---------------1498 1499Module for Echoaudio Mia1500 1501This module supports multiple cards.1502The driver requires the firmware loader support on kernel.1503 1504Module snd-miro1505---------------1506 1507Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,1508miroSOUND PCM 20 Radio.1509 1510port1511    Port # (0x530,0x604,0xe80,0xf40)1512irq1513    IRQ # (5,7,9,10,11)1514dma11515    1st dma # (0,1,3)1516dma21517    2nd dma # (0,1)1518mpu_port1519    MPU-401 port # (0x300,0x310,0x320,0x330)1520mpu_irq1521    MPU-401 irq # (5,7,9,10)1522fm_port1523    FM Port # (0x388)1524wss1525    enable WSS mode1526ide1527    enable onboard ide support1528 1529Module snd-mixart1530-----------------1531 1532Module for Digigram miXart8 sound cards.1533 1534This module supports multiple cards.1535Note: One miXart8 board will be represented as 4 alsa cards.1536See Documentation/sound/cards/mixart.rst for details.1537 1538When the driver is compiled as a module and the hotplug firmware1539is supported, the firmware data is loaded via hotplug automatically.1540Install the necessary firmware files in alsa-firmware package.1541When no hotplug fw loader is available, you need to load the1542firmware via mixartloader utility in alsa-tools package.1543 1544Module snd-mona1545---------------1546 1547Module for Echoaudio Mona1548 1549This module supports multiple cards.1550The driver requires the firmware loader support on kernel.1551 1552Module snd-mpu4011553-----------------1554 1555Module for MPU-401 UART devices.1556 1557port1558    port number or -1 (disable)1559irq1560    IRQ number or -1 (disable)1561pnp1562    PnP detection - 0 = disable, 1 = enable (default)1563 1564This module supports multiple devices and PnP.1565 1566Module snd-msnd-classic1567-----------------------1568 1569Module for Turtle Beach MultiSound Classic, Tahiti or Monterey1570soundcards.1571 1572io1573    Port # for msnd-classic card1574irq1575    IRQ # for msnd-classic card1576mem1577    Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)1578write_ndelay1579    enable write ndelay (default = 1)1580calibrate_signal1581    calibrate signal (default = 0)1582isapnp1583    ISA PnP detection - 0 = disable, 1 = enable (default)1584digital1585    Digital daughterboard present (default = 0)1586cfg1587    Config port (0x250, 0x260 or 0x270) default = PnP1588reset1589    Reset all devices1590mpu_io1591    MPU401 I/O port1592mpu_irq1593    MPU401 irq#1594ide_io01595    IDE port #01596ide_io11597    IDE port #11598ide_irq1599    IDE irq#1600joystick_io1601    Joystick I/O port1602 1603The driver requires firmware files ``turtlebeach/msndinit.bin`` and1604``turtlebeach/msndperm.bin`` in the proper firmware directory.1605 1606See Documentation/sound/cards/multisound.sh for important information1607about this driver.  Note that it has been discontinued, but the 1608Voyetra Turtle Beach knowledge base entry for it is still available1609at1610https://www.turtlebeach.com1611 1612Module snd-msnd-pinnacle1613------------------------1614 1615Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.1616 1617io1618    Port # for pinnacle/fiji card1619irq1620    IRQ # for pinnalce/fiji card1621mem1622    Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)1623write_ndelay1624    enable write ndelay (default = 1)1625calibrate_signal1626    calibrate signal (default = 0)1627isapnp1628    ISA PnP detection - 0 = disable, 1 = enable (default)1629 1630The driver requires firmware files ``turtlebeach/pndspini.bin`` and1631``turtlebeach/pndsperm.bin`` in the proper firmware directory.1632 1633Module snd-mtpav1634----------------1635 1636Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel1637port).1638 1639port1640    I/O port # for MTPAV (0x378,0x278, default=0x378)1641irq1642    IRQ # for MTPAV (7,5, default=7)1643hwports1644    number of supported hardware ports, default=8.1645 1646Module supports only 1 card.  This module has no enable option.1647 1648Module snd-mts641649----------------1650 1651Module for Ego Systems (ESI) Miditerminal 41401652 1653This module supports multiple devices.1654Requires parport (``CONFIG_PARPORT``).1655 1656Module snd-nm2561657----------------1658 1659Module for NeoMagic NM256AV/ZX chips1660 1661playback_bufsize1662    max playback frame size in kB (4-128kB)1663capture_bufsize1664    max capture frame size in kB (4-128kB)1665force_ac971666    0 or 1 (disabled by default)1667buffer_top1668    specify buffer top address1669use_cache1670    0 or 1 (disabled by default)1671vaio_hack1672    alias buffer_top=0x25a8001673reset_workaround1674    enable AC97 RESET workaround for some laptops1675reset_workaround21676    enable extended AC97 RESET workaround for some other laptops1677 1678This module supports one chip and autoprobe.1679 1680The power-management is supported.1681 1682Note: on some notebooks the buffer address cannot be detected1683automatically, or causes hang-up during initialization.1684In such a case, specify the buffer top address explicitly via1685the buffer_top option.1686For example,1687Sony F250: buffer_top=0x25a8001688Sony F270: buffer_top=0x2728001689The driver supports only ac97 codec.  It's possible to force1690to initialize/use ac97 although it's not detected.  In such a1691case, use ``force_ac97=1`` option - but *NO* guarantee whether it1692works!1693 1694Note: The NM256 chip can be linked internally with non-AC971695codecs.  This driver supports only the AC97 codec, and won't work1696with machines with other (most likely CS423x or OPL3SAx) chips,1697even though the device is detected in lspci.  In such a case, try1698other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP1699but some doesn't have ISA PnP.  You'll need to specify ``isapnp=0``1700and proper hardware parameters in the case without ISA PnP.1701 1702Note: some laptops need a workaround for AC97 RESET.  For the1703known hardware like Dell Latitude LS and Sony PCG-F305, this1704workaround is enabled automatically.  For other laptops with a1705hard freeze, you can try ``reset_workaround=1`` option.1706 1707Note: Dell Latitude CSx laptops have another problem regarding1708AC97 RESET.  On these laptops, reset_workaround2 option is1709turned on as default.  This option is worth to try if the1710previous reset_workaround option doesn't help.1711 1712Note: This driver is really crappy.  It's a porting from the1713OSS driver, which is a result of black-magic reverse engineering.1714The detection of codec will fail if the driver is loaded *after*1715X-server as described above.  You might be able to force to load1716the module, but it may result in hang-up.   Hence, make sure that1717you load this module *before* X if you encounter this kind of1718problem.1719 1720Module snd-opl3sa21721------------------1722 1723Module for Yamaha OPL3-SA2/SA3 sound cards.1724 1725isapnp1726    ISA PnP detection - 0 = disable, 1 = enable (default)1727 1728with ``isapnp=0``, the following options are available:1729 1730port1731    control port # for OPL3-SA chip (0x370)1732sb_port1733    SB port # for OPL3-SA chip (0x220,0x240)1734wss_port1735    WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)1736midi_port1737    port # for MPU-401 UART (0x300,0x330), -1 = disable1738fm_port1739    FM port # for OPL3-SA chip (0x388), -1 = disable1740irq1741    IRQ # for OPL3-SA chip (5,7,9,10)1742dma11743    first DMA # for Yamaha OPL3-SA chip (0,1,3)1744dma21745    second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable1746 1747This module supports multiple cards and ISA PnP.  It does not support1748autoprobe (if ISA PnP is not used) thus all ports must be specified!!!1749 1750The power-management is supported.1751 1752Module snd-opti92x-ad18481753-------------------------1754 1755Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.1756Module works with OAK Mozart cards as well.1757 1758isapnp1759    ISA PnP detection - 0 = disable, 1 = enable (default)1760 1761with ``isapnp=0``, the following options are available:1762 1763port1764    port # for WSS chip (0x530,0xe80,0xf40,0x604)1765mpu_port1766    port # for MPU-401 UART (0x300,0x310,0x320,0x330)1767fm_port1768    port # for OPL3 device (0x388)1769irq1770    IRQ # for WSS chip (5,7,9,10,11)1771mpu_irq1772    IRQ # for MPU-401 UART (5,7,9,10)1773dma11774    first DMA # for WSS chip (0,1,3)1775 1776This module supports only one card, autoprobe and PnP.1777 1778Module snd-opti92x-cs42311779-------------------------1780 1781Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.1782 1783isapnp1784    ISA PnP detection - 0 = disable, 1 = enable (default)1785 1786with ``isapnp=0``, the following options are available:1787 1788port1789    port # for WSS chip (0x530,0xe80,0xf40,0x604)1790mpu_port1791    port # for MPU-401 UART (0x300,0x310,0x320,0x330)1792fm_port1793    port # for OPL3 device (0x388)1794irq1795    IRQ # for WSS chip (5,7,9,10,11)1796mpu_irq1797    IRQ # for MPU-401 UART (5,7,9,10)1798dma11799    first DMA # for WSS chip (0,1,3)1800dma21801    second DMA # for WSS chip (0,1,3)1802 1803This module supports only one card, autoprobe and PnP.1804 1805Module snd-opti93x1806------------------1807 1808Module for sound cards based on OPTi 82c93x chips.1809 1810isapnp1811    ISA PnP detection - 0 = disable, 1 = enable (default)1812 1813with ``isapnp=0``, the following options are available:1814 1815port1816    port # for WSS chip (0x530,0xe80,0xf40,0x604)1817mpu_port1818    port # for MPU-401 UART (0x300,0x310,0x320,0x330)1819fm_port1820    port # for OPL3 device (0x388)1821irq1822    IRQ # for WSS chip (5,7,9,10,11)1823mpu_irq1824    IRQ # for MPU-401 UART (5,7,9,10)1825dma11826    first DMA # for WSS chip (0,1,3)1827dma21828    second DMA # for WSS chip (0,1,3)1829 1830This module supports only one card, autoprobe and PnP.1831 1832Module snd-oxygen1833-----------------1834 1835Module for sound cards based on the C-Media CMI8786/8787/8788 chip:1836 1837* Asound A-87881838* Asus Xonar DG/DGX1839* AuzenTech X-Meridian1840* AuzenTech X-Meridian 2G1841* Bgears b-Enspirer1842* Club3D Theatron DTS1843* HT-Omega Claro (plus)1844* HT-Omega Claro halo (XT)1845* Kuroutoshikou CMI8787-HG2PCI1846* Razer Barracuda AC-11847* Sondigo Inferno1848* TempoTec HiFier Fantasia1849* TempoTec HiFier Serenade1850    1851This module supports autoprobe and multiple cards.1852  1853Module snd-pcsp1854---------------1855 1856Module for internal PC-Speaker.1857 1858nopcm1859    Disable PC-Speaker PCM sound. Only beeps remain.1860nforce_wa1861    enable NForce chipset workaround. Expect bad sound.1862 1863This module supports system beeps, some kind of PCM playback and1864even a few mixer controls.1865 1866Module snd-pcxhr1867----------------1868 1869Module for Digigram PCXHR boards1870 1871This module supports multiple cards.1872 1873Module snd-portman2x41874---------------------1875 1876Module for Midiman Portman 2x4 parallel port MIDI interface1877 1878This module supports multiple cards.1879 1880Module snd-powermac (on ppc only)1881---------------------------------1882 1883Module for PowerMac, iMac and iBook on-board soundchips1884 1885enable_beep1886    enable beep using PCM (enabled as default)1887 1888Module supports autoprobe a chip.1889 1890Note: the driver may have problems regarding endianness.1891 1892The power-management is supported.1893 1894Module snd-pxa2xx-ac97 (on arm only)1895------------------------------------1896 1897Module for AC97 driver for the Intel PXA2xx chip1898 1899For ARM architecture only.1900 1901The power-management is supported.1902 1903Module snd-riptide1904------------------1905 1906Module for Conexant Riptide chip1907 1908joystick_port1909    Joystick port # (default: 0x200)1910mpu_port1911    MPU401 port # (default: 0x330)1912opl3_port1913    OPL3 port # (default: 0x388)1914 1915This module supports multiple cards.1916The driver requires the firmware loader support on kernel.1917You need to install the firmware file ``riptide.hex`` to the standard1918firmware path (e.g. /lib/firmware).1919 1920Module snd-rme321921----------------1922 1923Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 1924Prodif96 and Prodif Gold) sound cards.1925 1926This module supports multiple cards.1927 1928Module snd-rme961929----------------1930 1931Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.1932 1933This module supports multiple cards.1934 1935Module snd-rme96521936------------------1937 1938Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.1939 1940precise_ptr1941    Enable precise pointer (doesn't work reliably). (default = 0)1942 1943This module supports multiple cards.1944 1945Note: snd-page-alloc module does the job which snd-hammerfall-mem1946module did formerly.  It will allocate the buffers in advance1947when any RME9652 cards are found.  To make the buffer1948allocation sure, load snd-page-alloc module in the early1949stage of boot sequence.  See `Early Buffer Allocation`_1950section.1951 1952Module snd-sa11xx-uda1341 (on arm only)1953---------------------------------------1954 1955Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.1956 1957Module supports only one card.1958Module has no enable and index options.1959 1960The power-management is supported.1961 1962Module snd-sb81963--------------1964 1965Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,1966SoundBlaster Pro1967 1968port1969    port # for SB DSP chip (0x220,0x240,0x260)1970irq1971    IRQ # for SB DSP chip (5,7,9,10)1972dma81973    DMA # for SB DSP chip (1,3)1974 1975This module supports multiple cards and autoprobe.1976 1977The power-management is supported.1978 1979Module snd-sb16 and snd-sbawe1980-----------------------------1981 1982Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),1983SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP1984 1985mic_agc1986    Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)1987csp1988    ASP/CSP chip support - 0 = disable (default), 1 = enable1989isapnp1990    ISA PnP detection - 0 = disable, 1 = enable (default)1991 1992with isapnp=0, the following options are available:1993 1994port1995    port # for SB DSP 4.x chip (0x220,0x240,0x260)1996mpu_port1997    port # for MPU-401 UART (0x300,0x330), -1 = disable1998awe_port1999    base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe2000    module only)2001irq2002    IRQ # for SB DSP 4.x chip (5,7,9,10)2003dma82004    8-bit DMA # for SB DSP 4.x chip (0,1,3)2005dma162006    16-bit DMA # for SB DSP 4.x chip (5,6,7)2007 2008This module supports multiple cards, autoprobe and ISA PnP.2009 2010Note: To use Vibra16X cards in 16-bit half duplex mode, you must2011disable 16bit DMA with dma16 = -1 module parameter.2012Also, all Sound Blaster 16 type cards can operate in 16-bit2013half duplex mode through 8-bit DMA channel by disabling their201416-bit DMA channel.2015 2016The power-management is supported.2017 2018Module snd-sc60002019-----------------2020 2021Module for Gallant SC-6000 soundcard and later models: SC-6600 and2022SC-7000.2023 2024port2025    Port # (0x220 or 0x240)2026mss_port2027    MSS Port # (0x530 or 0xe80)2028irq2029    IRQ # (5,7,9,10,11)2030mpu_irq2031    MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq2032dma2033    DMA # (1,3,0)2034joystick2035    Enable gameport - 0 = disable (default), 1 = enable2036 2037This module supports multiple cards.2038 2039This card is also known as Audio Excel DSP 16 or Zoltrix AV302.2040 2041Module snd-sscape2042-----------------2043 2044Module for ENSONIQ SoundScape cards.2045 2046port2047    Port # (PnP setup)2048wss_port2049    WSS Port # (PnP setup)2050irq2051    IRQ # (PnP setup)2052mpu_irq2053    MPU-401 IRQ # (PnP setup)2054dma2055    DMA # (PnP setup)2056dma22057    2nd DMA # (PnP setup, -1 to disable)2058joystick2059    Enable gameport - 0 = disable (default), 1 = enable2060 2061This module supports multiple cards.2062 2063The driver requires the firmware loader support on kernel.2064 2065Module snd-sun-amd7930 (on sparc only)2066--------------------------------------2067 2068Module for AMD7930 sound chips found on Sparcs.2069 2070This module supports multiple cards.2071 2072Module snd-sun-cs4231 (on sparc only)2073-------------------------------------2074 2075Module for CS4231 sound chips found on Sparcs.2076 2077This module supports multiple cards.2078 2079Module snd-sun-dbri (on sparc only)2080-----------------------------------2081 2082Module for DBRI sound chips found on Sparcs.2083 2084This module supports multiple cards.2085 2086Module snd-wavefront2087--------------------2088 2089Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.2090 2091use_cs4232_midi2092    Use CS4232 MPU-401 interface2093    (inaccessibly located inside your computer)2094isapnp2095    ISA PnP detection - 0 = disable, 1 = enable (default)2096 2097with isapnp=0, the following options are available:2098 2099cs4232_pcm_port2100    Port # for CS4232 PCM interface.2101cs4232_pcm_irq2102    IRQ # for CS4232 PCM interface (5,7,9,11,12,15).2103cs4232_mpu_port2104    Port # for CS4232 MPU-401 interface.2105cs4232_mpu_irq2106    IRQ # for CS4232 MPU-401 interface (9,11,12,15).2107ics2115_port2108    Port # for ICS21152109ics2115_irq2110    IRQ # for ICS21152111fm_port2112    FM OPL-3 Port #2113dma12114    DMA1 # for CS4232 PCM interface.2115dma22116    DMA2 # for CS4232 PCM interface.2117 2118The below are options for wavefront_synth features:2119 2120wf_raw2121    Assume that we need to boot the OS (default:no);2122    If yes, then during driver loading, the state of the board is2123    ignored, and we reset the board and load the firmware anyway.2124fx_raw2125    Assume that the FX process needs help (default:yes);2126    If false, we'll leave the FX processor in whatever state it is2127    when the driver is loaded.  The default is to download the2128    microprogram and associated coefficients to set it up for2129    "default" operation, whatever that means.2130debug_default2131    Debug parameters for card initialization2132wait_usecs2133    How long to wait without sleeping, usecs (default:150);2134    This magic number seems to give pretty optimal throughput2135    based on my limited experimentation. 2136    If you want to play around with it and find a better value, be2137    my guest. Remember, the idea is to get a number that causes us2138    to just busy wait for as many WaveFront commands as possible,2139    without coming up with a number so large that we hog the whole2140    CPU. 2141    Specifically, with this number, out of about 134,000 status2142    waits, only about 250 result in a sleep. 2143sleep_interval2144    How long to sleep when waiting for reply (default: 100)2145sleep_tries2146    How many times to try sleeping during a wait (default: 50)2147ospath2148    Pathname to processed ICS2115 OS firmware (default:wavefront.os);2149    The path name of the ISC2115 OS firmware.  In the recent2150    version, it's handled via firmware loader framework, so it2151    must be installed in the proper path, typically,2152    /lib/firmware.2153reset_time2154    How long to wait for a reset to take effect (default:2)2155ramcheck_time2156    How many seconds to wait for the RAM test (default:20)2157osrun_time2158    How many seconds to wait for the ICS2115 OS (default:10)2159 2160This module supports multiple cards and ISA PnP.2161 2162Note: the firmware file ``wavefront.os`` was located in the earlier2163version in /etc.  Now it's loaded via firmware loader, and2164must be in the proper firmware path, such as /lib/firmware.2165Copy (or symlink) the file appropriately if you get an error2166regarding firmware downloading after upgrading the kernel.2167 2168Module snd-sonicvibes2169---------------------2170 2171Module for S3 SonicVibes PCI sound cards.2172* PINE Schubert 32 PCI2173  2174reverb2175    Reverb Enable - 1 = enable, 0 = disable (default);2176    SoundCard must have onboard SRAM for this.2177mge2178    Mic Gain Enable - 1 = enable, 0 = disable (default)2179 2180This module supports multiple cards and autoprobe.2181 2182Module snd-serial-u165502183------------------------2184 2185Module for UART16550A serial MIDI ports.2186 2187port2188    port # for UART16550A chip2189irq2190    IRQ # for UART16550A chip, -1 = poll mode2191speed2192    speed in bauds (9600,19200,38400,57600,115200)2193    38400 = default2194base2195    base for divisor in bauds (57600,115200,230400,460800)2196    115200 = default2197outs2198    number of MIDI ports in a serial port (1-4)2199    1 = default2200adaptor2201    Type of adaptor.2202	0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,2203	3 = MS-124W M/B, 4 = Generic2204 2205This module supports multiple cards. This module does not support autoprobe2206thus the main port must be specified!!! Other options are optional.2207 2208Module snd-trident2209------------------2210 2211Module for Trident 4DWave DX/NX sound cards.2212* Best Union  Miss Melody 4DWave PCI2213* HIS  4DWave PCI2214* Warpspeed  ONSpeed 4DWave PCI2215* AzTech  PCI 64-Q3D2216* Addonics  SV 7502217* CHIC  True Sound 4Dwave2218* Shark  Predator4D-PCI2219* Jaton  SonicWave 4D2220* SiS SI7018 PCI Audio2221* Hoontech SoundTrack Digital 4DWave NX2222		    2223pcm_channels2224    max channels (voices) reserved for PCM2225wavetable_size2226    max wavetable size in kB (4-?kb)2227 2228This module supports multiple cards and autoprobe.2229 2230The power-management is supported.2231 2232Module snd-ua1012233----------------2234 2235Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.2236 2237This module supports multiple devices, autoprobe and hotplugging.2238 2239Module snd-usb-audio2240--------------------2241 2242Module for USB audio and USB MIDI devices.2243 2244vid2245    Vendor ID for the device (optional)2246pid2247    Product ID for the device (optional)2248nrpacks2249    Max. number of packets per URB (default: 8)2250device_setup2251    Device specific magic number (optional);2252    Influence depends on the device2253    Default: 0x0000 2254ignore_ctl_error2255    Ignore any USB-controller regarding mixer interface (default: no)2256autoclock2257    Enable auto-clock selection for UAC2 devices (default: yes)2258quirk_alias2259    Quirk alias list, pass strings like ``0123abcd:5678beef``, which2260    applies the existing quirk for the device 5678:beef to a new2261    device 0123:abcd.2262implicit_fb2263    Apply the generic implicit feedback sync mode.  When this is set2264    and the playback stream sync mode is ASYNC, the driver tries to2265    tie an adjacent ASYNC capture stream as the implicit feedback2266    source.  This is equivalent with quirk_flags bit 17.2267use_vmalloc2268    Use vmalloc() for allocations of the PCM buffers (default: yes).2269    For architectures with non-coherent memory like ARM or MIPS, the2270    mmap access may give inconsistent results with vmalloc'ed2271    buffers.  If mmap is used on such architectures, turn off this2272    option, so that the DMA-coherent buffers are allocated and used2273    instead.2274delayed_register2275    The option is needed for devices that have multiple streams2276    defined in multiple USB interfaces.  The driver may invoke2277    registrations multiple times (once per interface) and this may2278    lead to the insufficient device enumeration.2279    This option receives an array of strings, and you can pass2280    ID:INTERFACE like ``0123abcd:4`` for performing the delayed2281    registration to the given device.  In this example, when a USB2282    device 0123:abcd is probed, the driver waits the registration2283    until the USB interface 4 gets probed.2284    The driver prints a message like "Found post-registration device2285    assignment: 1234abcd:04" for such a device, so that user can2286    notice the need.2287quirk_flags2288    Contains the bit flags for various device specific workarounds.2289    Applied to the corresponding card index.2290 2291        * bit 0: Skip reading sample rate for devices2292        * bit 1: Create Media Controller API entries2293        * bit 2: Allow alignment on audio sub-slot at transfer2294        * bit 3: Add length specifier to transfers2295        * bit 4: Start playback stream at first in implement feedback mode2296        * bit 5: Skip clock selector setup2297        * bit 6: Ignore errors from clock source search2298        * bit 7: Indicates ITF-USB DSD based DACs2299        * bit 8: Add a delay of 20ms at each control message handling2300        * bit 9: Add a delay of 1-2ms at each control message handling2301        * bit 10: Add a delay of 5-6ms at each control message handling2302        * bit 11: Add a delay of 50ms at each interface setup2303        * bit 12: Perform sample rate validations at probe2304        * bit 13: Disable runtime PM autosuspend2305        * bit 14: Ignore errors for mixer access2306        * bit 15: Support generic DSD raw U32_BE format2307        * bit 16: Set up the interface at first like UAC12308        * bit 17: Apply the generic implicit feedback sync mode2309        * bit 18: Don't apply implicit feedback sync mode2310 2311This module supports multiple devices, autoprobe and hotplugging.2312 2313NB: ``nrpacks`` parameter can be modified dynamically via sysfs.2314Don't put the value over 20.  Changing via sysfs has no sanity2315check.2316 2317NB: ``ignore_ctl_error=1`` may help when you get an error at accessing2318the mixer element such as URB error -22.  This happens on some2319buggy USB device or the controller.  This workaround corresponds to2320the ``quirk_flags`` bit 14, too.2321 2322NB: ``quirk_alias`` option is provided only for testing / development.2323If you want to have a proper support, contact to upstream for2324adding the matching quirk in the driver code statically.2325Ditto for ``quirk_flags``.  If a device is known to require specific2326workarounds, please report to the upstream.2327 2328Module snd-usb-caiaq2329--------------------2330 2331Module for caiaq UB audio interfaces,2332 2333* Native Instruments RigKontrol22334* Native Instruments Kore Controller2335* Native Instruments Audio Kontrol 12336* Native Instruments Audio 8 DJ2337	2338This module supports multiple devices, autoprobe and hotplugging.2339  2340Module snd-usb-usx2y2341--------------------2342 2343Module for Tascam USB US-122, US-224 and US-428 devices.2344 2345This module supports multiple devices, autoprobe and hotplugging.2346 2347Note: you need to load the firmware via ``usx2yloader`` utility included2348in alsa-tools and alsa-firmware packages.2349 2350Module snd-via82xx2351------------------2352 2353Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,23548233C, 8235, 8237 (south) bridge.2355 2356mpu_port2357    0x300,0x310,0x320,0x330, otherwise obtain BIOS setup2358    [VIA686A/686B only]2359joystick2360    Enable joystick (default off) [VIA686A/686B only]2361ac97_clock2362    AC'97 codec clock base (default 48000Hz)2363dxs_support2364    support DXS channels, 0 = auto (default), 1 = enable, 2 = disable,2365    3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different2366    sample rates on different channels [VIA8233/C, 8235, 8237 only]2367ac97_quirk2368    AC'97 workaround for strange hardware;2369    See `AC97 Quirk Option`_ section below.2370 2371This module supports one chip and autoprobe.2372 2373Note: on some SMP motherboards like MSI 694D the interrupts might2374not be generated properly.  In such a case, please try to2375set the SMP (or MPS) version on BIOS to 1.1 instead of2376default value 1.4.  Then the interrupt number will be2377assigned under 15. You might also upgrade your BIOS.2378 2379Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)2380channels as the first PCM.  On these channels, up to 42381streams can be played at the same time, and the controller2382can perform sample rate conversion with separate rates for2383each channel.2384As default (``dxs_support = 0``), 48k fixed rate is chosen2385except for the known devices since the output is often2386noisy except for 48k on some mother boards due to the2387bug of BIOS.2388Please try once ``dxs_support=5`` and if it works on other2389sample rates (e.g. 44.1kHz of mp3 playback), please let us2390know the PCI subsystem vendor/device id's (output of2391``lspci -nv``).2392If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it2393doesn't work too, try dxs_support=1.  (dxs_support=1 is2394usually for old motherboards.  The correct implemented2395board should work with 4 or 5.)  If it still doesn't2396work and the default setting is ok, ``dxs_support=3`` is the2397right choice.  If the default setting doesn't work at all,2398try ``dxs_support=2`` to disable the DXS channels.2399In any cases, please let us know the result and the2400subsystem vendor/device ids.  See `Links and Addresses`_2401below.2402 2403Note: for the MPU401 on VIA823x, use snd-mpu401 driver2404additionally.  The mpu_port option is for VIA686 chips only.2405 2406The power-management is supported.2407 2408Module snd-via82xx-modem2409------------------------2410 2411Module for VIA82xx AC97 modem2412 2413ac97_clock2414    AC'97 codec clock base (default 48000Hz)2415 2416This module supports one card and autoprobe.2417 2418Note: The default index value of this module is -2, i.e. the first2419slot is excluded.2420 2421The power-management is supported.2422 2423Module snd-virmidi2424------------------2425 2426Module for virtual rawmidi devices.2427This module creates virtual rawmidi devices which communicate2428to the corresponding ALSA sequencer ports.2429 2430midi_devs2431    MIDI devices # (1-4, default=4)2432 2433This module supports multiple cards.2434 2435Module snd-virtuoso2436-------------------2437 2438Module for sound cards based on the Asus AV66/AV100/AV200 chips,2439i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),2440Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.2441 2442This module supports autoprobe and multiple cards.2443 2444Module snd-vx2222445----------------2446 2447Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.2448 2449mic2450    Enable Microphone on V222 Mic (NYI)2451ibl2452    Capture IBL size. (default = 0, minimum size)2453 2454This module supports multiple cards.2455 2456When the driver is compiled as a module and the hotplug firmware2457is supported, the firmware data is loaded via hotplug automatically.2458Install the necessary firmware files in alsa-firmware package.2459When no hotplug fw loader is available, you need to load the2460firmware via vxloader utility in alsa-tools package.  To invoke2461vxloader automatically, add the following to /etc/modprobe.d/alsa.conf2462 2463::2464 2465  install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\2466    && /usr/bin/vxloader2467 2468(for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to2469/etc/modules.conf, instead.)2470IBL size defines the interrupts period for PCM.  The smaller size2471gives smaller latency but leads to more CPU consumption, too.2472The size is usually aligned to 126.  As default (=0), the smallest2473size is chosen.  The possible IBL values can be found in2474/proc/asound/cardX/vx-status proc file.2475 2476The power-management is supported.2477 2478Module snd-vxpocket2479-------------------2480 2481Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.2482 2483ibl2484    Capture IBL size. (default = 0, minimum size)2485 2486This module supports multiple cards.  The module is compiled only when2487PCMCIA is supported on kernel.2488 2489With the older 2.6.x kernel, to activate the driver via the card2490manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the2491sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no2492longer require a config file.2493 2494When the driver is compiled as a module and the hotplug firmware2495is supported, the firmware data is loaded via hotplug automatically.2496Install the necessary firmware files in alsa-firmware package.2497When no hotplug fw loader is available, you need to load the2498firmware via vxloader utility in alsa-tools package.2499 2500About capture IBL, see the description of snd-vx222 module.2501 2502Note: snd-vxp440 driver is merged to snd-vxpocket driver since2503ALSA 1.0.10.2504 2505The power-management is supported.2506 2507Module snd-ymfpci2508-----------------2509 2510Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).2511 2512mpu_port2513    0x300,0x330,0x332,0x334, 0 (disable) by default,2514    1 (auto-detect for YMF744/754 only)2515fm_port2516    0x388,0x398,0x3a0,0x3a8, 0 (disable) by default2517    1 (auto-detect for YMF744/754 only)2518joystick_port2519    0x201,0x202,0x204,0x205, 0 (disable) by default,2520    1 (auto-detect)2521rear_switch2522    enable shared rear/line-in switch (bool)2523 2524This module supports autoprobe and multiple chips.2525 2526The power-management is supported.2527 2528Module snd-pdaudiocf2529--------------------2530 2531Module for Sound Core PDAudioCF sound card.2532 2533The power-management is supported.2534 2535 2536AC97 Quirk Option2537=================2538 2539The ac97_quirk option is used to enable/override the workaround for2540specific devices on drivers for on-board AC'97 controllers like2541snd-intel8x0.  Some hardware have swapped output pins between Master2542and Headphone, or Surround (thanks to confusion of AC'972543specifications from version to version :-)2544 2545The driver provides the auto-detection of known problematic devices,2546but some might be unknown or wrongly detected.  In such a case, pass2547the proper value with this option.2548 2549The following strings are accepted:2550 2551default2552    Don't override the default setting2553none2554    Disable the quirk2555hp_only2556    Bind Master and Headphone controls as a single control2557swap_hp2558    Swap headphone and master controls2559swap_surround2560    Swap master and surround controls2561ad_sharing2562    For AD1985, turn on OMS bit and use headphone2563alc_jack2564    For ALC65x, turn on the jack sense mode2565inv_eapd2566    Inverted EAPD implementation2567mute_led2568    Bind EAPD bit for turning on/off mute LED2569 2570For backward compatibility, the corresponding integer value -1, 0, ...2571are  accepted, too.2572 2573For example, if ``Master`` volume control has no effect on your device2574but only ``Headphone`` does, pass ac97_quirk=hp_only module option.2575 2576 2577Configuring Non-ISAPNP Cards2578============================2579 2580When the kernel is configured with ISA-PnP support, the modules2581supporting the isapnp cards will have module options ``isapnp``.2582If this option is set, *only* the ISA-PnP devices will be probed.2583For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option2584together with the proper i/o and irq configuration.2585 2586When the kernel is configured without ISA-PnP support, isapnp option2587will be not built in.2588 2589 2590Module Autoloading Support2591==========================2592 2593The ALSA drivers can be loaded automatically on demand by defining2594module aliases.  The string ``snd-card-%1`` is requested for ALSA native2595devices where ``%i`` is sound card number from zero to seven.2596 2597To auto-load an ALSA driver for OSS services, define the string2598``sound-slot-%i`` where ``%i`` means the slot number for OSS, which2599corresponds to the card index of ALSA.  Usually, define this2600as the same card module.2601 2602An example configuration for a single emu10k1 card is like below:2603::2604 2605    ----- /etc/modprobe.d/alsa.conf2606    alias snd-card-0 snd-emu10k12607    alias sound-slot-0 snd-emu10k12608    ----- /etc/modprobe.d/alsa.conf2609 2610The available number of auto-loaded sound cards depends on the module2611option ``cards_limit`` of snd module.  As default it's set to 1.2612To enable the auto-loading of multiple cards, specify the number of2613sound cards in that option.2614 2615When multiple cards are available, it'd better to specify the index2616number for each card via module option, too, so that the order of2617cards is kept consistent.2618 2619An example configuration for two sound cards is like below:2620::2621 2622    ----- /etc/modprobe.d/alsa.conf2623    # ALSA portion2624    options snd cards_limit=22625    alias snd-card-0 snd-interwave2626    alias snd-card-1 snd-ens13712627    options snd-interwave index=02628    options snd-ens1371 index=12629    # OSS/Free portion2630    alias sound-slot-0 snd-interwave2631    alias sound-slot-1 snd-ens13712632    ----- /etc/modprobe.d/alsa.conf2633 2634In this example, the interwave card is always loaded as the first card2635(index 0) and ens1371 as the second (index 1).2636 2637Alternative (and new) way to fixate the slot assignment is to use2638``slots`` option of snd module.  In the case above, specify like the2639following: 2640::2641 2642    options snd slots=snd-interwave,snd-ens13712643 2644Then, the first slot (#0) is reserved for snd-interwave driver, and2645the second (#1) for snd-ens1371.  You can omit index option in each2646driver if slots option is used (although you can still have them at2647the same time as long as they don't conflict).2648 2649The slots option is especially useful for avoiding the possible2650hot-plugging and the resultant slot conflict.  For example, in the2651case above again, the first two slots are already reserved.  If any2652other driver (e.g. snd-usb-audio) is loaded before snd-interwave or2653snd-ens1371, it will be assigned to the third or later slot.2654 2655When a module name is given with '!', the slot will be given for any2656modules but that name.  For example, ``slots=!snd-pcsp`` will reserve2657the first slot for any modules but snd-pcsp. 2658 2659 2660ALSA PCM devices to OSS devices mapping2661=======================================2662::2663 2664    /dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 42665    /dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 32666    /dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 122667    /dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 202668    /dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 192669    /dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 282670    /dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 362671    /dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 392672    /dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 442673 2674The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means2675sound card number and second means device number.  The ALSA devices2676have either ``c`` or ``p`` suffix indicating the direction, capture and2677playback, respectively.2678 2679Please note that the device mapping above may be varied via the module2680options of snd-pcm-oss module.2681 2682 2683Proc interfaces (/proc/asound)2684==============================2685 2686/proc/asound/card#/pcm#[cp]/oss2687-------------------------------2688erase2689    erase all additional information about OSS applications2690 2691<app_name> <fragments> <fragment_size> [<options>]2692    <app_name>2693	name of application with (higher priority) or without path2694    <fragments>2695	 number of fragments or zero if auto2696    <fragment_size>2697	 size of fragment in bytes or zero if auto2698    <options>2699	optional parameters2700 2701	disable2702	    the application tries to open a pcm device for2703	    this channel but does not want to use it.2704	    (Cause a bug or mmap needs)2705	    It's good for Quake etc...2706	direct2707	    don't use plugins2708	block2709	     force block mode (rvplayer)2710	non-block2711	    force non-block mode2712	whole-frag2713	    write only whole fragments (optimization affecting2714	    playback only)2715	no-silence2716	    do not fill silence ahead to avoid clicks2717	buggy-ptr2718	    Returns the whitespace blocks in GETOPTR ioctl2719	    instead of filled blocks2720 2721Example:2722::2723 2724    echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss2725    echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss2726    echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss2727 2728 2729Early Buffer Allocation2730=======================2731 2732Some drivers (e.g. hdsp) require the large contiguous buffers, and2733sometimes it's too late to find such spaces when the driver module is2734actually loaded due to memory fragmentation.  You can pre-allocate the2735PCM buffers by loading snd-page-alloc module and write commands to its2736proc file in prior, for example, in the early boot stage like2737``/etc/init.d/*.local`` scripts.2738 2739Reading the proc file /proc/drivers/snd-page-alloc shows the current2740usage of page allocation.  In writing, you can send the following2741commands to the snd-page-alloc driver:2742 2743* add VENDOR DEVICE MASK SIZE BUFFERS2744 2745VENDOR and DEVICE are PCI vendor and device IDs.  They take2746integer numbers (0x prefix is needed for the hex).2747MASK is the PCI DMA mask.  Pass 0 if not restricted.2748SIZE is the size of each buffer to allocate.  You can pass2749k and m suffix for KB and MB.  The max number is 16MB.2750BUFFERS is the number of buffers to allocate.  It must be greater2751than 0.  The max number is 4.2752 2753* erase2754 2755This will erase the all pre-allocated buffers which are not in2756use.2757 2758 2759Links and Addresses2760===================2761 2762ALSA project homepage2763    http://www.alsa-project.org2764Kernel Bugzilla2765    http://bugzilla.kernel.org/2766ALSA Developers ML2767    mailto:alsa-devel@alsa-project.org2768alsa-info.sh script2769    https://www.alsa-project.org/alsa-info.sh2770