linux/Documentation/sound/alsa/ALSA-Configuration.txt History
<<
>>
Prefs
   1
   2                Advanced Linux Sound Architecture - Driver
   3                ==========================================
   4                            Configuration guide
   5
   6
   7Kernel Configuration
   8====================
   9
  10To enable ALSA support you need at least to build the kernel with
  11primary sound card support (CONFIG_SOUND).  Since ALSA can emulate OSS,
  12you don't have to choose any of the OSS modules.
  13
  14Enable "OSS API emulation" (CONFIG_SND_OSSEMUL) and both OSS mixer and
  15PCM supports if you want to run OSS applications with ALSA.
  16
  17If you want to support the WaveTable functionality on cards such as
  18SB Live! then you need to enable "Sequencer support"
  19(CONFIG_SND_SEQUENCER).
  20
  21To make ALSA debug messages more verbose, enable the "Verbose printk"
  22and "Debug" options.  To check for memory leaks, turn on "Debug memory"
  23too.  "Debug detection" will add checks for the detection of cards.
  24
  25Please note that all the ALSA ISA drivers support the Linux isapnp API
  26(if the card supports ISA PnP).  You don't need to configure the cards
  27using isapnptools.
  28
  29
  30Creating ALSA devices
  31=====================
  32
  33This depends on your distribution, but normally you use the /dev/MAKEDEV
  34script to create the necessary device nodes.  On some systems you use a
  35script named 'snddevices'.
  36
  37
  38Module parameters
  39=================
  40
  41The user can load modules with options. If the module supports more than
  42one card and you have more than one card of the same type then you can
  43specify multiple values for the option separated by commas.
  44
  45Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
  46
  47  Module snd
  48  ----------
  49
  50    The core ALSA module.  It is used by all ALSA card drivers.
  51    It takes the following options which have global effects.
  52
  53    major       - major number for sound driver
  54                - Default: 116
  55    cards_limit
  56                - limiting card index for auto-loading (1-8)
  57                - Default: 1
  58                - For auto-loading more than one card, specify this
  59                  option together with snd-card-X aliases.
  60
  61  
  62  Module snd-pcm-oss
  63  ------------------
  64
  65    The PCM OSS emulation module.
  66    This module takes options which change the mapping of devices.
  67
  68    dsp_map     - PCM device number maps assigned to the 1st OSS device.
  69                - Default: 0
  70    adsp_map    - PCM device number maps assigned to the 2st OSS device.
  71                - Default: 1
  72    nonblock_open
  73                - Don't block opening busy PCM devices.  Default: 1
  74
  75    For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of
  76    the card #0.  Similarly, when adsp_map=0, /dev/adsp will be mapped
  77    to PCM #0 of the card #0.
  78    For changing the second or later card, specify the option with
  79    commas, such like "dsp_map=0,1".
  80
  81    nonblock_open option is used to change the behavior of the PCM
  82    regarding opening the device.  When this option is non-zero,
  83    opening a busy OSS PCM device won't be blocked but return
  84    immediately with EAGAIN (just like O_NONBLOCK flag).
  85    
  86  Module snd-rawmidi
  87  ------------------
  88
  89    This module takes options which change the mapping of devices.
  90    similar to those of the snd-pcm-oss module.
  91
  92    midi_map    - MIDI device number maps assigned to the 1st OSS device.
  93                - Default: 0
  94    amidi_map   - MIDI device number maps assigned to the 2st OSS device.
  95                - Default: 1
  96
  97  Common parameters for top sound card modules
  98  --------------------------------------------
  99
 100    Each of top level sound card module takes the following options.
 101
 102    index       - index (slot #) of sound card
 103                - Values: 0 through 31 or negative
 104                - If nonnegative, assign that index number
 105                - if negative, interpret as a bitmask of permissible
 106                  indices; the first free permitted index is assigned
 107                - Default: -1
 108    id          - card ID (identifier or name)
 109                - Can be up to 15 characters long
 110                - Default: the card type
 111                - A directory by this name is created under /proc/asound/
 112                  containing information about the card
 113                - This ID can be used instead of the index number in
 114                  identifying the card
 115    enable      - enable card
 116                - Default: enabled, for PCI and ISA PnP cards
 117
 118  Module snd-adlib
 119  ----------------
 120
 121    Module for AdLib FM cards.
 122
 123    port        - port # for OPL chip
 124
 125    This module supports multiple cards. It does not support autoprobe, so
 126    the port must be specified. For actual AdLib FM cards it will be 0x388.
 127    Note that this card does not have PCM support and no mixer; only FM
 128    synthesis.
 129
 130    Make sure you have "sbiload" from the alsa-tools package available and,
 131    after loading the module, find out the assigned ALSA sequencer port
 132    number through "sbiload -l". Example output:
 133
 134      Port     Client name                       Port name
 135      64:0     OPL2 FM synth                     OPL2 FM Port
 136
 137    Load the std.sb and drums.sb patches also supplied by sbiload:
 138
 139      sbiload -p 64:0 std.sb drums.sb
 140
 141    If you use this driver to drive an OPL3, you can use std.o3 and drums.o3
 142    instead. To have the card produce sound, use aplaymidi from alsa-utils:
 143
 144      aplaymidi -p 64:0 foo.mid
 145
 146  Module snd-ad1816a
 147  ------------------
 148
 149    Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
 150
 151    port        - port # for AD1816A chip (PnP setup)
 152    mpu_port    - port # for MPU-401 UART (PnP setup)
 153    fm_port     - port # for OPL3 (PnP setup)
 154    irq         - IRQ # for AD1816A chip (PnP setup)
 155    mpu_irq     - IRQ # for MPU-401 UART (PnP setup)
 156    dma1        - first DMA # for AD1816A chip (PnP setup)
 157    dma2        - second DMA # for AD1816A chip (PnP setup)
 158    clockfreq   - Clock frequency for AD1816A chip (default = 0, 33000Hz)
 159    
 160    This module supports multiple cards, autoprobe and PnP.
 161    
 162  Module snd-ad1848
 163  -----------------
 164
 165    Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
 166
 167    port        - port # for AD1848 chip
 168    irq         - IRQ # for AD1848  chip
 169    dma1        - DMA # for AD1848 chip (0,1,3)
 170    
 171    This module supports multiple cards.  It does not support autoprobe
 172    thus main port must be specified!!! Other ports are optional.
 173    
 174    The power-management is supported.
 175
 176  Module snd-ad1889
 177  -----------------
 178
 179    Module for Analog Devices AD1889 chips.
 180
 181    ac97_quirk  - AC'97 workaround for strange hardware
 182                  See the description of intel8x0 module for details.
 183
 184    This module supports multiple cards.
 185
 186  Module snd-ali5451
 187  ------------------
 188
 189    Module for ALi M5451 PCI chip.
 190
 191    pcm_channels    - Number of hardware channels assigned for PCM
 192    spdif           - Support SPDIF I/O
 193                    - Default: disabled
 194
 195    This module supports one chip and autoprobe.
 196
 197    The power-management is supported.
 198
 199  Module snd-als100
 200  -----------------
 201
 202    Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
 203
 204    port        - port # for ALS100 (SB16) chip (PnP setup)
 205    irq         - IRQ # for ALS100 (SB16) chip (PnP setup)
 206    dma8        - 8-bit DMA # for ALS100 (SB16) chip (PnP setup)
 207    dma16       - 16-bit DMA # for ALS100 (SB16) chip (PnP setup)
 208    mpu_port    - port # for MPU-401 UART (PnP setup)
 209    mpu_irq     - IRQ # for MPU-401 (PnP setup)
 210    fm_port     - port # for OPL3 FM (PnP setup)
 211    
 212    This module supports multiple cards, autoprobe and PnP.
 213
 214    The power-management is supported.
 215
 216  Module snd-als300
 217  -----------------
 218
 219    Module for  Avance Logic ALS300 and ALS300+
 220
 221    This module supports multiple cards.
 222
 223    The power-management is supported.
 224
 225  Module snd-als4000
 226  ------------------
 227
 228    Module for sound cards based on Avance Logic ALS4000 PCI chip.
 229
 230    joystick_port - port # for legacy joystick support.
 231                    0 = disabled (default), 1 = auto-detect
 232    
 233    This module supports multiple cards, autoprobe and PnP.
 234
 235    The power-management is supported.
 236
 237  Module snd-atiixp
 238  -----------------
 239
 240    Module for ATI IXP 150/200/250/400 AC97 controllers.
 241
 242    ac97_clock          - AC'97 clock (default = 48000)
 243    ac97_quirk          - AC'97 workaround for strange hardware
 244                          See "AC97 Quirk Option" section below.
 245    ac97_codec          - Workaround to specify which AC'97 codec 
 246                          instead of probing.  If this works for you
 247                          file a bug with your `lspci -vn` output.
 248                          -2  -- Force probing.
 249                          -1  -- Default behavior.
 250                          0-2 -- Use the specified codec.
 251    spdif_aclink        - S/PDIF transfer over AC-link (default = 1)
 252
 253    This module supports one card and autoprobe.
 254
 255    ATI IXP has two different methods to control SPDIF output.  One is
 256    over AC-link and another is over the "direct" SPDIF output.  The
 257    implementation depends on the motherboard, and you'll need to
 258    choose the correct one via spdif_aclink module option.
 259
 260    The power-management is supported.
 261
 262  Module snd-atiixp-modem
 263  -----------------------
 264
 265    Module for ATI IXP 150/200/250 AC97 modem controllers.
 266
 267    This module supports one card and autoprobe.
 268
 269    Note: The default index value of this module is -2, i.e. the first
 270          slot is excluded.
 271
 272    The power-management is supported.
 273
 274  Module snd-au8810, snd-au8820, snd-au8830
 275  -----------------------------------------
 276
 277    Module for Aureal Vortex, Vortex2 and Advantage device.
 278
 279    pcifix      - Control PCI workarounds
 280                  0 = Disable all workarounds
 281                  1 = Force the PCI latency of the Aureal card to 0xff
 282                  2 = Force the Extend PCI#2 Internal Master for Efficient
 283                      Handling of Dummy Requests on the VIA KT133 AGP Bridge
 284                  3 = Force both settings
 285                  255 = Autodetect what is required (default)
 286
 287    This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
 288    EQ, mpu401, gameport. A3D and wavetable support are still in development.
 289    Development and reverse engineering work is being coordinated at
 290    http://savannah.nongnu.org/projects/openvortex/
 291    SPDIF output has a copy of the AC97 codec output, unless you use the
 292    "spdif" pcm device, which allows raw data passthru.
 293    The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
 294    Advantage.
 295
 296    Note: Some ALSA mixer applications don't handle the SPDIF sample rate 
 297           control correctly. If you have problems regarding this, try
 298           another ALSA compliant mixer (alsamixer works).
 299
 300  Module snd-azt2320
 301  ------------------
 302
 303    Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
 304
 305    port        - port # for AZT2320 chip (PnP setup)
 306    wss_port    - port # for WSS (PnP setup)
 307    mpu_port    - port # for MPU-401 UART (PnP setup)
 308    fm_port     - FM port # for AZT2320 chip (PnP setup)
 309    irq         - IRQ # for AZT2320 (WSS) chip (PnP setup)
 310    mpu_irq     - IRQ # for MPU-401 UART (PnP setup)
 311    dma1        - 1st DMA # for AZT2320 (WSS) chip (PnP setup)
 312    dma2        - 2nd DMA # for AZT2320 (WSS) chip (PnP setup)
 313    
 314    This module supports multiple cards, PnP and autoprobe.
 315    
 316    The power-management is supported.
 317
 318  Module snd-azt3328
 319  ------------------
 320
 321    Module for sound cards based on Aztech AZF3328 PCI chip.
 322
 323    joystick    - Enable joystick (default off)
 324
 325    This module supports multiple cards.
 326
 327  Module snd-bt87x
 328  ----------------
 329
 330    Module for video cards based on Bt87x chips.
 331
 332    digital_rate - Override the default digital rate (Hz)
 333    load_all    - Load the driver even if the card model isn't known
 334
 335    This module supports multiple cards.
 336
 337    Note: The default index value of this module is -2, i.e. the first
 338          slot is excluded.
 339
 340  Module snd-ca0106
 341  -----------------
 342
 343    Module for Creative Audigy LS and SB Live 24bit
 344
 345    This module supports multiple cards.
 346
 347
 348  Module snd-cmi8330
 349  ------------------
 350
 351    Module for sound cards based on C-Media CMI8330 ISA chips.
 352
 353    wssport     - port # for CMI8330 chip (WSS)
 354    wssirq      - IRQ # for CMI8330 chip (WSS)
 355    wssdma      - first DMA # for CMI8330 chip (WSS)
 356    sbport      - port # for CMI8330 chip (SB16)
 357    sbirq       - IRQ # for CMI8330 chip (SB16)
 358    sbdma8      - 8bit DMA # for CMI8330 chip (SB16)
 359    sbdma16     - 16bit DMA # for CMI8330 chip (SB16)
 360
 361    This module supports multiple cards and autoprobe.
 362
 363    The power-management is supported.
 364
 365  Module snd-cmipci
 366  -----------------
 367
 368    Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
 369
 370    mpu_port    - port address of MIDI interface (8338 only):
 371                  0x300,0x310,0x320,0x330 = legacy port,
 372                  0 = disable (default)
 373    fm_port     - port address of OPL-3 FM synthesizer (8x38 only):
 374                  0x388 = legacy port,
 375                  1 = integrated PCI port (default on 8738),
 376                  0 = disable
 377    soft_ac3    - Software-conversion of raw SPDIF packets (model 033 only)
 378                  (default = 1)
 379    joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
 380
 381    This module supports autoprobe and multiple cards.
 382    
 383    The power-management is supported.
 384
 385  Module snd-cs4231
 386  -----------------
 387
 388    Module for sound cards based on CS4231 ISA chips.
 389
 390    port        - port # for CS4231 chip
 391    mpu_port    - port # for MPU-401 UART (optional), -1 = disable
 392    irq         - IRQ # for CS4231 chip
 393    mpu_irq     - IRQ # for MPU-401 UART
 394    dma1        - first DMA # for CS4231 chip
 395    dma2        - second DMA # for CS4231 chip
 396    
 397    This module supports multiple cards. This module does not support autoprobe
 398    thus main port must be specified!!! Other ports are optional.
 399
 400    The power-management is supported.
 401    
 402  Module snd-cs4232
 403  -----------------
 404
 405    Module for sound cards based on CS4232/CS4232A ISA chips.
 406
 407    port        - port # for CS4232 chip (PnP setup - 0x534)
 408    cport       - control port # for CS4232 chip (PnP setup - 0x120,0x210,0xf00)
 409    mpu_port    - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
 410    fm_port     - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
 411    irq         - IRQ # for CS4232 chip (5,7,9,11,12,15)
 412    mpu_irq     - IRQ # for MPU-401 UART (9,11,12,15)
 413    dma1        - first DMA # for CS4232 chip (0,1,3)
 414    dma2        - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
 415    isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
 416    
 417    This module supports multiple cards. This module does not support autoprobe
 418    thus main port must be specified!!! Other ports are optional.
 419
 420    The power-management is supported.
 421    
 422  Module snd-cs4236
 423  -----------------
 424
 425    Module for sound cards based on CS4235/CS4236/CS4236B/CS4237B/
 426                                   CS4238B/CS4239 ISA chips.
 427
 428    port        - port # for CS4236 chip (PnP setup - 0x534)
 429    cport       - control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
 430    mpu_port    - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
 431    fm_port     - FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
 432    irq         - IRQ # for CS4236 chip (5,7,9,11,12,15)
 433    mpu_irq     - IRQ # for MPU-401 UART (9,11,12,15)
 434    dma1        - first DMA # for CS4236 chip (0,1,3)
 435    dma2        - second DMA # for CS4236 chip (0,1,3), -1 = disable
 436    isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
 437    
 438    This module supports multiple cards. This module does not support autoprobe
 439    (if ISA PnP is not used) thus main port and control port must be
 440    specified!!! Other ports are optional.
 441
 442    The power-management is supported.
 443
 444  Module snd-cs4281
 445  -----------------
 446
 447    Module for Cirrus Logic CS4281 soundchip.
 448
 449    dual_codec  - Secondary codec ID (0 = disable, default)
 450
 451    This module supports multiple cards.
 452
 453    The power-management is supported.
 454
 455  Module snd-cs46xx
 456  -----------------
 457
 458    Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
 459                                       CS4624/CS4630/CS4280 PCI chips.
 460
 461    external_amp     - Force to enable external amplifier.
 462    thinkpad         - Force to enable Thinkpad's CLKRUN control.
 463    mmap_valid       - Support OSS mmap mode (default = 0).
 464
 465    This module supports multiple cards and autoprobe.
 466    Usually external amp and CLKRUN controls are detected automatically
 467    from PCI sub vendor/device ids.  If they don't work, give the options
 468    above explicitly.
 469
 470    The power-management is supported.
 471
 472  Module snd-cs5530
 473  _________________
 474
 475    Module for Cyrix/NatSemi Geode 5530 chip. 
 476  
 477  Module snd-cs5535audio
 478  ----------------------
 479
 480    Module for multifunction CS5535 companion PCI device
 481
 482    The power-management is supported.
 483
 484  Module snd-darla20
 485  ------------------
 486
 487    Module for Echoaudio Darla20
 488
 489    This module supports multiple cards.
 490    The driver requires the firmware loader support on kernel.
 491
 492  Module snd-darla24
 493  ------------------
 494
 495    Module for Echoaudio Darla24
 496
 497    This module supports multiple cards.
 498    The driver requires the firmware loader support on kernel.
 499
 500  Module snd-dt019x
 501  -----------------
 502
 503    Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
 504    only)
 505
 506    port        - Port # (PnP setup)
 507    mpu_port    - Port # for MPU-401 (PnP setup)
 508    fm_port     - Port # for FM OPL-3 (PnP setup)
 509    irq         - IRQ # (PnP setup)
 510    mpu_irq     - IRQ # for MPU-401 (PnP setup)
 511    dma8        - DMA # (PnP setup)
 512
 513    This module supports multiple cards.  This module is enabled only with
 514    ISA PnP support.
 515
 516    The power-management is supported.
 517
 518  Module snd-dummy
 519  ----------------
 520
 521    Module for the dummy sound card. This "card" doesn't do any output
 522    or input, but you may use this module for any application which
 523    requires a sound card (like RealPlayer).
 524
 525    The power-management is supported.
 526
 527  Module snd-echo3g
 528  -----------------
 529
 530    Module for Echoaudio 3G cards (Gina3G/Layla3G)
 531
 532    This module supports multiple cards.
 533    The driver requires the firmware loader support on kernel.
 534
 535  Module snd-emu10k1
 536  ------------------
 537
 538    Module for EMU10K1/EMU10k2 based PCI sound cards.
 539                        * Sound Blaster Live!
 540                        * Sound Blaster PCI 512
 541                        * Emu APS (partially supported)
 542                        * Sound Blaster Audigy
 543
 544    extin   - bitmap of available external inputs for FX8010 (see bellow)
 545    extout  - bitmap of available external outputs for FX8010 (see bellow)
 546    seq_ports - allocated sequencer ports (4 by default)
 547    max_synth_voices - limit of voices used for wavetable (64 by default)
 548    max_buffer_size  - specifies the maximum size of wavetable/pcm buffers
 549                       given in MB unit.  Default value is 128.
 550    enable_ir - enable IR
 551
 552    This module supports multiple cards and autoprobe.
 553
 554    Input & Output configurations                       [extin/extout]
 555        * Creative Card wo/Digital out                  [0x0003/0x1f03]
 556        * Creative Card w/Digital out                   [0x0003/0x1f0f]
 557        * Creative Card w/Digital CD in                 [0x000f/0x1f0f]
 558        * Creative Card wo/Digital out + LiveDrive      [0x3fc3/0x1fc3]
 559        * Creative Card w/Digital out + LiveDrive       [0x3fc3/0x1fcf]
 560        * Creative Card w/Digital CD in + LiveDrive     [0x3fcf/0x1fcf]
 561        * Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
 562        * Creative Card w/Digital out + Digital I/O 2   [0x0fc3/0x1f0f]
 563        * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
 564        * Creative Card 5.1/w Digital out + LiveDrive   [0x3fc3/0x1fff]
 565        * Creative Card 5.1 (c) 2003                    [0x3fc3/0x7cff]
 566        * Creative Card all ins and outs                [0x3fff/0x7fff]
 567    
 568    The power-management is supported.
 569
 570  Module snd-emu10k1x
 571  -------------------
 572
 573    Module for Creative Emu10k1X (SB Live Dell OEM version)
 574
 575    This module supports multiple cards.
 576
 577  Module snd-ens1370
 578  ------------------
 579
 580    Module for Ensoniq AudioPCI ES1370 PCI sound cards.
 581                        * SoundBlaster PCI 64
 582                        * SoundBlaster PCI 128
 583
 584    joystick            - Enable joystick (default off)
 585
 586    This module supports multiple cards and autoprobe.
 587    
 588    The power-management is supported.
 589
 590  Module snd-ens1371
 591  ------------------
 592
 593    Module for Ensoniq AudioPCI ES1371 PCI sound cards.
 594                        * SoundBlaster PCI 64
 595                        * SoundBlaster PCI 128
 596                        * SoundBlaster Vibra PCI
 597
 598    joystick_port       - port # for joystick (0x200,0x208,0x210,0x218),
 599                          0 = disable (default), 1 = auto-detect
 600
 601    This module supports multiple cards and autoprobe.
 602    
 603    The power-management is supported.
 604
 605  Module snd-es968
 606  ----------------
 607
 608    Module for sound cards based on ESS ES968 chip (PnP only).
 609
 610    port        - port # for ES968 (SB8) chip (PnP setup)
 611    irq         - IRQ # for ES968 (SB8) chip (PnP setup)
 612    dma1        - DMA # for ES968 (SB8) chip (PnP setup)
 613    
 614    This module supports multiple cards, PnP and autoprobe.
 615    
 616    The power-management is supported.
 617
 618  Module snd-es1688
 619  -----------------
 620
 621    Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
 622
 623    port        - port # for ES-1688 chip (0x220,0x240,0x260)
 624    mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
 625    irq         - IRQ # for ES-1688 chip (5,7,9,10)
 626    mpu_irq     - IRQ # for MPU-401 port (5,7,9,10)
 627    dma8        - DMA # for ES-1688 chip (0,1,3)
 628
 629    This module supports multiple cards and autoprobe (without MPU-401 port).
 630
 631  Module snd-es18xx
 632  -----------------
 633
 634    Module for ESS AudioDrive ES-18xx sound cards.
 635
 636    port        - port # for ES-18xx chip (0x220,0x240,0x260)
 637    mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
 638    fm_port     - port # for FM (optional, not used)
 639    irq         - IRQ # for ES-18xx chip (5,7,9,10)
 640    dma1        - first DMA # for ES-18xx chip (0,1,3)
 641    dma2        - first DMA # for ES-18xx chip (0,1,3)
 642    isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
 643
 644    This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
 645    port if native ISA PnP routines are not used).
 646    When dma2 is equal with dma1, the driver works as half-duplex.
 647
 648    The power-management is supported.
 649
 650  Module snd-es1938
 651  -----------------
 652
 653    Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
 654
 655    This module supports multiple cards and autoprobe.
 656
 657    The power-management is supported.
 658
 659  Module snd-es1968
 660  -----------------
 661
 662    Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
 663
 664    total_bufsize       - total buffer size in kB (1-4096kB)
 665    pcm_substreams_p    - playback channels (1-8, default=2)
 666    pcm_substreams_c    - capture channels (1-8, default=0)
 667    clock               - clock (0 = auto-detection)
 668    use_pm              - support the power-management (0 = off, 1 = on,
 669                          2 = auto (default))
 670    enable_mpu          - enable MPU401 (0 = off, 1 = on, 2 = auto (default))
 671    joystick            - enable joystick (default off)       
 672
 673    This module supports multiple cards and autoprobe.
 674
 675    The power-management is supported.
 676
 677  Module snd-fm801
 678  ----------------
 679
 680    Module for ForteMedia FM801 based PCI sound cards.
 681
 682    tea575x_tuner       - Enable TEA575x tuner
 683                          - 1 = MediaForte 256-PCS
 684                          - 2 = MediaForte 256-PCPR
 685                          - 3 = MediaForte 64-PCR  
 686                          - High 16-bits are video (radio) device number + 1
 687                          - example: 0x10002 (MediaForte 256-PCPR, device 1)
 688
 689    This module supports multiple cards and autoprobe.
 690    
 691    The power-management is supported.
 692
 693  Module snd-gina20
 694  -----------------
 695
 696    Module for Echoaudio Gina20
 697
 698    This module supports multiple cards.
 699    The driver requires the firmware loader support on kernel.
 700
 701  Module snd-gina24
 702  -----------------
 703
 704    Module for Echoaudio Gina24
 705
 706    This module supports multiple cards.
 707    The driver requires the firmware loader support on kernel.
 708
 709  Module snd-gusclassic
 710  ---------------------
 711
 712    Module for Gravis UltraSound Classic sound card.
 713
 714    port        - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
 715    irq         - IRQ # for GF1 chip (3,5,9,11,12,15)
 716    dma1        - DMA # for GF1 chip (1,3,5,6,7)
 717    dma2        - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
 718    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
 719    voices      - GF1 voices limit (14-32)
 720    pcm_voices  - reserved PCM voices
 721
 722    This module supports multiple cards and autoprobe.
 723
 724  Module snd-gusextreme
 725  ---------------------
 726
 727    Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
 728
 729    port        - port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
 730    gf1_port    - port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
 731    mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
 732    irq         - IRQ # for ES-1688 chip (5,7,9,10)
 733    gf1_irq     - IRQ # for GF1 chip (3,5,9,11,12,15)
 734    mpu_irq     - IRQ # for MPU-401 port (5,7,9,10)
 735    dma8        - DMA # for ES-1688 chip (0,1,3)
 736    dma1        - DMA # for GF1 chip (1,3,5,6,7)
 737    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
 738    voices      - GF1 voices limit (14-32)
 739    pcm_voices  - reserved PCM voices
 740
 741    This module supports multiple cards and autoprobe (without MPU-401 port).
 742
 743  Module snd-gusmax
 744  -----------------
 745
 746    Module for Gravis UltraSound MAX sound card.
 747
 748    port        - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
 749    irq         - IRQ # for GF1 chip (3,5,9,11,12,15)
 750    dma1        - DMA # for GF1 chip (1,3,5,6,7)
 751    dma2        - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
 752    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
 753    voices      - GF1 voices limit (14-32)
 754    pcm_voices  - reserved PCM voices
 755
 756    This module supports multiple cards and autoprobe.
 757    
 758  Module snd-hda-intel
 759  --------------------
 760
 761    Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8),
 762                ATI SB450, SB600, RS600,
 763                VIA VT8251/VT8237A,
 764                SIS966, ULI M5461
 765
 766    model       - force the model name
 767    position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
 768    probe_mask  - Bitmask to probe codecs (default = -1, meaning all slots)
 769    single_cmd  - Use single immediate commands to communicate with
 770                codecs (for debugging only)
 771    enable_msi  - Enable Message Signaled Interrupt (MSI) (default = off)
 772    power_save  - Automatic power-saving timtout (in second, 0 =
 773                disable)
 774    power_save_controller - Reset HD-audio controller in power-saving mode
 775                (default = on)
 776
 777    This module supports one card and autoprobe.
 778
 779    Each codec may have a model table for different configurations.
 780    If your machine isn't listed there, the default (usually minimal)
 781    configuration is set up.  You can pass "model=<name>" option to
 782    specify a certain model in such a case.  There are different
 783    models depending on the codec chip.
 784
 785          Model name    Description
 786          ----------    -----------
 787        ALC880
 788          3stack        3-jack in back and a headphone out
 789          3stack-digout 3-jack in back, a HP out and a SPDIF out
 790          5stack        5-jack in back, 2-jack in front
 791          5stack-digout 5-jack in back, 2-jack in front, a SPDIF out
 792          6stack        6-jack in back, 2-jack in front
 793          6stack-digout 6-jack with a SPDIF out
 794          w810          3-jack
 795          z71v          3-jack (HP shared SPDIF)
 796          asus          3-jack (ASUS Mobo)
 797          asus-w1v      ASUS W1V
 798          asus-dig      ASUS with SPDIF out
 799          asus-dig2     ASUS with SPDIF out (using GPIO2)
 800          uniwill       3-jack
 801          fujitsu       Fujitsu Laptops (Pi1536)
 802          F1734         2-jack
 803          lg            LG laptop (m1 express dual)
 804          lg-lw         LG LW20/LW25 laptop
 805          tcl           TCL S700
 806          clevo         Clevo laptops (m520G, m665n)
 807          test          for testing/debugging purpose, almost all controls can be
 808                        adjusted.  Appearing only when compiled with
 809                        $CONFIG_SND_DEBUG=y
 810          auto          auto-config reading BIOS (default)
 811
 812        ALC260
 813          hp            HP machines
 814          hp-3013       HP machines (3013-variant)
 815          fujitsu       Fujitsu S7020
 816          acer          Acer TravelMate
 817          will          Will laptops (PB V7900)
 818          replacer      Replacer 672V
 819          basic         fixed pin assignment (old default model)
 820          auto          auto-config reading BIOS (default)
 821
 822        ALC262
 823          fujitsu       Fujitsu Laptop
 824          hp-bpc        HP xw4400/6400/8400/9400 laptops
 825          hp-bpc-d7000  HP BPC D7000
 826          benq          Benq ED8
 827          benq-t31      Benq T31
 828          hippo         Hippo (ATI) with jack detection, Sony UX-90s
 829          hippo_1       Hippo (Benq) with jack detection
 830          sony-assamd   Sony ASSAMD
 831          basic         fixed pin assignment w/o SPDIF
 832          auto          auto-config reading BIOS (default)
 833
 834        ALC268
 835          3stack        3-stack model
 836          toshiba       Toshiba A205
 837          acer          Acer laptops
 838          auto          auto-config reading BIOS (default)
 839
 840        ALC662
 841          3stack-dig    3-stack (2-channel) with SPDIF
 842          3stack-6ch     3-stack (6-channel)
 843          3stack-6ch-dig 3-stack (6-channel) with SPDIF
 844          6stack-dig     6-stack with SPDIF
 845          lenovo-101e    Lenovo laptop
 846          auto          auto-config reading BIOS (default)
 847
 848        ALC882/885
 849          3stack-dig    3-jack with SPDIF I/O
 850          6stack-dig    6-jack digital with SPDIF I/O
 851          arima         Arima W820Di1
 852          targa         Targa T8, MSI-1049 T8
 853          asus-a7j      ASUS A7J
 854          asus-a7m      ASUS A7M
 855          macpro        MacPro support
 856          mbp3          Macbook Pro rev3
 857          imac24        iMac 24'' with jack detection
 858          w2jc          ASUS W2JC
 859          auto          auto-config reading BIOS (default)
 860
 861        ALC883/888
 862          3stack-dig    3-jack with SPDIF I/O
 863          6stack-dig    6-jack digital with SPDIF I/O
 864          3stack-6ch    3-jack 6-channel
 865          3stack-6ch-dig 3-jack 6-channel with SPDIF I/O
 866          6stack-dig-demo  6-jack digital for Intel demo board
 867          acer          Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)
 868          acer-aspire   Acer Aspire 9810
 869          medion        Medion Laptops
 870          medion-md2    Medion MD2
 871          targa-dig     Targa/MSI
 872          targa-2ch-dig Targs/MSI with 2-channel
 873          laptop-eapd   3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE)
 874          lenovo-101e   Lenovo 101E
 875          lenovo-nb0763 Lenovo NB0763
 876          lenovo-ms7195-dig Lenovo MS7195
 877          haier-w66     Haier W66
 878          6stack-hp     HP machines with 6stack (Nettle boards)
 879          3stack-hp     HP machines with 3stack (Lucknow, Samba boards)
 880          auto          auto-config reading BIOS (default)
 881
 882        ALC861/660
 883          3stack        3-jack
 884          3stack-dig    3-jack with SPDIF I/O
 885          6stack-dig    6-jack with SPDIF I/O
 886          3stack-660    3-jack (for ALC660)
 887          uniwill-m31   Uniwill M31 laptop
 888          toshiba       Toshiba laptop support
 889          asus          Asus laptop support
 890          asus-laptop   ASUS F2/F3 laptops
 891          auto          auto-config reading BIOS (default)
 892
 893        ALC861VD/660VD
 894          3stack        3-jack
 895          3stack-dig    3-jack with SPDIF OUT
 896          6stack-dig    6-jack with SPDIF OUT
 897          3stack-660    3-jack (for ALC660VD)
 898          3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD)
 899          lenovo        Lenovo 3000 C200
 900          dallas        Dallas laptops
 901          hp            HP TX1000
 902          auto          auto-config reading BIOS (default)
 903
 904        CMI9880
 905          minimal       3-jack in back
 906          min_fp        3-jack in back, 2-jack in front
 907          full          6-jack in back, 2-jack in front
 908          full_dig      6-jack in back, 2-jack in front, SPDIF I/O
 909          allout        5-jack in back, 2-jack in front, SPDIF out
 910          auto          auto-config reading BIOS (default)
 911
 912        AD1882
 913          3stack        3-stack mode (default)
 914          6stack        6-stack mode
 915
 916        AD1884
 917          N/A
 918
 919        AD1981
 920          basic         3-jack (default)
 921          hp            HP nx6320
 922          thinkpad      Lenovo Thinkpad T60/X60/Z60
 923          toshiba       Toshiba U205
 924
 925        AD1983
 926          N/A
 927
 928        AD1984
 929          basic         default configuration
 930          thinkpad      Lenovo Thinkpad T61/X61
 931
 932        AD1986A
 933          6stack        6-jack, separate surrounds (default)
 934          3stack        3-stack, shared surrounds
 935          laptop        2-channel only (FSC V2060, Samsung M50)
 936          laptop-eapd   2-channel with EAPD (Samsung R65, ASUS A6J)
 937          laptop-automute 2-channel with EAPD and HP-automute (Lenovo N100)
 938          ultra         2-channel with EAPD (Samsung Ultra tablet PC)
 939
 940        AD1988
 941          6stack        6-jack
 942          6stack-dig    ditto with SPDIF
 943          3stack        3-jack
 944          3stack-dig    ditto with SPDIF
 945          laptop        3-jack with hp-jack automute
 946          laptop-dig    ditto with SPDIF
 947          auto          auto-config reading BIOS (default)
 948        
 949        Conexant 5045
 950          laptop        Laptop config 
 951          test          for testing/debugging purpose, almost all controls
 952                        can be adjusted.  Appearing only when compiled with
 953                        $CONFIG_SND_DEBUG=y
 954
 955        Conexant 5047
 956          laptop        Basic Laptop config 
 957          laptop-hp     Laptop config for some HP models (subdevice 30A5)
 958          laptop-eapd   Laptop config with EAPD support
 959          test          for testing/debugging purpose, almost all controls
 960                        can be adjusted.  Appearing only when compiled with
 961                        $CONFIG_SND_DEBUG=y
 962
 963        STAC9200
 964          ref           Reference board
 965          dell-d21      Dell (unknown)
 966          dell-d22      Dell (unknown)
 967          dell-d23      Dell (unknown)
 968          dell-m21      Dell Inspiron 630m, Dell Inspiron 640m
 969          dell-m22      Dell Latitude D620, Dell Latitude D820
 970          dell-m23      Dell XPS M1710, Dell Precision M90
 971          dell-m24      Dell Latitude 120L
 972          dell-m25      Dell Inspiron E1505n
 973          dell-m26      Dell Inspiron 1501
 974          dell-m27      Dell Inspiron E1705/9400
 975          gateway       Gateway laptops with EAPD control
 976
 977        STAC9205/9254
 978          ref           Reference board
 979          dell-m42      Dell (unknown)
 980          dell-m43      Dell Precision
 981          dell-m44      Dell Inspiron
 982
 983        STAC9220/9221
 984          ref           Reference board
 985          3stack        D945 3stack
 986          5stack        D945 5stack + SPDIF
 987          intel-mac-v1  Intel Mac Type 1
 988          intel-mac-v2  Intel Mac Type 2
 989          intel-mac-v3  Intel Mac Type 3
 990          intel-mac-v4  Intel Mac Type 4
 991          intel-mac-v5  Intel Mac Type 5
 992          macmini       Intel Mac Mini (equivalent with type 3)
 993          macbook       Intel Mac Book (eq. type 5)
 994          macbook-pro-v1 Intel Mac Book Pro 1st generation (eq. type 3)
 995          macbook-pro   Intel Mac Book Pro 2nd generation (eq. type 3)
 996          imac-intel    Intel iMac (eq. type 2)
 997          imac-intel-20 Intel iMac (newer version) (eq. type 3)
 998          dell-d81      Dell (unknown)
 999          dell-d82      Dell (unknown)
1000          dell-m81      Dell (unknown)
1001          dell-m82      Dell XPS M1210
1002
1003        STAC9202/9250/9251
1004          ref           Reference board, base config
1005          m2-2          Some Gateway MX series laptops
1006          m6            Some Gateway NX series laptops
1007          pa6           Gateway NX860 series
1008
1009        STAC9227/9228/9229/927x
1010          ref           Reference board
1011          3stack        D965 3stack
1012          5stack        D965 5stack + SPDIF
1013          dell-3stack   Dell Dimension E520
1014
1015        STAC9872
1016          vaio          Setup for VAIO FE550G/SZ110
1017          vaio-ar Setup for VAIO AR
1018
1019    The model name "genric" is treated as a special case.  When this
1020    model is given, the driver uses the generic codec parser without
1021    "codec-patch".  It's sometimes good for testing and debugging.
1022
1023    If the default configuration doesn't work and one of the above
1024    matches with your device, report it together with the PCI
1025    subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel
1026    ML (see the section "Links and Addresses").
1027
1028    power_save and power_save_controller options are for power-saving
1029    mode.  See powersave.txt for details.
1030
1031    Note 2: If you get click noises on output, try the module option
1032            position_fix=1 or 2.  position_fix=1 will use the SD_LPIB
1033            register value without FIFO size correction as the current
1034            DMA pointer.  position_fix=2 will make the driver to use
1035            the position buffer instead of reading SD_LPIB register.
1036            (Usually SD_LPLIB register is more accurate than the
1037            position buffer.)
1038
1039    NB: If you get many "azx_get_response timeout" messages at
1040    loading, it's likely a problem of interrupts (e.g. ACPI irq
1041    routing).  Try to boot with options like "pci=noacpi".  Also, you
1042    can try "single_cmd=1" module option.  This will switch the
1043    communication method between HDA controller and codecs to the
1044    single immediate commands instead of CORB/RIRB.  Basically, the
1045    single command mode is provided only for BIOS, and you won't get
1046    unsolicited events, too.  But, at least, this works independently
1047    from the irq.  Remember this is a last resort, and should be
1048    avoided as much as possible...
1049    
1050    MORE NOTES ON "azx_get_response timeout" PROBLEMS:
1051    On some hardwares, you may need to add a proper probe_mask option
1052    to avoid the "azx_get_response timeout" problem above, instead.
1053    This occurs when the access to non-existing or non-working codec slot
1054    (likely a modem one) causes a stall of the communication via HD-audio
1055    bus.  You can see which codec slots are probed by enabling
1056    CONFIG_SND_DEBUG_DETECT, or simply from the file name of the codec
1057    proc files.  Then limit the slots to probe by probe_mask option.
1058    For example, probe_mask=1 means to probe only the first slot, and
1059    probe_mask=4 means only the third slot.
1060
1061    The power-management is supported.
1062
1063  Module snd-hdsp
1064  ---------------
1065
1066    Module for RME Hammerfall DSP audio interface(s)
1067
1068    This module supports multiple cards.
1069
1070    Note: The firmware data can be automatically loaded via hotplug
1071          when CONFIG_FW_LOADER is set.  Otherwise, you need to load
1072          the firmware via hdsploader utility included in alsa-tools
1073          package.
1074          The firmware data is found in alsa-firmware package.
1075
1076    Note: snd-page-alloc module does the job which snd-hammerfall-mem
1077          module did formerly.  It will allocate the buffers in advance
1078          when any HDSP cards are found.  To make the buffer
1079          allocation sure, load snd-page-alloc module in the early
1080          stage of boot sequence.  See "Early Buffer Allocation"
1081          section.
1082
1083  Module snd-hdspm
1084  ----------------
1085
1086    Module for RME HDSP MADI board.
1087
1088    precise_ptr         - Enable precise pointer, or disable.
1089    line_outs_monitor   - Send playback streams to analog outs by default.
1090    enable_monitor      - Enable Analog Out on Channel 63/64 by default.
1091
1092    See hdspm.txt for details.
1093
1094  Module snd-ice1712
1095  ------------------
1096
1097    Module for Envy24 (ICE1712) based PCI sound cards.
1098                        * MidiMan M Audio Delta 1010
1099                        * MidiMan M Audio Delta 1010LT
1100                        * MidiMan M Audio Delta DiO 2496
1101                        * MidiMan M Audio Delta 66
1102                        * MidiMan M Audio Delta 44
1103                        * MidiMan M Audio Delta 410
1104                        * MidiMan M Audio Audiophile 2496
1105                        * TerraTec EWS 88MT
1106                        * TerraTec EWS 88D
1107                        * TerraTec EWX 24/96
1108                        * TerraTec DMX 6Fire
1109                        * TerraTec Phase 88
1110                        * Hoontech SoundTrack DSP 24
1111                        * Hoontech SoundTrack DSP 24 Value
1112                        * Hoontech SoundTrack DSP 24 Media 7.1
1113                        * Event Electronics, EZ8
1114                        * Digigram VX442
1115                        * Lionstracs, Mediastaton
1116
1117    model       - Use the given board model, one of the following:
1118                  delta1010, dio2496, delta66, delta44, audiophile, delta410,
1119                  delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
1120                  dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
1121                  phase88, mediastation
1122    omni        - Omni I/O support for MidiMan M-Audio Delta44/66
1123    cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transceiver)
1124                     in msec resolution, default value is 500 (0.5 sec)
1125
1126    This module supports multiple cards and autoprobe. Note: The consumer part
1127    is not used with all Envy24 based cards (for example in the MidiMan Delta
1128    serie).
1129
1130    Note: The supported board is detected by reading EEPROM or PCI
1131          SSID (if EEPROM isn't available).  You can override the
1132          model by passing "model" module option in case that the
1133          driver isn't configured properly or you want to try another
1134          type for testing.
1135
1136  Module snd-ice1724
1137  ------------------
1138
1139    Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
1140                        * MidiMan M Audio Revolution 5.1
1141                        * MidiMan M Audio Revolution 7.1
1142                        * MidiMan M Audio Audiophile 192
1143                        * AMP Ltd AUDIO2000
1144                        * TerraTec Aureon 5.1 Sky
1145                        * TerraTec Aureon 7.1 Space
1146                        * TerraTec Aureon 7.1 Universe
1147                        * TerraTec Phase 22
1148                        * TerraTec Phase 28
1149                        * AudioTrak Prodigy 7.1
1150                        * AudioTrak Prodigy 7.1LT
1151                        * AudioTrak Prodigy 192
1152                        * Pontis MS300
1153                        * Albatron K8X800 Pro II 
1154                        * Chaintech ZNF3-150
1155                        * Chaintech ZNF3-250
1156                        * Chaintech 9CJS
1157                        * Chaintech AV-710
1158                        * Shuttle SN25P
1159
1160    model       - Use the given board model, one of the following:
1161                  revo51, revo71, amp2000, prodigy71, prodigy71lt,
1162                  prodigy192, aureon51, aureon71, universe, ap192,
1163                  k8x800, phase22, phase28, ms300, av710
1164
1165    This module supports multiple cards and autoprobe.
1166
1167    Note: The supported board is detected by reading EEPROM or PCI
1168          SSID (if EEPROM isn't available).  You can override the
1169          model by passing "model" module option in case that the
1170          driver isn't configured properly or you want to try another
1171          type for testing.
1172
1173  Module snd-indigo
1174  -----------------
1175
1176    Module for Echoaudio Indigo
1177
1178    This module supports multiple cards.
1179    The driver requires the firmware loader support on kernel.
1180
1181  Module snd-indigodj
1182  -------------------
1183
1184    Module for Echoaudio Indigo DJ
1185
1186    This module supports multiple cards.
1187    The driver requires the firmware loader support on kernel.
1188
1189  Module snd-indigoio
1190  -------------------
1191
1192    Module for Echoaudio Indigo IO
1193
1194    This module supports multiple cards.
1195    The driver requires the firmware loader support on kernel.
1196
1197  Module snd-intel8x0
1198  -------------------
1199
1200    Module for AC'97 motherboards from Intel and compatibles.
1201                        * Intel i810/810E, i815, i820, i830, i84x, MX440
1202                                ICH5, ICH6, ICH7, ESB2
1203                        * SiS 7012 (SiS 735)
1204                        * NVidia NForce, NForce2, NForce3, MCP04, CK804
1205                                 CK8, CK8S, MCP501
1206                        * AMD AMD768, AMD8111
1207                        * ALi m5455
1208
1209    ac97_clock    - AC'97 codec clock base (0 = auto-detect)
1210    ac97_quirk    - AC'97 workaround for strange hardware
1211                    See "AC97 Quirk Option" section below.
1212    buggy_irq     - Enable workaround for buggy interrupts on some
1213                    motherboards (default yes on nForce chips,
1214                    otherwise off)
1215    buggy_semaphore - Enable workaround for hardwares with buggy
1216                    semaphores (e.g. on some ASUS laptops)
1217                    (default off)
1218    spdif_aclink  - Use S/PDIF over AC-link instead of direct connection
1219                    from the controller chip
1220                    (0 = off, 1 = on, -1 = default)
1221
1222    This module supports one chip and autoprobe.
1223
1224    Note: the latest driver supports auto-detection of chip clock.
1225    if you still encounter too fast playback, specify the clock
1226    explicitly via the module option "ac97_clock=41194".
1227
1228    Joystick/MIDI ports are not supported by this driver.  If your
1229    motherboard has these devices, use the ns558 or snd-mpu401
1230    modules, respectively.
1231
1232    The power-management is supported.
1233    
1234  Module snd-intel8x0m
1235  --------------------
1236
1237    Module for Intel ICH (i8x0) chipset MC97 modems.
1238                        * Intel i810/810E, i815, i820, i830, i84x, MX440
1239                                ICH5, ICH6, ICH7
1240                        * SiS 7013 (SiS 735)
1241                        * NVidia NForce, NForce2, NForce2s, NForce3
1242                        * AMD AMD8111
1243                        * ALi m5455
1244
1245    ac97_clock    - AC'97 codec clock base (0 = auto-detect)
1246
1247    This module supports one card and autoprobe.
1248
1249    Note: The default index value of this module is -2, i.e. the first
1250          slot is excluded.
1251
1252    The power-management is supported.
1253
1254  Module snd-interwave
1255  --------------------
1256
1257    Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1258    and other sound cards based on AMD InterWave (tm) chip.
1259  
1260    port        - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1261    irq         - IRQ # for InterWave chip (3,5,9,11,12,15)
1262    dma1        - DMA # for InterWave chip (0,1,3,5,6,7)
1263    dma2        - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1264    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1265    midi        - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1266    pcm_voices  - reserved PCM voices for the synthesizer (default 2)
1267    effect      - 1 = InterWave effects enable (default 0);
1268                  requires 8 voices
1269
1270    This module supports multiple cards, autoprobe and ISA PnP.
1271
1272  Module snd-interwave-stb
1273  ------------------------
1274
1275    Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1276    and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1277    circuit for extended control of bass, treble and master volume.
1278  
1279    port        - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1280    port_tc     - tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1281    irq         - IRQ # for InterWave chip (3,5,9,11,12,15)
1282    dma1        - DMA # for InterWave chip (0,1,3,5,6,7)
1283    dma2        - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1284    joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1285    midi        - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1286    pcm_voices  - reserved PCM voices for the synthesizer (default 2)
1287    effect      - 1 = InterWave effects enable (default 0);
1288                  requires 8 voices
1289
1290    This module supports multiple cards, autoprobe and ISA PnP.
1291
1292  Module snd-korg1212
1293  -------------------
1294
1295    Module for Korg 1212 IO PCI card
1296
1297    This module supports multiple cards.
1298
1299  Module snd-layla20
1300  ------------------
1301
1302    Module for Echoaudio Layla20
1303
1304    This module supports multiple cards.
1305    The driver requires the firmware loader support on kernel.
1306
1307  Module snd-layla24
1308  ------------------
1309
1310    Module for Echoaudio Layla24
1311
1312    This module supports multiple cards.
1313    The driver requires the firmware loader support on kernel.
1314
1315  Module snd-maestro3
1316  -------------------
1317
1318    Module for Allegro/Maestro3 chips
1319
1320    external_amp     - enable external amp (enabled by default)
1321    amp_gpio         - GPIO pin number for external amp (0-15) or
1322                       -1 for default pin (8 for allegro, 1 for
1323                       others) 
1324
1325    This module supports autoprobe and multiple chips.
1326
1327    Note: the binding of amplifier is dependent on hardware.
1328    If there is no sound even though all channels are unmuted, try to
1329    specify other gpio connection via amp_gpio option. 
1330    For example, a Panasonic notebook might need "amp_gpio=0x0d"
1331    option.
1332
1333    The power-management is supported.
1334
1335  Module snd-mia
1336  ---------------
1337
1338    Module for Echoaudio Mia
1339
1340    This module supports multiple cards.
1341    The driver requires the firmware loader support on kernel.
1342
1343  Module snd-miro
1344  ---------------
1345
1346    Module for Miro soundcards: miroSOUND PCM 1 pro, 
1347                                miroSOUND PCM 12,
1348                                miroSOUND PCM 20 Radio.
1349
1350    port        - Port # (0x530,0x604,0xe80,0xf40)
1351    irq         - IRQ # (5,7,9,10,11)
1352    dma1        - 1st dma # (0,1,3)
1353    dma2        - 2nd dma # (0,1)
1354    mpu_port    - MPU-401 port # (0x300,0x310,0x320,0x330)
1355    mpu_irq     - MPU-401 irq # (5,7,9,10)
1356    fm_port     - FM Port # (0x388)
1357    wss         - enable WSS mode
1358    ide         - enable onboard ide support
1359
1360  Module snd-mixart
1361  -----------------
1362
1363    Module for Digigram miXart8 sound cards.
1364
1365    This module supports multiple cards.
1366    Note: One miXart8 board will be represented as 4 alsa cards.
1367          See MIXART.txt for details.
1368
1369    When the driver is compiled as a module and the hotplug firmware
1370    is supported, the firmware data is loaded via hotplug automatically.
1371    Install the necessary firmware files in alsa-firmware package.
1372    When no hotplug fw loader is available, you need to load the
1373    firmware via mixartloader utility in alsa-tools package.
1374
1375  Module snd-mona
1376  ---------------
1377
1378    Module for Echoaudio Mona
1379
1380    This module supports multiple cards.
1381    The driver requires the firmware loader support on kernel.
1382
1383  Module snd-mpu401
1384  -----------------
1385
1386    Module for MPU-401 UART devices.
1387
1388    port        - port number or -1 (disable)
1389    irq         - IRQ number or -1 (disable)
1390    pnp         - PnP detection - 0 = disable, 1 = enable (default)
1391
1392    This module supports multiple devices and PnP.
1393    
1394  Module snd-mtpav
1395  ----------------
1396
1397    Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1398    port).
1399
1400    port        - I/O port # for MTPAV (0x378,0x278, default=0x378)
1401    irq         - IRQ # for MTPAV (7,5, default=7)
1402    hwports     - number of supported hardware ports, default=8.
1403    
1404    Module supports only 1 card.  This module has no enable option.
1405
1406  Module snd-mts64
1407  ----------------
1408
1409    Module for Ego Systems (ESI) Miditerminal 4140
1410
1411    This module supports multiple devices.
1412    Requires parport (CONFIG_PARPORT).
1413
1414  Module snd-nm256
1415  ----------------
1416
1417    Module for NeoMagic NM256AV/ZX chips
1418
1419    playback_bufsize - max playback frame size in kB (4-128kB)
1420    capture_bufsize  - max capture frame size in kB (4-128kB)
1421    force_ac97       - 0 or 1 (disabled by default)
1422    buffer_top       - specify buffer top address
1423    use_cache        - 0 or 1 (disabled by default)
1424    vaio_hack        - alias buffer_top=0x25a800
1425    reset_workaround - enable AC97 RESET workaround for some laptops
1426    reset_workaround2 - enable extended AC97 RESET workaround for some
1427                      other laptops
1428
1429    This module supports one chip and autoprobe.
1430
1431    The power-management is supported.
1432
1433    Note: on some notebooks the buffer address cannot be detected
1434    automatically, or causes hang-up during initialization.
1435    In such a case, specify the buffer top address explicitly via
1436    the buffer_top option.
1437    For example,
1438      Sony F250: buffer_top=0x25a800
1439      Sony F270: buffer_top=0x272800
1440    The driver supports only ac97 codec.  It's possible to force
1441    to initialize/use ac97 although it's not detected.  In such a
1442    case, use force_ac97=1 option - but *NO* guarantee whether it
1443    works!
1444
1445    Note: The NM256 chip can be linked internally with non-AC97
1446    codecs.  This driver supports only the AC97 codec, and won't work
1447    with machines with other (most likely CS423x or OPL3SAx) chips,
1448    even though the device is detected in lspci.  In such a case, try
1449    other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
1450    but some doesn't have ISA PnP.  You'll need to specify isapnp=0
1451    and proper hardware parameters in the case without ISA PnP.
1452
1453    Note: some laptops need a workaround for AC97 RESET.  For the
1454    known hardware like Dell Latitude LS and Sony PCG-F305, this
1455    workaround is enabled automatically.  For other laptops with a
1456    hard freeze, you can try reset_workaround=1 option.
1457
1458    Note: Dell Latitude CSx laptops have another problem regarding
1459    AC97 RESET.  On these laptops, reset_workaround2 option is
1460    turned on as default.  This option is worth to try if the
1461    previous reset_workaround option doesn't help.
1462
1463    Note: This driver is really crappy.  It's a porting from the
1464    OSS driver, which is a result of black-magic reverse engineering.
1465    The detection of codec will fail if the driver is loaded *after*
1466    X-server as described above.  You might be able to force to load
1467    the module, but it may result in hang-up.   Hence, make sure that
1468    you load this module *before* X if you encounter this kind of
1469    problem.
1470
1471  Module snd-opl3sa2
1472  ------------------
1473
1474    Module for Yamaha OPL3-SA2/SA3 sound cards.
1475
1476    port        - control port # for OPL3-SA chip (0x370)
1477    sb_port     - SB port # for OPL3-SA chip (0x220,0x240)
1478    wss_port    - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1479    midi_port   - port # for MPU-401 UART (0x300,0x330), -1 = disable
1480    fm_port     - FM port # for OPL3-SA chip (0x388), -1 = disable
1481    irq         - IRQ # for OPL3-SA chip (5,7,9,10)
1482    dma1        - first DMA # for Yamaha OPL3-SA chip (0,1,3)
1483    dma2        - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1484    isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
1485    
1486    This module supports multiple cards and ISA PnP.  It does not support
1487    autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1488    
1489    The power-management is supported.
1490
1491  Module snd-opti92x-ad1848
1492  -------------------------
1493
1494    Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1495    Module works with OAK Mozart cards as well.
1496    
1497    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1498    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1499    fm_port   - port # for OPL3 device (0x388)
1500    irq       - IRQ # for WSS chip (5,7,9,10,11)
1501    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1502    dma1      - first DMA # for WSS chip (0,1,3)
1503
1504    This module supports only one card, autoprobe and PnP.
1505
1506  Module snd-opti92x-cs4231
1507  -------------------------
1508
1509    Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1510    
1511    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1512    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1513    fm_port   - port # for OPL3 device (0x388)
1514    irq       - IRQ # for WSS chip (5,7,9,10,11)
1515    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1516    dma1      - first DMA # for WSS chip (0,1,3)
1517    dma2      - second DMA # for WSS chip (0,1,3)
1518
1519    This module supports only one card, autoprobe and PnP.
1520
1521  Module snd-opti93x
1522  ------------------
1523
1524    Module for sound cards based on OPTi 82c93x chips.
1525    
1526    port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1527    mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1528    fm_port   - port # for OPL3 device (0x388)
1529    irq       - IRQ # for WSS chip (5,7,9,10,11)
1530    mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1531    dma1      - first DMA # for WSS chip (0,1,3)
1532    dma2      - second DMA # for WSS chip (0,1,3)
1533
1534    This module supports only one card, autoprobe and PnP.
1535
1536  Module snd-pcxhr
1537  ----------------
1538
1539    Module for Digigram PCXHR boards
1540
1541    This module supports multiple cards.
1542
1543  Module snd-portman2x4
1544  ---------------------
1545
1546    Module for Midiman Portman 2x4 parallel port MIDI interface
1547
1548    This module supports multiple cards.
1549
1550  Module snd-powermac (on ppc only)
1551  ---------------------------------
1552
1553    Module for PowerMac, iMac and iBook on-board soundchips
1554
1555    enable_beep     - enable beep using PCM (enabled as default)
1556
1557    Module supports autoprobe a chip.
1558
1559    Note: the driver may have problems regarding endianess.
1560
1561    The power-management is supported.
1562
1563  Module snd-pxa2xx-ac97 (on arm only)
1564  ------------------------------------
1565
1566    Module for AC97 driver for the Intel PXA2xx chip
1567
1568    For ARM architecture only.
1569
1570    The power-management is supported.
1571
1572  Module snd-riptide
1573  ------------------
1574
1575    Module for Conexant Riptide chip
1576
1577      joystick_port     - Joystick port # (default: 0x200)
1578      mpu_port          - MPU401 port # (default: 0x330)
1579      opl3_port         - OPL3 port # (default: 0x388)
1580
1581    This module supports multiple cards.
1582    The driver requires the firmware loader support on kernel.
1583    You need to install the firmware file "riptide.hex" to the standard
1584    firmware path (e.g. /lib/firmware).
1585
1586  Module snd-rme32
1587  ----------------
1588
1589    Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
1590    Prodif96 and Prodif Gold) sound cards.
1591
1592    This module supports multiple cards.
1593
1594  Module snd-rme96
1595  ----------------
1596
1597    Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1598
1599    This module supports multiple cards.
1600
1601  Module snd-rme9652
1602  ------------------
1603
1604    Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1605
1606    precise_ptr - Enable precise pointer (doesn't work reliably).
1607                  (default = 0)
1608
1609    This module supports multiple cards.
1610
1611    Note: snd-page-alloc module does the job which snd-hammerfall-mem
1612          module did formerly.  It will allocate the buffers in advance
1613          when any RME9652 cards are found.  To make the buffer
1614          allocation sure, load snd-page-alloc module in the early
1615          stage of boot sequence.  See "Early Buffer Allocation"
1616          section.
1617
1618  Module snd-sa11xx-uda1341 (on arm only)
1619  ---------------------------------------
1620
1621    Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1622
1623    Module supports only one card.
1624    Module has no enable and index options.
1625
1626    The power-management is supported.
1627
1628  Module snd-sb8
1629  --------------
1630
1631    Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
1632                                         SoundBlaster 2.0,
1633                                         SoundBlaster Pro
1634
1635    port        - port # for SB DSP chip (0x220,0x240,0x260)
1636    irq         - IRQ # for SB DSP chip (5,7,9,10)
1637    dma8        - DMA # for SB DSP chip (1,3)
1638
1639    This module supports multiple cards and autoprobe.
1640    
1641    The power-management is supported.
1642
1643  Module snd-sb16 and snd-sbawe
1644  -----------------------------
1645
1646    Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1647                                          SoundBlaster AWE 32 (PnP),
1648                                          SoundBlaster AWE 64 PnP
1649
1650    port        - port # for SB DSP 4.x chip (0x220,0x240,0x260)
1651    mpu_port    - port # for MPU-401 UART (0x300,0x330), -1 = disable
1652    awe_port    - base port # for EMU8000 synthesizer (0x620,0x640,0x660)
1653                   (snd-sbawe module only)
1654    irq         - IRQ # for SB DSP 4.x chip (5,7,9,10)
1655    dma8        - 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1656    dma16       - 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1657    mic_agc     - Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1658    csp         - ASP/CSP chip support - 0 = disable (default), 1 = enable
1659    isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
1660    
1661    This module supports multiple cards, autoprobe and ISA PnP.
1662
1663    Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1664          disable 16bit DMA with dma16 = -1 module parameter.
1665          Also, all Sound Blaster 16 type cards can operate in 16-bit
1666          half duplex mode through 8-bit DMA channel by disabling their
1667          16-bit DMA channel.
1668    
1669    The power-management is supported.
1670
1671  Module snd-sc6000
1672  -----------------
1673
1674    Module for Gallant SC-6000 soundcard.
1675
1676    port        - Port # (0x220 or 0x240)
1677    mss_port    - MSS Port # (0x530 or 0xe80)
1678    irq         - IRQ # (5,7,9,10,11)
1679    mpu_irq     - MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
1680    dma         - DMA # (1,3,0)
1681
1682    This module supports multiple cards.
1683
1684    This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
1685
1686  Module snd-sgalaxy
1687  ------------------
1688
1689    Module for Aztech Sound Galaxy sound card.
1690
1691    sbport      - Port # for SB16 interface (0x220,0x240)
1692    wssport     - Port # for WSS interface (0x530,0xe80,0xf40,0x604)
1693    irq         - IRQ # (7,9,10,11)
1694    dma1        - DMA #
1695
1696    This module supports multiple cards.
1697
1698    The power-management is supported.
1699
1700  Module snd-sscape
1701  -----------------
1702
1703    Module for ENSONIQ SoundScape PnP cards.
1704
1705    port        - Port # (PnP setup)
1706    wss_port    - WSS Port # (PnP setup)
1707    irq         - IRQ # (PnP setup)
1708    mpu_irq     - MPU-401 IRQ # (PnP setup)
1709    dma         - DMA # (PnP setup)
1710    dma2        - 2nd DMA # (PnP setup, -1 to disable)
1711
1712    This module supports multiple cards.  ISA PnP must be enabled.
1713    You need sscape_ctl tool in alsa-tools package for loading
1714    the microcode.
1715
1716  Module snd-sun-amd7930 (on sparc only)
1717  --------------------------------------
1718
1719    Module for AMD7930 sound chips found on Sparcs.
1720
1721    This module supports multiple cards.
1722
1723  Module snd-sun-cs4231 (on sparc only)
1724  -------------------------------------
1725
1726    Module for CS4231 sound chips found on Sparcs.
1727
1728    This module supports multiple cards.
1729
1730  Module snd-sun-dbri (on sparc only)
1731  -----------------------------------
1732
1733    Module for DBRI sound chips found on Sparcs.
1734
1735    This module supports multiple cards.
1736
1737  Module snd-wavefront
1738  --------------------
1739
1740    Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
1741
1742    cs4232_pcm_port - Port # for CS4232 PCM interface.
1743    cs4232_pcm_irq  - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1744    cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1745    cs4232_mpu_irq  - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1746    use_cs4232_midi - Use CS4232 MPU-401 interface
1747                      (inaccessibly located inside your computer)
1748    ics2115_port    - Port # for ICS2115
1749    ics2115_irq     - IRQ # for ICS2115
1750    fm_port         - FM OPL-3 Port #
1751    dma1            - DMA1 # for CS4232 PCM interface.
1752    dma2            - DMA2 # for CS4232 PCM interface.
1753    isapnp          - ISA PnP detection - 0 = disable, 1 = enable (default)
1754
1755    The below are options for wavefront_synth features:
1756    wf_raw          - Assume that we need to boot the OS (default:no)
1757        If yes, then during driver loading, the state of the board is
1758        ignored, and we reset the board and load the firmware anyway.
1759    fx_raw          - Assume that the FX process needs help (default:yes)
1760        If false, we'll leave the FX processor in whatever state it is
1761        when the driver is loaded.  The default is to download the
1762        microprogram and associated coefficients to set it up for
1763        "default" operation, whatever that means.
1764    debug_default   - Debug parameters for card initialization
1765    wait_usecs      - How long to wait without sleeping, usecs
1766                      (default:150)
1767        This magic number seems to give pretty optimal throughput
1768        based on my limited experimentation. 
1769        If you want to play around with it and find a better value, be
1770        my guest. Remember, the idea is to get a number that causes us
1771        to just busy wait for as many WaveFront commands as possible,
1772        without coming up with a number so large that we hog the whole
1773        CPU. 
1774        Specifically, with this number, out of about 134,000 status
1775        waits, only about 250 result in a sleep. 
1776    sleep_interval  - How long to sleep when waiting for reply
1777                      (default: 100)
1778    sleep_tries     - How many times to try sleeping during a wait
1779                      (default: 50)
1780    ospath          - Pathname to processed ICS2115 OS firmware
1781                      (default:wavefront.os)
1782        The path name of the ISC2115 OS firmware.  In the recent
1783        version, it's handled via firmware loader framework, so it
1784        must be installed in the proper path, typically,
1785        /lib/firmware.
1786    reset_time      - How long to wait for a reset to take effect
1787                      (default:2)
1788    ramcheck_time   - How many seconds to wait for the RAM test
1789                      (default:20)
1790    osrun_time      - How many seconds to wait for the ICS2115 OS
1791                      (default:10)
1792
1793    This module supports multiple cards and ISA PnP.
1794
1795    Note: the firmware file "wavefront.os" was located in the earlier
1796          version in /etc.  Now it's loaded via firmware loader, and
1797          must be in the proper firmware path, such as /lib/firmware.
1798          Copy (or symlink) the file appropriately if you get an error
1799          regarding firmware downloading after upgrading the kernel.
1800
1801  Module snd-sonicvibes
1802  ---------------------
1803
1804    Module for S3 SonicVibes PCI sound cards.
1805                        * PINE Schubert 32 PCI
1806
1807    reverb    - Reverb Enable - 1 = enable, 0 = disable (default)
1808                  - SoundCard must have onboard SRAM for this.
1809    mge       - Mic Gain Enable - 1 = enable, 0 = disable (default)
1810    
1811    This module supports multiple cards and autoprobe.
1812
1813  Module snd-serial-u16550
1814  ------------------------
1815
1816    Module for UART16550A serial MIDI ports.
1817
1818    port        - port # for UART16550A chip
1819    irq         - IRQ # for UART16550A chip, -1 = poll mode
1820    speed       - speed in bauds (9600,19200,38400,57600,115200)
1821                  38400 = default
1822    base        - base for divisor in bauds (57600,115200,230400,460800)
1823                  115200 = default
1824    outs        - number of MIDI ports in a serial port (1-4)
1825                  1 = default
1826    adaptor     - Type of adaptor.
1827                  0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1828                  3 = MS-124W M/B, 4 = Generic
1829    
1830    This module supports multiple cards. This module does not support autoprobe
1831    thus the main port must be specified!!! Other options are optional.
1832
1833  Module snd-trident
1834  ------------------
1835
1836    Module for Trident 4DWave DX/NX sound cards.
1837                        * Best Union  Miss Melody 4DWave PCI
1838                        * HIS  4DWave PCI
1839                        * Warpspeed  ONSpeed 4DWave PCI
1840                        * AzTech  PCI 64-Q3D
1841                        * Addonics  SV 750
1842                        * CHIC  True Sound 4Dwave
1843                        * Shark  Predator4D-PCI
1844                        * Jaton  SonicWave 4D
1845
1846    pcm_channels   - max channels (voices) reserved for PCM
1847    wavetable_size - max wavetable size in kB (4-?kb)
1848
1849    This module supports multiple cards and autoprobe.
1850
1851    The power-management is supported.
1852
1853  Module snd-usb-audio
1854  --------------------
1855
1856    Module for USB audio and USB MIDI devices.
1857
1858    vid             - Vendor ID for the device (optional)
1859    pid             - Product ID for the device (optional)
1860    device_setup    - Device specific magic number (optional)
1861                    - Influence depends on the device
1862                    - Default: 0x0000 
1863
1864    This module supports multiple devices, autoprobe and hotplugging.
1865
1866  Module snd-usb-caiaq
1867  --------------------
1868
1869    Module for caiaq UB audio interfaces,
1870            * Native Instruments RigKontrol2
1871            * Native Instruments Kore Controller
1872            * Native Instruments Audio Kontrol 1
1873            * Native Instruments Audio 8 DJ
1874
1875    This module supports multiple devices, autoprobe and hotplugging.
1876
1877  Module snd-usb-usx2y
1878  --------------------
1879
1880    Module for Tascam USB US-122, US-224 and US-428 devices.
1881
1882    This module supports multiple devices, autoprobe and hotplugging.
1883
1884    Note: you need to load the firmware via usx2yloader utility included
1885          in alsa-tools and alsa-firmware packages.
1886
1887  Module snd-via82xx
1888  ------------------
1889
1890    Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
1891    8233A, 8233C, 8235, 8237 (south) bridge.
1892
1893    mpu_port    - 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1894                  [VIA686A/686B only]
1895    joystick    - Enable joystick (default off) [VIA686A/686B only]
1896    ac97_clock  - AC'97 codec clock base (default 48000Hz)
1897    dxs_support - support DXS channels,
1898                  0 = auto (default), 1 = enable, 2 = disable,
1899                  3 = 48k only, 4 = no VRA, 5 = enable any sample
1900                  rate and different sample rates on different
1901                  channels
1902                  [VIA8233/C, 8235, 8237 only]
1903    ac97_quirk  - AC'97 workaround for strange hardware
1904                  See "AC97 Quirk Option" section below.
1905
1906    This module supports one chip and autoprobe.
1907
1908    Note: on some SMP motherboards like MSI 694D the interrupts might
1909          not be generated properly.  In such a case, please try to
1910          set the SMP (or MPS) version on BIOS to 1.1 instead of
1911          default value 1.4.  Then the interrupt number will be
1912          assigned under 15. You might also upgrade your BIOS.
1913    
1914    Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
1915          channels as the first PCM.  On these channels, up to 4
1916          streams can be played at the same time, and the controller
1917          can perform sample rate conversion with separate rates for
1918          each channel.
1919          As default (dxs_support = 0), 48k fixed rate is chosen
1920          except for the known devices since the output is often
1921          noisy except for 48k on some mother boards due to the
1922          bug of BIOS.
1923          Please try once dxs_support=5 and if it works on other
1924          sample rates (e.g. 44.1kHz of mp3 playback), please let us
1925          know the PCI subsystem vendor/device id's (output of
1926          "lspci -nv").
1927          If dxs_support=5 does not work, try dxs_support=4; if it
1928          doesn't work too, try dxs_support=1.  (dxs_support=1 is
1929          usually for old motherboards.  The correct implemented
1930          board should work with 4 or 5.)  If it still doesn't
1931          work and the default setting is ok, dxs_support=3 is the
1932          right choice.  If the default setting doesn't work at all,
1933          try dxs_support=2 to disable the DXS channels.
1934          In any cases, please let us know the result and the
1935          subsystem vendor/device ids.  See "Links and Addresses"
1936          below.
1937
1938    Note: for the MPU401 on VIA823x, use snd-mpu401 driver
1939          additionally.  The mpu_port option is for VIA686 chips only.
1940
1941    The power-management is supported.
1942
1943  Module snd-via82xx-modem
1944  ------------------------
1945
1946    Module for VIA82xx AC97 modem
1947
1948    ac97_clock  - AC'97 codec clock base (default 48000Hz)
1949
1950    This module supports one card and autoprobe.
1951
1952    Note: The default index value of this module is -2, i.e. the first
1953          slot is excluded.
1954
1955    The power-management is supported.
1956
1957  Module snd-virmidi
1958  ------------------
1959
1960    Module for virtual rawmidi devices.
1961    This module creates virtual rawmidi devices which communicate
1962    to the corresponding ALSA sequencer ports.
1963
1964    midi_devs   - MIDI devices # (1-4, default=4)
1965    
1966    This module supports multiple cards.
1967
1968  Module snd-vx222
1969  ----------------
1970
1971    Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
1972
1973    mic         - Enable Microphone on V222 Mic (NYI)
1974    ibl         - Capture IBL size. (default = 0, minimum size)
1975
1976    This module supports multiple cards.
1977
1978    When the driver is compiled as a module and the hotplug firmware
1979    is supported, the firmware data is loaded via hotplug automatically.
1980    Install the necessary firmware files in alsa-firmware package.
1981    When no hotplug fw loader is available, you need to load the
1982    firmware via vxloader utility in alsa-tools package.  To invoke
1983    vxloader automatically, add the following to /etc/modprobe.conf
1984
1985        install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
1986
1987    (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
1988     /etc/modules.conf, instead.)
1989    IBL size defines the interrupts period for PCM.  The smaller size
1990    gives smaller latency but leads to more CPU consumption, too.
1991    The size is usually aligned to 126.  As default (=0), the smallest
1992    size is chosen.  The possible IBL values can be found in
1993    /proc/asound/cardX/vx-status proc file.
1994
1995    The power-management is supported.
1996
1997  Module snd-vxpocket
1998  -------------------
1999
2000    Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
2001
2002    ibl      - Capture IBL size. (default = 0, minimum size)
2003
2004    This module supports multiple cards.  The module is compiled only when
2005    PCMCIA is supported on kernel.
2006
2007    With the older 2.6.x kernel, to activate the driver via the card
2008    manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
2009    sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
2010    longer require a config file.
2011
2012    When the driver is compiled as a module and the hotplug firmware
2013    is supported, the firmware data is loaded via hotplug automatically.
2014    Install the necessary firmware files in alsa-firmware package.
2015    When no hotplug fw loader is available, you need to load the
2016    firmware via vxloader utility in alsa-tools package.
2017
2018    About capture IBL, see the description of snd-vx222 module.
2019
2020    Note: snd-vxp440 driver is merged to snd-vxpocket driver since
2021           ALSA 1.0.10.
2022
2023    The power-management is supported.
2024
2025  Module snd-ymfpci
2026  -----------------
2027
2028    Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2029
2030    mpu_port      - 0x300,0x330,0x332,0x334, 0 (disable) by default,
2031                    1 (auto-detect for YMF744/754 only)
2032    fm_port       - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2033                    1 (auto-detect for YMF744/754 only)
2034    joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
2035                    1 (auto-detect)
2036    rear_switch   - enable shared rear/line-in switch (bool)
2037
2038    This module supports autoprobe and multiple chips.
2039
2040    The power-management is supported.
2041
2042  Module snd-pdaudiocf
2043  --------------------
2044
2045    Module for Sound Core PDAudioCF sound card.
2046
2047    The power-management is supported.
2048
2049
2050AC97 Quirk Option
2051=================
2052
2053The ac97_quirk option is used to enable/override the workaround for
2054specific devices on drivers for on-board AC'97 controllers like
2055snd-intel8x0.  Some hardware have swapped output pins between Master
2056and Headphone, or Surround (thanks to confusion of AC'97
2057specifications from version to version :-)
2058
2059The driver provides the auto-detection of known problematic devices,
2060but some might be unknown or wrongly detected.  In such a case, pass
2061the proper value with this option.
2062
2063The following strings are accepted:
2064    - default   Don't override the default setting
2065    - none      Disable the quirk
2066    - hp_only   Bind Master and Headphone controls as a single control
2067    - swap_hp   Swap headphone and master controls
2068    - swap_surround  Swap master and surround controls
2069    - ad_sharing  For AD1985, turn on OMS bit and use headphone
2070    - alc_jack  For ALC65x, turn on the jack sense mode
2071    - inv_eapd  Inverted EAPD implementation
2072    - mute_led  Bind EAPD bit for turning on/off mute LED
2073
2074For backward compatibility, the corresponding integer value -1, 0,
2075... are  accepted, too.
2076
2077For example, if "Master" volume control has no effect on your device
2078but only "Headphone" does, pass ac97_quirk=hp_only module option.
2079
2080
2081Configuring Non-ISAPNP Cards
2082============================
2083
2084When the kernel is configured with ISA-PnP support, the modules
2085supporting the isapnp cards will have module options "isapnp".
2086If this option is set, *only* the ISA-PnP devices will be probed.
2087For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
2088together with the proper i/o and irq configuration.
2089
2090When the kernel is configured without ISA-PnP support, isapnp option
2091will be not built in.
2092
2093
2094Module Autoloading Support
2095==========================
2096
2097The ALSA drivers can be loaded automatically on demand by defining
2098module aliases.  The string 'snd-card-%1' is requested for ALSA native
2099devices where %i is sound card number from zero to seven.
2100
2101To auto-load an ALSA driver for OSS services, define the string
2102'sound-slot-%i' where %i means the slot number for OSS, which
2103corresponds to the card index of ALSA.  Usually, define this
2104as the same card module.
2105
2106An example configuration for a single emu10k1 card is like below:
2107----- /etc/modprobe.conf
2108alias snd-card-0 snd-emu10k1
2109alias sound-slot-0 snd-emu10k1
2110----- /etc/modprobe.conf
2111
2112The available number of auto-loaded sound cards depends on the module
2113option "cards_limit" of snd module.  As default it's set to 1.
2114To enable the auto-loading of multiple cards, specify the number of
2115sound cards in that option.
2116
2117When multiple cards are available, it'd better to specify the index
2118number for each card via module option, too, so that the order of
2119cards is kept consistent.
2120
2121An example configuration for two sound cards is like below:
2122
2123----- /etc/modprobe.conf
2124# ALSA portion
2125options snd cards_limit=2
2126alias snd-card-0 snd-interwave
2127alias snd-card-1 snd-ens1371
2128options snd-interwave index=0
2129options snd-ens1371 index=1
2130# OSS/Free portion
2131alias sound-slot-0 snd-interwave
2132alias sound-slot-1 snd-ens1371
2133----- /etc/modprobe.conf
2134
2135In this example, the interwave card is always loaded as the first card
2136(index 0) and ens1371 as the second (index 1).
2137
2138
2139ALSA PCM devices to OSS devices mapping
2140=======================================
2141
2142/dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
2143/dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
2144/dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
2145/dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
2146/dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
2147/dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
2148/dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
2149/dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
2150/dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
2151
2152The first number from /dev/snd/pcmC{X}D{Y}[c|p] expression means
2153sound card number and second means device number.  The ALSA devices
2154have either 'c' or 'p' suffix indicating the direction, capture and
2155playback, respectively.
2156
2157Please note that the device mapping above may be varied via the module
2158options of snd-pcm-oss module.
2159
2160
2161Proc interfaces (/proc/asound)
2162==============================
2163
2164/proc/asound/card#/pcm#[cp]/oss
2165-------------------------------
2166  String "erase" - erase all additional informations about OSS applications
2167  String "<app_name> <fragments> <fragment_size> [<options>]"
2168
2169   <app_name> - name of application with (higher priority) or without path
2170   <fragments> - number of fragments or zero if auto
2171   <fragment_size> - size of fragment in bytes or zero if auto
2172   <options> - optional parameters
2173          - disable   the application tries to open a pcm device for
2174                      this channel but does not want to use it.
2175                      (Cause a bug or mmap needs)
2176                      It's good for Quake etc...
2177          - direct    don't use plugins
2178          - block     force block mode (rvplayer)
2179          - non-block force non-block mode
2180          - whole-frag  write only whole fragments (optimization affecting
2181                        playback only)
2182          - no-silence  do not fill silence ahead to avoid clicks
2183          - buggy-ptr   Returns the whitespace blocks in GETOPTR ioctl
2184                        instead of filled blocks
2185
2186  Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2187           echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2188           echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2189
2190
2191Early Buffer Allocation
2192=======================
2193
2194Some drivers (e.g. hdsp) require the large contiguous buffers, and
2195sometimes it's too late to find such spaces when the driver module is
2196actually loaded due to memory fragmentation.  You can pre-allocate the
2197PCM buffers by loading snd-page-alloc module and write commands to its
2198proc file in prior, for example, in the early boot stage like
2199/etc/init.d/*.local scripts.
2200
2201Reading the proc file /proc/drivers/snd-page-alloc shows the current
2202usage of page allocation.  In writing, you can send the following
2203commands to the snd-page-alloc driver:
2204
2205  - add VENDOR DEVICE MASK SIZE BUFFERS
2206
2207    VENDOR and DEVICE are PCI vendor and device IDs.  They take
2208    integer numbers (0x prefix is needed for the hex).
2209    MASK is the PCI DMA mask.  Pass 0 if not restricted.
2210    SIZE is the size of each buffer to allocate.  You can pass
2211    k and m suffix for KB and MB.  The max number is 16MB.
2212    BUFFERS is the number of buffers to allocate.  It must be greater
2213    than 0.  The max number is 4.
2214
2215  - erase
2216
2217    This will erase the all pre-allocated buffers which are not in
2218    use.
2219
2220
2221Links and Addresses
2222===================
2223
2224  ALSA project homepage
2225       http://www.alsa-project.org
2226
2227  ALSA Bug Tracking System
2228       https://bugtrack.alsa-project.org/bugs/
2229
2230  ALSA Developers ML
2231       mailto:alsa-devel@alsa-project.org
2232
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.