1============================================================== 2Advanced Linux Sound Architecture - Driver Configuration guide 3============================================================== 4 5 6Kernel Configuration 7==================== 8 9To enable ALSA support you need at least to build the kernel with 10primary sound card support (``CONFIG_SOUND``). Since ALSA can emulate 11OSS, you don't have to choose any of the OSS modules. 12 13Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer 14and PCM supports if you want to run OSS applications with ALSA. 15 16If you want to support the WaveTable functionality on cards such as 17SB Live! then you need to enable "Sequencer support" 18(``CONFIG_SND_SEQUENCER``). 19 20To make ALSA debug messages more verbose, enable the "Verbose printk" 21and "Debug" options. To check for memory leaks, turn on "Debug memory" 22too. "Debug detection" will add checks for the detection of cards. 23 24Please note that all the ALSA ISA drivers support the Linux isapnp API 25(if the card supports ISA PnP). You don't need to configure the cards 26using isapnptools. 27 28 29Module parameters 30================= 31 32The user can load modules with options. If the module supports more than 33one card and you have more than one card of the same type then you can 34specify multiple values for the option separated by commas. 35 36 37Module snd 38---------- 39 40The core ALSA module. It is used by all ALSA card drivers. 41It takes the following options which have global effects. 42 43major 44 major number for sound driver; 45 Default: 116 46cards_limit 47 limiting card index for auto-loading (1-8); 48 Default: 1; 49 For auto-loading more than one card, specify this option 50 together with snd-card-X aliases. 51slots 52 Reserve the slot index for the given driver; 53 This option takes multiple strings. 54 See `Module Autoloading Support`_ section for details. 55debug 56 Specifies the debug message level; 57 (0 = disable debug prints, 1 = normal debug messages, 58 2 = verbose debug messages); 59 This option appears only when ``CONFIG_SND_DEBUG=y``. 60 This option can be dynamically changed via sysfs 61 /sys/modules/snd/parameters/debug file. 62 63Module snd-pcm-oss 64------------------ 65 66The PCM OSS emulation module. 67This module takes options which change the mapping of devices. 68 69dsp_map 70 PCM device number maps assigned to the 1st OSS device; 71 Default: 0 72adsp_map 73 PCM device number maps assigned to the 2st OSS device; 74 Default: 1 75nonblock_open 76 Don't block opening busy PCM devices; 77 Default: 1 78 79For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of 80the card #0. Similarly, when ``adsp_map=0``, /dev/adsp will be mapped 81to PCM #0 of the card #0. 82For changing the second or later card, specify the option with 83commas, such like ``dsp_map=0,1``. 84 85``nonblock_open`` option is used to change the behavior of the PCM 86regarding opening the device. When this option is non-zero, 87opening a busy OSS PCM device won't be blocked but return 88immediately with EAGAIN (just like O_NONBLOCK flag). 89 90Module snd-rawmidi 91------------------ 92 93This module takes options which change the mapping of devices. 94similar to those of the snd-pcm-oss module. 95 96midi_map 97 MIDI device number maps assigned to the 1st OSS device; 98 Default: 0 99amidi_map 100 MIDI device number maps assigned to the 2st OSS device; 101 Default: 1 102 103Common parameters for top sound card modules 104-------------------------------------------- 105 106Each of top level sound card module takes the following options. 107 108index 109 index (slot #) of sound card; 110 Values: 0 through 31 or negative; 111 If nonnegative, assign that index number; 112 if negative, interpret as a bitmask of permissible indices; 113 the first free permitted index is assigned; 114 Default: -1 115id 116 card ID (identifier or name); 117 Can be up to 15 characters long; 118 Default: the card type; 119 A directory by this name is created under /proc/asound/ 120 containing information about the card; 121 This ID can be used instead of the index number in 122 identifying the card 123enable 124 enable card; 125 Default: enabled, for PCI and ISA PnP cards 126 127Module snd-adlib 128---------------- 129 130Module for AdLib FM cards. 131 132port 133 port # for OPL chip 134 135This module supports multiple cards. It does not support autoprobe, so 136the port must be specified. For actual AdLib FM cards it will be 0x388. 137Note that this card does not have PCM support and no mixer; only FM 138synthesis. 139 140Make sure you have ``sbiload`` from the alsa-tools package available and, 141after loading the module, find out the assigned ALSA sequencer port 142number through ``sbiload -l``. 143 144Example output: 145:: 146 147 Port Client name Port name 148 64:0 OPL2 FM synth OPL2 FM Port 149 150Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``: 151:: 152 153 sbiload -p 64:0 std.sb drums.sb 154 155If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3`` 156instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils: 157:: 158 159 aplaymidi -p 64:0 foo.mid 160 161Module snd-ad1816a 162------------------ 163 164Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips. 165 166clockfreq 167 Clock frequency for AD1816A chip (default = 0, 33000Hz) 168 169This module supports multiple cards, autoprobe and PnP. 170 171Module snd-ad1848 172----------------- 173 174Module for sound cards based on AD1848/AD1847/CS4248 ISA chips. 175 176port 177 port # for AD1848 chip 178irq 179 IRQ # for AD1848 chip 180dma1 181 DMA # for AD1848 chip (0,1,3) 182 183This module supports multiple cards. It does not support autoprobe 184thus main port must be specified!!! Other ports are optional. 185 186The power-management is supported. 187 188Module snd-ad1889 189----------------- 190 191Module for Analog Devices AD1889 chips. 192 193ac97_quirk 194 AC'97 workaround for strange hardware; 195 See the description of intel8x0 module for details. 196 197This module supports multiple cards. 198 199Module snd-ali5451 200------------------ 201 202Module for ALi M5451 PCI chip. 203 204pcm_channels 205 Number of hardware channels assigned for PCM 206spdif 207 Support SPDIF I/O; 208 Default: disabled 209 210This module supports one chip and autoprobe. 211 212The power-management is supported. 213 214Module snd-als100 215----------------- 216 217Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips. 218 219This module supports multiple cards, autoprobe and PnP. 220 221The power-management is supported. 222 223Module snd-als300 224----------------- 225 226Module for Avance Logic ALS300 and ALS300+ 227 228This module supports multiple cards. 229 230The power-management is supported. 231 232Module snd-als4000 233------------------ 234 235Module for sound cards based on Avance Logic ALS4000 PCI chip. 236 237joystick_port 238 port # for legacy joystick support; 239 0 = disabled (default), 1 = auto-detect 240 241This module supports multiple cards, autoprobe and PnP. 242 243The power-management is supported. 244 245Module snd-asihpi 246----------------- 247 248Module for AudioScience ASI soundcards 249 250enable_hpi_hwdep 251 enable HPI hwdep for AudioScience soundcard 252 253This module supports multiple cards. 254The driver requires the firmware loader support on kernel. 255 256Module snd-atiixp 257----------------- 258 259Module for ATI IXP 150/200/250/400 AC97 controllers. 260 261ac97_clock 262 AC'97 clock (default = 48000) 263ac97_quirk 264 AC'97 workaround for strange hardware; 265 See `AC97 Quirk Option`_ section below. 266ac97_codec 267 Workaround to specify which AC'97 codec instead of probing. 268 If this works for you file a bug with your `lspci -vn` output. 269 (-2 = Force probing, -1 = Default behavior, 0-2 = Use the 270 specified codec.) 271spdif_aclink 272 S/PDIF transfer over AC-link (default = 1) 273 274This module supports one card and autoprobe. 275 276ATI IXP has two different methods to control SPDIF output. One is 277over AC-link and another is over the "direct" SPDIF output. The 278implementation depends on the motherboard, and you'll need to 279choose the correct one via spdif_aclink module option. 280 281The power-management is supported. 282 283Module snd-atiixp-modem 284----------------------- 285 286Module for ATI IXP 150/200/250 AC97 modem controllers. 287 288This module supports one card and autoprobe. 289 290Note: The default index value of this module is -2, i.e. the first 291slot is excluded. 292 293The power-management is supported. 294 295Module snd-au8810, snd-au8820, snd-au8830 296----------------------------------------- 297 298Module for Aureal Vortex, Vortex2 and Advantage device. 299 300pcifix 301 Control PCI workarounds; 302 0 = Disable all workarounds, 303 1 = Force the PCI latency of the Aureal card to 0xff, 304 2 = Force the Extend PCI#2 Internal Master for Efficient 305 Handling of Dummy Requests on the VIA KT133 AGP Bridge, 306 3 = Force both settings, 307 255 = Autodetect what is required (default) 308 309This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware 310EQ, mpu401, gameport. A3D and wavetable support are still in development. 311Development and reverse engineering work is being coordinated at 312https://savannah.nongnu.org/projects/openvortex/ 313SPDIF output has a copy of the AC97 codec output, unless you use the 314``spdif`` pcm device, which allows raw data passthru. 315The hardware EQ hardware and SPDIF is only present in the Vortex2 and 316Advantage. 317 318Note: Some ALSA mixer applications don't handle the SPDIF sample rate 319control correctly. If you have problems regarding this, try 320another ALSA compliant mixer (alsamixer works). 321 322Module snd-azt1605 323------------------ 324 325Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605 326chipset. 327 328port 329 port # for BASE (0x220,0x240,0x260,0x280) 330wss_port 331 port # for WSS (0x530,0x604,0xe80,0xf40) 332irq 333 IRQ # for WSS (7,9,10,11) 334dma1 335 DMA # for WSS playback (0,1,3) 336dma2 337 DMA # for WSS capture (0,1), -1 = disabled (default) 338mpu_port 339 port # for MPU-401 UART (0x300,0x330), -1 = disabled (default) 340mpu_irq 341 IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default) 342fm_port 343 port # for OPL3 (0x388), -1 = disabled (default) 344 345This module supports multiple cards. It does not support autoprobe: 346``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified. 347The other values are optional. 348 349``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240) 350or the value stored in the card's EEPROM for cards that have an EEPROM and 351their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can 352be chosen freely from the options enumerated above. 353 354If ``dma2`` is specified and different from ``dma1``, the card will operate in 355full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to 356enable capture since only channels 0 and 1 are available for capture. 357 358Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0 359mpu_port=0x330 mpu_irq=9 fm_port=0x388``. 360 361Whatever IRQ and DMA channels you pick, be sure to reserve them for 362legacy ISA in your BIOS. 363 364Module snd-azt2316 365------------------ 366 367Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316 368chipset. 369 370port 371 port # for BASE (0x220,0x240,0x260,0x280) 372wss_port 373 port # for WSS (0x530,0x604,0xe80,0xf40) 374irq 375 IRQ # for WSS (7,9,10,11) 376dma1 377 DMA # for WSS playback (0,1,3) 378dma2 379 DMA # for WSS capture (0,1), -1 = disabled (default) 380mpu_port 381 port # for MPU-401 UART (0x300,0x330), -1 = disabled (default) 382mpu_irq 383 IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default) 384fm_port 385 port # for OPL3 (0x388), -1 = disabled (default) 386 387This module supports multiple cards. It does not support autoprobe: 388``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified. 389The other values are optional. 390 391``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240) 392or the value stored in the card's EEPROM for cards that have an EEPROM and 393their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can 394be chosen freely from the options enumerated above. 395 396If ``dma2`` is specified and different from ``dma1``, the card will operate in 397full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to 398enable capture since only channels 0 and 1 are available for capture. 399 400Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0 401mpu_port=0x330 mpu_irq=9 fm_port=0x388``. 402 403Whatever IRQ and DMA channels you pick, be sure to reserve them for 404legacy ISA in your BIOS. 405 406Module snd-aw2 407-------------- 408 409Module for Audiowerk2 sound card 410 411This module supports multiple cards. 412 413Module snd-azt2320 414------------------ 415 416Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only). 417 418This module supports multiple cards, PnP and autoprobe. 419 420The power-management is supported. 421 422Module snd-azt3328 423------------------ 424 425Module for sound cards based on Aztech AZF3328 PCI chip. 426 427joystick 428 Enable joystick (default off) 429 430This module supports multiple cards. 431 432Module snd-bt87x 433---------------- 434 435Module for video cards based on Bt87x chips. 436 437digital_rate 438 Override the default digital rate (Hz) 439load_all 440 Load the driver even if the card model isn't known 441 442This module supports multiple cards. 443 444Note: The default index value of this module is -2, i.e. the first 445slot is excluded. 446 447Module snd-ca0106 448----------------- 449 450Module for Creative Audigy LS and SB Live 24bit 451 452This module supports multiple cards. 453 454 455Module snd-cmi8330 456------------------ 457 458Module for sound cards based on C-Media CMI8330 ISA chips. 459 460isapnp 461 ISA PnP detection - 0 = disable, 1 = enable (default) 462 463with ``isapnp=0``, the following options are available: 464 465wssport 466 port # for CMI8330 chip (WSS) 467wssirq 468 IRQ # for CMI8330 chip (WSS) 469wssdma 470 first DMA # for CMI8330 chip (WSS) 471sbport 472 port # for CMI8330 chip (SB16) 473sbirq 474 IRQ # for CMI8330 chip (SB16) 475sbdma8 476 8bit DMA # for CMI8330 chip (SB16) 477sbdma16 478 16bit DMA # for CMI8330 chip (SB16) 479fmport 480 (optional) OPL3 I/O port 481mpuport 482 (optional) MPU401 I/O port 483mpuirq 484 (optional) MPU401 irq # 485 486This module supports multiple cards and autoprobe. 487 488The power-management is supported. 489 490Module snd-cmipci 491----------------- 492 493Module for C-Media CMI8338/8738/8768/8770 PCI sound cards. 494 495mpu_port 496 port address of MIDI interface (8338 only): 497 0x300,0x310,0x320,0x330 = legacy port, 498 1 = integrated PCI port (default on 8738), 499 0 = disable 500fm_port 501 port address of OPL-3 FM synthesizer (8x38 only): 502 0x388 = legacy port, 503 1 = integrated PCI port (default on 8738), 504 0 = disable 505soft_ac3 506 Software-conversion of raw SPDIF packets (model 033 only) (default = 1) 507joystick_port 508 Joystick port address (0 = disable, 1 = auto-detect) 509 510This module supports autoprobe and multiple cards. 511 512The power-management is supported. 513 514Module snd-cs4231 515----------------- 516 517Module for sound cards based on CS4231 ISA chips. 518 519port 520 port # for CS4231 chip 521mpu_port 522 port # for MPU-401 UART (optional), -1 = disable 523irq 524 IRQ # for CS4231 chip 525mpu_irq 526 IRQ # for MPU-401 UART 527dma1 528 first DMA # for CS4231 chip 529dma2 530 second DMA # for CS4231 chip 531 532This module supports multiple cards. This module does not support autoprobe 533thus main port must be specified!!! Other ports are optional. 534 535The power-management is supported. 536 537Module snd-cs4236 538----------------- 539 540Module for sound cards based on CS4232/CS4232A, 541CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips. 542 543isapnp 544 ISA PnP detection - 0 = disable, 1 = enable (default) 545 546with ``isapnp=0``, the following options are available: 547 548port 549 port # for CS4236 chip (PnP setup - 0x534) 550cport 551 control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00) 552mpu_port 553 port # for MPU-401 UART (PnP setup - 0x300), -1 = disable 554fm_port 555 FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable 556irq 557 IRQ # for CS4236 chip (5,7,9,11,12,15) 558mpu_irq 559 IRQ # for MPU-401 UART (9,11,12,15) 560dma1 561 first DMA # for CS4236 chip (0,1,3) 562dma2 563 second DMA # for CS4236 chip (0,1,3), -1 = disable 564 565This module supports multiple cards. This module does not support autoprobe 566(if ISA PnP is not used) thus main port and control port must be 567specified!!! Other ports are optional. 568 569The power-management is supported. 570 571This module is aliased as snd-cs4232 since it provides the old 572snd-cs4232 functionality, too. 573 574Module snd-cs4281 575----------------- 576 577Module for Cirrus Logic CS4281 soundchip. 578 579dual_codec 580 Secondary codec ID (0 = disable, default) 581 582This module supports multiple cards. 583 584The power-management is supported. 585 586Module snd-cs46xx 587----------------- 588 589Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/ 590CS4624/CS4630/CS4280 PCI chips. 591 592external_amp 593 Force to enable external amplifier. 594thinkpad 595 Force to enable Thinkpad's CLKRUN control. 596mmap_valid 597 Support OSS mmap mode (default = 0). 598 599This module supports multiple cards and autoprobe. 600Usually external amp and CLKRUN controls are detected automatically 601from PCI sub vendor/device ids. If they don't work, give the options 602above explicitly. 603 604The power-management is supported. 605 606Module snd-cs5530 607----------------- 608 609Module for Cyrix/NatSemi Geode 5530 chip. 610 611Module snd-cs5535audio 612---------------------- 613 614Module for multifunction CS5535 companion PCI device 615 616The power-management is supported. 617 618Module snd-ctxfi 619---------------- 620 621Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips) 622 623* Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series 624* Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series 625* Creative Sound Blaster X-Fi Titanium Professional Audio 626* Creative Sound Blaster X-Fi Titanium 627* Creative Sound Blaster X-Fi Elite Pro 628* Creative Sound Blaster X-Fi Platinum 629* Creative Sound Blaster X-Fi Fatal1ty 630* Creative Sound Blaster X-Fi XtremeGamer 631* Creative Sound Blaster X-Fi XtremeMusic 632 633reference_rate 634 reference sample rate, 44100 or 48000 (default) 635multiple 636 multiple to ref. sample rate, 1 or 2 (default) 637subsystem 638 override the PCI SSID for probing; 639 the value consists of SSVID << 16 | SSDID. 640 The default is zero, which means no override. 641 642This module supports multiple cards. 643 644Module snd-darla20 645------------------ 646 647Module for Echoaudio Darla20 648 649This module supports multiple cards. 650The driver requires the firmware loader support on kernel. 651 652Module snd-darla24 653------------------ 654 655Module for Echoaudio Darla24 656 657This module supports multiple cards. 658The driver requires the firmware loader support on kernel. 659 660Module snd-dt019x 661----------------- 662 663Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP 664only) 665 666This module supports multiple cards. This module is enabled only with 667ISA PnP support. 668 669The power-management is supported. 670 671Module snd-dummy 672---------------- 673 674Module for the dummy sound card. This "card" doesn't do any output 675or input, but you may use this module for any application which 676requires a sound card (like RealPlayer). 677 678pcm_devs 679 Number of PCM devices assigned to each card (default = 1, up to 4) 680pcm_substreams 681 Number of PCM substreams assigned to each PCM (default = 8, up to 128) 682hrtimer 683 Use hrtimer (=1, default) or system timer (=0) 684fake_buffer 685 Fake buffer allocations (default = 1) 686 687When multiple PCM devices are created, snd-dummy gives different 688behavior to each PCM device: 689* 0 = interleaved with mmap support 690* 1 = non-interleaved with mmap support 691* 2 = interleaved without mmap 692* 3 = non-interleaved without mmap 693 694As default, snd-dummy drivers doesn't allocate the real buffers 695but either ignores read/write or mmap a single dummy page to all 696buffer pages, in order to save the resources. If your apps need 697the read/ written buffer data to be consistent, pass fake_buffer=0 698option. 699 700The power-management is supported. 701 702Module snd-echo3g 703----------------- 704 705Module for Echoaudio 3G cards (Gina3G/Layla3G) 706 707This module supports multiple cards. 708The driver requires the firmware loader support on kernel. 709 710Module snd-emu10k1 711------------------ 712 713Module for EMU10K1/EMU10k2 based PCI sound cards. 714 715* Sound Blaster Live! 716* Sound Blaster PCI 512 717* Emu APS (partially supported) 718* Sound Blaster Audigy 719 720extin 721 bitmap of available external inputs for FX8010 (see bellow) 722extout 723 bitmap of available external outputs for FX8010 (see bellow) 724seq_ports 725 allocated sequencer ports (4 by default) 726max_synth_voices 727 limit of voices used for wavetable (64 by default) 728max_buffer_size 729 specifies the maximum size of wavetable/pcm buffers given in MB 730 unit. Default value is 128. 731enable_ir 732 enable IR 733 734This module supports multiple cards and autoprobe. 735 736Input & Output configurations [extin/extout] 737* Creative Card wo/Digital out [0x0003/0x1f03] 738* Creative Card w/Digital out [0x0003/0x1f0f] 739* Creative Card w/Digital CD in [0x000f/0x1f0f] 740* Creative Card wo/Digital out + LiveDrive [0x3fc3/0x1fc3] 741* Creative Card w/Digital out + LiveDrive [0x3fc3/0x1fcf] 742* Creative Card w/Digital CD in + LiveDrive [0x3fcf/0x1fcf] 743* Creative Card wo/Digital out + Digital I/O 2 [0x0fc3/0x1f0f] 744* Creative Card w/Digital out + Digital I/O 2 [0x0fc3/0x1f0f] 745* Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f] 746* Creative Card 5.1/w Digital out + LiveDrive [0x3fc3/0x1fff] 747* Creative Card 5.1 (c) 2003 [0x3fc3/0x7cff] 748* Creative Card all ins and outs [0x3fff/0x7fff] 749 750The power-management is supported. 751 752Module snd-emu10k1x 753------------------- 754 755Module for Creative Emu10k1X (SB Live Dell OEM version) 756 757This module supports multiple cards. 758 759Module snd-ens1370 760------------------ 761 762Module for Ensoniq AudioPCI ES1370 PCI sound cards. 763 764* SoundBlaster PCI 64 765* SoundBlaster PCI 128 766 767joystick 768 Enable joystick (default off) 769 770This module supports multiple cards and autoprobe. 771 772The power-management is supported. 773 774Module snd-ens1371 775------------------ 776 777Module for Ensoniq AudioPCI ES1371 PCI sound cards. 778 779* SoundBlaster PCI 64 780* SoundBlaster PCI 128 781* SoundBlaster Vibra PCI 782 783joystick_port 784 port # for joystick (0x200,0x208,0x210,0x218), 0 = disable 785 (default), 1 = auto-detect 786 787This module supports multiple cards and autoprobe. 788 789The power-management is supported. 790 791Module snd-es1688 792----------------- 793 794Module for ESS AudioDrive ES-1688 and ES-688 sound cards. 795 796isapnp 797 ISA PnP detection - 0 = disable, 1 = enable (default) 798mpu_port 799 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default) 800mpu_irq 801 IRQ # for MPU-401 port (5,7,9,10) 802fm_port 803 port # for OPL3 (option; share the same port as default) 804 805with ``isapnp=0``, the following additional options are available: 806 807port 808 port # for ES-1688 chip (0x220,0x240,0x260) 809irq 810 IRQ # for ES-1688 chip (5,7,9,10) 811dma8 812 DMA # for ES-1688 chip (0,1,3) 813 814This module supports multiple cards and autoprobe (without MPU-401 port) 815and PnP with the ES968 chip. 816 817Module snd-es18xx 818----------------- 819 820Module for ESS AudioDrive ES-18xx sound cards. 821 822isapnp 823 ISA PnP detection - 0 = disable, 1 = enable (default) 824 825with ``isapnp=0``, the following options are available: 826 827port 828 port # for ES-18xx chip (0x220,0x240,0x260) 829mpu_port 830 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default) 831fm_port 832 port # for FM (optional, not used) 833irq 834 IRQ # for ES-18xx chip (5,7,9,10) 835dma1 836 first DMA # for ES-18xx chip (0,1,3) 837dma2 838 first DMA # for ES-18xx chip (0,1,3) 839 840This module supports multiple cards, ISA PnP and autoprobe (without MPU-401 841port if native ISA PnP routines are not used). 842When ``dma2`` is equal with ``dma1``, the driver works as half-duplex. 843 844The power-management is supported. 845 846Module snd-es1938 847----------------- 848 849Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips. 850 851This module supports multiple cards and autoprobe. 852 853The power-management is supported. 854 855Module snd-es1968 856----------------- 857 858Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips. 859 860total_bufsize 861 total buffer size in kB (1-4096kB) 862pcm_substreams_p 863 playback channels (1-8, default=2) 864pcm_substreams_c 865 capture channels (1-8, default=0) 866clock 867 clock (0 = auto-detection) 868use_pm 869 support the power-management (0 = off, 1 = on, 2 = auto (default)) 870enable_mpu 871 enable MPU401 (0 = off, 1 = on, 2 = auto (default)) 872joystick 873 enable joystick (default off) 874 875This module supports multiple cards and autoprobe. 876 877The power-management is supported. 878 879Module snd-fm801 880---------------- 881 882Module for ForteMedia FM801 based PCI sound cards. 883 884tea575x_tuner 885 Enable TEA575x tuner; 886 1 = MediaForte 256-PCS, 887 2 = MediaForte 256-PCPR, 888 3 = MediaForte 64-PCR 889 High 16-bits are video (radio) device number + 1; 890 example: 0x10002 (MediaForte 256-PCPR, device 1) 891 892This module supports multiple cards and autoprobe. 893 894The power-management is supported. 895 896Module snd-gina20 897----------------- 898 899Module for Echoaudio Gina20 900 901This module supports multiple cards. 902The driver requires the firmware loader support on kernel. 903 904Module snd-gina24 905----------------- 906 907Module for Echoaudio Gina24 908 909This module supports multiple cards. 910The driver requires the firmware loader support on kernel. 911 912Module snd-gusclassic 913--------------------- 914 915Module for Gravis UltraSound Classic sound card. 916 917port 918 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260) 919irq 920 IRQ # for GF1 chip (3,5,9,11,12,15) 921dma1 922 DMA # for GF1 chip (1,3,5,6,7) 923dma2 924 DMA # for GF1 chip (1,3,5,6,7,-1=disable) 925joystick_dac 926 0 to 31, (0.59V-4.52V or 0.389V-2.98V) 927voices 928 GF1 voices limit (14-32) 929pcm_voices 930 reserved PCM voices 931 932This module supports multiple cards and autoprobe. 933 934Module snd-gusextreme 935--------------------- 936 937Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card. 938 939port 940 port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260) 941gf1_port 942 port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270) 943mpu_port 944 port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable 945irq 946 IRQ # for ES-1688 chip (5,7,9,10) 947gf1_irq 948 IRQ # for GF1 chip (3,5,9,11,12,15) 949mpu_irq 950 IRQ # for MPU-401 port (5,7,9,10) 951dma8 952 DMA # for ES-1688 chip (0,1,3) 953dma1 954 DMA # for GF1 chip (1,3,5,6,7) 955joystick_dac 956 0 to 31, (0.59V-4.52V or 0.389V-2.98V) 957voices 958 GF1 voices limit (14-32) 959pcm_voices 960 reserved PCM voices 961 962This module supports multiple cards and autoprobe (without MPU-401 port). 963 964Module snd-gusmax 965----------------- 966 967Module for Gravis UltraSound MAX sound card. 968 969port 970 port # for GF1 chip (0x220,0x230,0x240,0x250,0x260) 971irq 972 IRQ # for GF1 chip (3,5,9,11,12,15) 973dma1 974 DMA # for GF1 chip (1,3,5,6,7) 975dma2 976 DMA # for GF1 chip (1,3,5,6,7,-1=disable) 977joystick_dac 978 0 to 31, (0.59V-4.52V or 0.389V-2.98V) 979voices 980 GF1 voices limit (14-32) 981pcm_voices 982 reserved PCM voices 983 984This module supports multiple cards and autoprobe. 985 986Module snd-hda-intel 987-------------------- 988 989Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10, 990PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620, 991RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461 992 993[Multiple options for each card instance] 994 995model 996 force the model name 997position_fix 998 Fix DMA pointer; 999 -1 = system default: choose appropriate one per controller hardware, 1000 0 = auto: falls back to LPIB when POSBUF doesn't work, 1001 1 = use LPIB, 1002 2 = POSBUF: use position buffer, 1003 3 = VIACOMBO: VIA-specific workaround for capture, 1004 4 = COMBO: use LPIB for playback, auto for capture stream 1005 5 = SKL+: apply the delay calculation available on recent Intel chips 1006 6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips 1007probe_mask 1008 Bitmask to probe codecs (default = -1, meaning all slots); 1009 When the bit 8 (0x100) is set, the lower 8 bits are used 1010 as the "fixed" codec slots; i.e. the driver probes the 1011 slots regardless what hardware reports back 1012probe_only 1013 Only probing and no codec initialization (default=off); 1014 Useful to check the initial codec status for debugging 1015bdl_pos_adj 1016 Specifies the DMA IRQ timing delay in samples. 1017 Passing -1 will make the driver to choose the appropriate 1018 value based on the controller chip. 1019patch 1020 Specifies the early "patch" files to modify the HD-audio setup 1021 before initializing the codecs. 1022 This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y`` 1023 is set. See hd-audio/notes.rst for details. 1024beep_mode 1025 Selects the beep registration mode (0=off, 1=on); 1026 default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig. 1027 1028[Single (global) options] 1029 1030single_cmd 1031 Use single immediate commands to communicate with codecs 1032 (for debugging only) 1033enable_msi 1034 Enable Message Signaled Interrupt (MSI) (default = off) 1035power_save 1036 Automatic power-saving timeout (in second, 0 = disable) 1037power_save_controller 1038 Reset HD-audio controller in power-saving mode (default = on) 1039align_buffer_size 1040 Force rounding of buffer/period sizes to multiples of 128 bytes. 1041 This is more efficient in terms of memory access but isn't 1042 required by the HDA spec and prevents users from specifying 1043 exact period/buffer sizes. (default = on) 1044snoop 1045 Enable/disable snooping (default = on) 1046 1047This module supports multiple cards and autoprobe. 1048 1049See hd-audio/notes.rst for more details about HD-audio driver. 1050 1051Each codec may have a model table for different configurations. 1052If your machine isn't listed there, the default (usually minimal) 1053configuration is set up. You can pass ``model=<name>`` option to 1054specify a certain model in such a case. There are different 1055models depending on the codec chip. The list of available models 1056is found in hd-audio/models.rst. 1057 1058The model name ``generic`` is treated as a special case. When this 1059model is given, the driver uses the generic codec parser without 1060"codec-patch". It's sometimes good for testing and debugging. 1061 1062If the default configuration doesn't work and one of the above 1063matches with your device, report it together with alsa-info.sh 1064output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel 1065ML (see the section `Links and Addresses`_). 1066 1067``power_save`` and ``power_save_controller`` options are for power-saving 1068mode. See powersave.rst for details. 1069 1070Note 2: If you get click noises on output, try the module option 1071``position_fix=1`` or ``2``. ``position_fix=1`` will use the SD_LPIB 1072register value without FIFO size correction as the current 1073DMA pointer. ``position_fix=2`` will make the driver to use 1074the position buffer instead of reading SD_LPIB register. 1075(Usually SD_LPIB register is more accurate than the 1076position buffer.) 1077 1078``position_fix=3`` is specific to VIA devices. The position 1079of the capture stream is checked from both LPIB and POSBUF 1080values. ``position_fix=4`` is a combination mode, using LPIB 1081for playback and POSBUF for capture. 1082 1083NB: If you get many ``azx_get_response timeout`` messages at 1084loading, it's likely a problem of interrupts (e.g. ACPI irq 1085routing). Try to boot with options like ``pci=noacpi``. Also, you 1086can try ``single_cmd=1`` module option. This will switch the 1087communication method between HDA controller and codecs to the 1088single immediate commands instead of CORB/RIRB. Basically, the 1089single command mode is provided only for BIOS, and you won't get 1090unsolicited events, too. But, at least, this works independently 1091from the irq. Remember this is a last resort, and should be 1092avoided as much as possible... 1093 1094MORE NOTES ON ``azx_get_response timeout`` PROBLEMS: 1095On some hardware, you may need to add a proper probe_mask option 1096to avoid the ``azx_get_response timeout`` problem above, instead. 1097This occurs when the access to non-existing or non-working codec slot 1098(likely a modem one) causes a stall of the communication via HD-audio 1099bus. You can see which codec slots are probed by enabling 1100``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec 1101proc files. Then limit the slots to probe by probe_mask option. 1102For example, ``probe_mask=1`` means to probe only the first slot, and 1103``probe_mask=4`` means only the third slot. 1104 1105The power-management is supported. 1106 1107Module snd-hdsp 1108--------------- 1109 1110Module for RME Hammerfall DSP audio interface(s) 1111 1112This module supports multiple cards. 1113 1114Note: The firmware data can be automatically loaded via hotplug 1115when ``CONFIG_FW_LOADER`` is set. Otherwise, you need to load 1116the firmware via hdsploader utility included in alsa-tools 1117package. 1118The firmware data is found in alsa-firmware package. 1119 1120Note: snd-page-alloc module does the job which snd-hammerfall-mem 1121module did formerly. It will allocate the buffers in advance 1122when any HDSP cards are found. To make the buffer 1123allocation sure, load snd-page-alloc module in the early 1124stage of boot sequence. See `Early Buffer Allocation`_ 1125section. 1126 1127Module snd-hdspm 1128---------------- 1129 1130Module for RME HDSP MADI board. 1131 1132precise_ptr 1133 Enable precise pointer, or disable. 1134line_outs_monitor 1135 Send playback streams to analog outs by default. 1136enable_monitor 1137 Enable Analog Out on Channel 63/64 by default. 1138 1139See hdspm.rst for details. 1140 1141Module snd-ice1712 1142------------------ 1143 1144Module for Envy24 (ICE1712) based PCI sound cards. 1145 1146* MidiMan M Audio Delta 1010 1147* MidiMan M Audio Delta 1010LT 1148* MidiMan M Audio Delta DiO 2496 1149* MidiMan M Audio Delta 66 1150* MidiMan M Audio Delta 44 1151* MidiMan M Audio Delta 410 1152* MidiMan M Audio Audiophile 2496 1153* TerraTec EWS 88MT 1154* TerraTec EWS 88D 1155* TerraTec EWX 24/96 1156* TerraTec DMX 6Fire 1157* TerraTec Phase 88 1158* Hoontech SoundTrack DSP 24 1159* Hoontech SoundTrack DSP 24 Value 1160* Hoontech SoundTrack DSP 24 Media 7.1 1161* Event Electronics, EZ8 1162* Digigram VX442 1163* Lionstracs, Mediastaton 1164* Terrasoniq TS 88 1165 1166model 1167 Use the given board model, one of the following: 1168 delta1010, dio2496, delta66, delta44, audiophile, delta410, 1169 delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d, 1170 dmx6fire, dsp24, dsp24_value, dsp24_71, ez8, 1171 phase88, mediastation 1172omni 1173 Omni I/O support for MidiMan M-Audio Delta44/66 1174cs8427_timeout 1175 reset timeout for the CS8427 chip (S/PDIF transceiver) in msec 1176 resolution, default value is 500 (0.5 sec) 1177 1178This module supports multiple cards and autoprobe. 1179Note: The consumer part is not used with all Envy24 based cards (for 1180example in the MidiMan Delta siree). 1181 1182Note: The supported board is detected by reading EEPROM or PCI 1183SSID (if EEPROM isn't available). You can override the 1184model by passing ``model`` module option in case that the 1185driver isn't configured properly or you want to try another 1186type for testing. 1187 1188Module snd-ice1724 1189------------------ 1190 1191Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards. 1192 1193* MidiMan M Audio Revolution 5.1 1194* MidiMan M Audio Revolution 7.1 1195* MidiMan M Audio Audiophile 192 1196* AMP Ltd AUDIO2000 1197* TerraTec Aureon 5.1 Sky 1198* TerraTec Aureon 7.1 Space 1199* TerraTec Aureon 7.1 Universe 1200* TerraTec Phase 22 1201* TerraTec Phase 28 1202* AudioTrak Prodigy 7.1 1203* AudioTrak Prodigy 7.1 LT 1204* AudioTrak Prodigy 7.1 XT 1205* AudioTrak Prodigy 7.1 HIFI 1206* AudioTrak Prodigy 7.1 HD2 1207* AudioTrak Prodigy 192 1208* Pontis MS300 1209* Albatron K8X800 Pro II 1210* Chaintech ZNF3-150 1211* Chaintech ZNF3-250 1212* Chaintech 9CJS 1213* Chaintech AV-710 1214* Shuttle SN25P 1215* Onkyo SE-90PCI 1216* Onkyo SE-200PCI 1217* ESI Juli@ 1218* ESI Maya44 1219* Hercules Fortissimo IV 1220* EGO-SYS WaveTerminal 192M 1221 1222model 1223 Use the given board model, one of the following: 1224 revo51, revo71, amp2000, prodigy71, prodigy71lt, 1225 prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192, 1226 juli, aureon51, aureon71, universe, ap192, k8x800, 1227 phase22, phase28, ms300, av710, se200pci, se90pci, 1228 fortissimo4, sn25p, WT192M, maya44 1229 1230This module supports multiple cards and autoprobe. 1231 1232Note: The supported board is detected by reading EEPROM or PCI 1233SSID (if EEPROM isn't available). You can override the 1234model by passing ``model`` module option in case that the 1235driver isn't configured properly or you want to try another 1236type for testing. 1237 1238Module snd-indigo 1239----------------- 1240 1241Module for Echoaudio Indigo 1242 1243This module supports multiple cards. 1244The driver requires the firmware loader support on kernel. 1245 1246Module snd-indigodj 1247------------------- 1248 1249Module for Echoaudio Indigo DJ 1250 1251This module supports multiple cards. 1252The driver requires the firmware loader support on kernel. 1253 1254Module snd-indigoio 1255------------------- 1256 1257Module for Echoaudio Indigo IO 1258 1259This module supports multiple cards. 1260The driver requires the firmware loader support on kernel. 1261 1262Module snd-intel8x0 1263------------------- 1264 1265Module for AC'97 motherboards from Intel and compatibles. 1266 1267* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7, 1268 6300ESB, ESB2 1269* SiS 7012 (SiS 735) 1270* NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501 1271* AMD AMD768, AMD8111 1272* ALi m5455 1273 1274ac97_clock 1275 AC'97 codec clock base (0 = auto-detect) 1276ac97_quirk 1277 AC'97 workaround for strange hardware; 1278 See `AC97 Quirk Option`_ section below. 1279buggy_irq 1280 Enable workaround for buggy interrupts on some motherboards 1281 (default yes on nForce chips, otherwise off) 1282buggy_semaphore 1283 Enable workaround for hardware with buggy semaphores (e.g. on some 1284 ASUS laptops) (default off) 1285spdif_aclink 1286 Use S/PDIF over AC-link instead of direct connection from the 1287 controller chip (0 = off, 1 = on, -1 = default) 1288 1289This module supports one chip and autoprobe. 1290 1291Note: the latest driver supports auto-detection of chip clock. 1292if you still encounter too fast playback, specify the clock 1293explicitly via the module option ``ac97_clock=41194``. 1294 1295Joystick/MIDI ports are not supported by this driver. If your 1296motherboard has these devices, use the ns558 or snd-mpu401 1297modules, respectively. 1298 1299The power-management is supported. 1300 1301Module snd-intel8x0m 1302-------------------- 1303 1304Module for Intel ICH (i8x0) chipset MC97 modems. 1305 1306* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7 1307* SiS 7013 (SiS 735) 1308* NVidia NForce, NForce2, NForce2s, NForce3 1309* AMD AMD8111 1310* ALi m5455 1311 1312ac97_clock 1313 AC'97 codec clock base (0 = auto-detect) 1314 1315This module supports one card and autoprobe. 1316 1317Note: The default index value of this module is -2, i.e. the first 1318slot is excluded. 1319 1320The power-management is supported. 1321 1322Module snd-interwave 1323-------------------- 1324 1325Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32 1326and other sound cards based on AMD InterWave (tm) chip. 1327 1328joystick_dac 1329 0 to 31, (0.59V-4.52V or 0.389V-2.98V) 1330midi 1331 1 = MIDI UART enable, 0 = MIDI UART disable (default) 1332pcm_voices 1333 reserved PCM voices for the synthesizer (default 2) 1334effect 1335 1 = InterWave effects enable (default 0); requires 8 voices 1336isapnp 1337 ISA PnP detection - 0 = disable, 1 = enable (default) 1338 1339with ``isapnp=0``, the following options are available: 1340 1341port 1342 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260) 1343irq 1344 IRQ # for InterWave chip (3,5,9,11,12,15) 1345dma1 1346 DMA # for InterWave chip (0,1,3,5,6,7) 1347dma2 1348 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable) 1349 1350This module supports multiple cards, autoprobe and ISA PnP. 1351 1352Module snd-interwave-stb 1353------------------------ 1354 1355Module for UltraSound 32-Pro (sound card from STB used by Compaq) 1356and other sound cards based on AMD InterWave (tm) chip with TEA6330T 1357circuit for extended control of bass, treble and master volume. 1358 1359joystick_dac 1360 0 to 31, (0.59V-4.52V or 0.389V-2.98V) 1361midi 1362 1 = MIDI UART enable, 0 = MIDI UART disable (default) 1363pcm_voices 1364 reserved PCM voices for the synthesizer (default 2) 1365effect 1366 1 = InterWave effects enable (default 0); requires 8 voices 1367isapnp 1368 ISA PnP detection - 0 = disable, 1 = enable (default) 1369 1370with ``isapnp=0``, the following options are available: 1371 1372port 1373 port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260) 1374port_tc 1375 tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380) 1376irq 1377 IRQ # for InterWave chip (3,5,9,11,12,15) 1378dma1 1379 DMA # for InterWave chip (0,1,3,5,6,7) 1380dma2 1381 DMA # for InterWave chip (0,1,3,5,6,7,-1=disable) 1382 1383This module supports multiple cards, autoprobe and ISA PnP. 1384 1385Module snd-jazz16 1386------------------- 1387 1388Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips: 1389MVD1216 + MVA416 + MVA514. 1390 1391port 1392 port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260) 1393irq 1394 IRQ # for SB DSP chip (3,5,7,9,10,15) 1395dma8 1396 DMA # for SB DSP chip (1,3) 1397dma16 1398 DMA # for SB DSP chip (5,7) 1399mpu_port 1400 MPU-401 port # (0x300,0x310,0x320,0x330) 1401mpu_irq 1402 MPU-401 irq # (2,3,5,7) 1403 1404This module supports multiple cards. 1405 1406Module snd-korg1212 1407------------------- 1408 1409Module for Korg 1212 IO PCI card 1410 1411This module supports multiple cards. 1412 1413Module snd-layla20 1414------------------ 1415 1416Module for Echoaudio Layla20 1417 1418This module supports multiple cards. 1419The driver requires the firmware loader support on kernel. 1420 1421Module snd-layla24 1422------------------ 1423 1424Module for Echoaudio Layla24 1425 1426This module supports multiple cards. 1427The driver requires the firmware loader support on kernel. 1428 1429Module snd-lola 1430--------------- 1431 1432Module for Digigram Lola PCI-e boards 1433 1434This module supports multiple cards. 1435 1436Module snd-lx6464es 1437------------------- 1438 1439Module for Digigram LX6464ES boards 1440 1441This module supports multiple cards. 1442 1443Module snd-maestro3 1444------------------- 1445 1446Module for Allegro/Maestro3 chips 1447 1448external_amp 1449 enable external amp (enabled by default) 1450amp_gpio 1451 GPIO pin number for external amp (0-15) or -1 for default pin (8 1452 for allegro, 1 for others) 1453 1454This module supports autoprobe and multiple chips. 1455 1456Note: the binding of amplifier is dependent on hardware. 1457If there is no sound even though all channels are unmuted, try to 1458specify other gpio connection via amp_gpio option. 1459For example, a Panasonic notebook might need ``amp_gpio=0x0d`` 1460option. 1461 1462The power-management is supported. 1463 1464Module snd-mia 1465--------------- 1466 1467Module for Echoaudio Mia 1468 1469This module supports multiple cards. 1470The driver requires the firmware loader support on kernel. 1471 1472Module snd-miro 1473--------------- 1474 1475Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12, 1476miroSOUND PCM 20 Radio. 1477 1478port 1479 Port # (0x530,0x604,0xe80,0xf40) 1480irq 1481 IRQ # (5,7,9,10,11) 1482dma1 1483 1st dma # (0,1,3) 1484dma2 1485 2nd dma # (0,1) 1486mpu_port 1487 MPU-401 port # (0x300,0x310,0x320,0x330) 1488mpu_irq 1489 MPU-401 irq # (5,7,9,10) 1490fm_port 1491 FM Port # (0x388) 1492wss 1493 enable WSS mode 1494ide 1495 enable onboard ide support 1496 1497Module snd-mixart 1498----------------- 1499 1500Module for Digigram miXart8 sound cards. 1501 1502This module supports multiple cards. 1503Note: One miXart8 board will be represented as 4 alsa cards. 1504See MIXART.txt for details. 1505 1506When the driver is compiled as a module and the hotplug firmware 1507is supported, the firmware data is loaded via hotplug automatically. 1508Install the necessary firmware files in alsa-firmware package. 1509When no hotplug fw loader is available, you need to load the 1510firmware via mixartloader utility in alsa-tools package. 1511 1512Module snd-mona 1513--------------- 1514 1515Module for Echoaudio Mona 1516 1517This module supports multiple cards. 1518The driver requires the firmware loader support on kernel. 1519 1520Module snd-mpu401 1521----------------- 1522 1523Module for MPU-401 UART devices. 1524 1525port 1526 port number or -1 (disable) 1527irq 1528 IRQ number or -1 (disable) 1529pnp 1530 PnP detection - 0 = disable, 1 = enable (default) 1531 1532This module supports multiple devices and PnP. 1533 1534Module snd-msnd-classic 1535----------------------- 1536 1537Module for Turtle Beach MultiSound Classic, Tahiti or Monterey 1538soundcards. 1539 1540io 1541 Port # for msnd-classic card 1542irq 1543 IRQ # for msnd-classic card 1544mem 1545 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000) 1546write_ndelay 1547 enable write ndelay (default = 1) 1548calibrate_signal 1549 calibrate signal (default = 0) 1550isapnp 1551 ISA PnP detection - 0 = disable, 1 = enable (default) 1552digital 1553 Digital daughterboard present (default = 0) 1554cfg 1555 Config port (0x250, 0x260 or 0x270) default = PnP 1556reset 1557 Reset all devices 1558mpu_io 1559 MPU401 I/O port 1560mpu_irq 1561 MPU401 irq# 1562ide_io0 1563 IDE port #0 1564ide_io1 1565 IDE port #1 1566ide_irq 1567 IDE irq# 1568joystick_io 1569 Joystick I/O port 1570 1571The driver requires firmware files ``turtlebeach/msndinit.bin`` and 1572``turtlebeach/msndperm.bin`` in the proper firmware directory. 1573 1574See Documentation/sound/cards/multisound.sh for important information 1575about this driver. Note that it has been discontinued, but the 1576Voyetra Turtle Beach knowledge base entry for it is still available 1577at 1578https://www.turtlebeach.com 1579 1580Module snd-msnd-pinnacle 1581------------------------ 1582 1583Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards. 1584 1585io 1586 Port # for pinnacle/fiji card 1587irq 1588 IRQ # for pinnalce/fiji card 1589mem 1590 Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000) 1591write_ndelay 1592 enable write ndelay (default = 1) 1593calibrate_signal 1594 calibrate signal (default = 0) 1595isapnp 1596 ISA PnP detection - 0 = disable, 1 = enable (default) 1597 1598The driver requires firmware files ``turtlebeach/pndspini.bin`` and 1599``turtlebeach/pndsperm.bin`` in the proper firmware directory. 1600 1601Module snd-mtpav 1602---------------- 1603 1604Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel 1605port). 1606 1607port 1608 I/O port # for MTPAV (0x378,0x278, default=0x378) 1609irq 1610 IRQ # for MTPAV (7,5, default=7) 1611hwports 1612 number of supported hardware ports, default=8. 1613 1614Module supports only 1 card. This module has no enable option. 1615 1616Module snd-mts64 1617---------------- 1618 1619Module for Ego Systems (ESI) Miditerminal 4140 1620 1621This module supports multiple devices. 1622Requires parport (``CONFIG_PARPORT``). 1623 1624Module snd-nm256 1625---------------- 1626 1627Module for NeoMagic NM256AV/ZX chips 1628 1629playback_bufsize 1630 max playback frame size in kB (4-128kB) 1631capture_bufsize 1632 max capture frame size in kB (4-128kB) 1633force_ac97 1634 0 or 1 (disabled by default) 1635buffer_top 1636 specify buffer top address 1637use_cache 1638 0 or 1 (disabled by default) 1639vaio_hack 1640 alias buffer_top=0x25a800 1641reset_workaround 1642 enable AC97 RESET workaround for some laptops 1643reset_workaround2 1644 enable extended AC97 RESET workaround for some other laptops 1645 1646This module supports one chip and autoprobe. 1647 1648The power-management is supported. 1649 1650Note: on some notebooks the buffer address cannot be detected 1651automatically, or causes hang-up during initialization. 1652In such a case, specify the buffer top address explicitly via 1653the buffer_top option. 1654For example, 1655Sony F250: buffer_top=0x25a800 1656Sony F270: buffer_top=0x272800 1657The driver supports only ac97 codec. It's possible to force 1658to initialize/use ac97 although it's not detected. In such a 1659case, use ``force_ac97=1`` option - but *NO* guarantee whether it 1660works! 1661 1662Note: The NM256 chip can be linked internally with non-AC97 1663codecs. This driver supports only the AC97 codec, and won't work 1664with machines with other (most likely CS423x or OPL3SAx) chips, 1665even though the device is detected in lspci. In such a case, try 1666other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP 1667but some doesn't have ISA PnP. You'll need to specify ``isapnp=0`` 1668and proper hardware parameters in the case without ISA PnP. 1669 1670Note: some laptops need a workaround for AC97 RESET. For the 1671known hardware like Dell Latitude LS and Sony PCG-F305, this 1672workaround is enabled automatically. For other laptops with a 1673hard freeze, you can try ``reset_workaround=1`` option. 1674 1675Note: Dell Latitude CSx laptops have another problem regarding 1676AC97 RESET. On these laptops, reset_workaround2 option is 1677turned on as default. This option is worth to try if the 1678previous reset_workaround option doesn't help. 1679 1680Note: This driver is really crappy. It's a porting from the 1681OSS driver, which is a result of black-magic reverse engineering. 1682The detection of codec will fail if the driver is loaded *after* 1683X-server as described above. You might be able to force to load 1684the module, but it may result in hang-up. Hence, make sure that 1685you load this module *before* X if you encounter this kind of 1686problem. 1687 1688Module snd-opl3sa2 1689------------------ 1690 1691Module for Yamaha OPL3-SA2/SA3 sound cards. 1692 1693isapnp 1694 ISA PnP detection - 0 = disable, 1 = enable (default) 1695 1696with ``isapnp=0``, the following options are available: 1697 1698port 1699 control port # for OPL3-SA chip (0x370) 1700sb_port 1701 SB port # for OPL3-SA chip (0x220,0x240) 1702wss_port 1703 WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604) 1704midi_port 1705 port # for MPU-401 UART (0x300,0x330), -1 = disable 1706fm_port 1707 FM port # for OPL3-SA chip (0x388), -1 = disable 1708irq 1709 IRQ # for OPL3-SA chip (5,7,9,10) 1710dma1 1711 first DMA # for Yamaha OPL3-SA chip (0,1,3) 1712dma2 1713 second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable 1714 1715This module supports multiple cards and ISA PnP. It does not support 1716autoprobe (if ISA PnP is not used) thus all ports must be specified!!! 1717 1718The power-management is supported. 1719 1720Module snd-opti92x-ad1848 1721------------------------- 1722 1723Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips. 1724Module works with OAK Mozart cards as well. 1725 1726isapnp 1727 ISA PnP detection - 0 = disable, 1 = enable (default) 1728 1729with ``isapnp=0``, the following options are available: 1730 1731port 1732 port # for WSS chip (0x530,0xe80,0xf40,0x604) 1733mpu_port 1734 port # for MPU-401 UART (0x300,0x310,0x320,0x330) 1735fm_port 1736 port # for OPL3 device (0x388) 1737irq 1738 IRQ # for WSS chip (5,7,9,10,11) 1739mpu_irq 1740 IRQ # for MPU-401 UART (5,7,9,10) 1741dma1 1742 first DMA # for WSS chip (0,1,3) 1743 1744This module supports only one card, autoprobe and PnP. 1745 1746Module snd-opti92x-cs4231 1747------------------------- 1748 1749Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips. 1750 1751isapnp 1752 ISA PnP detection - 0 = disable, 1 = enable (default) 1753 1754with ``isapnp=0``, the following options are available: 1755 1756port 1757 port # for WSS chip (0x530,0xe80,0xf40,0x604) 1758mpu_port 1759 port # for MPU-401 UART (0x300,0x310,0x320,0x330) 1760fm_port 1761 port # for OPL3 device (0x388) 1762irq 1763 IRQ # for WSS chip (5,7,9,10,11) 1764mpu_irq 1765 IRQ # for MPU-401 UART (5,7,9,10) 1766dma1 1767 first DMA # for WSS chip (0,1,3) 1768dma2 1769 second DMA # for WSS chip (0,1,3) 1770 1771This module supports only one card, autoprobe and PnP. 1772 1773Module snd-opti93x 1774------------------ 1775 1776Module for sound cards based on OPTi 82c93x chips. 1777 1778isapnp 1779 ISA PnP detection - 0 = disable, 1 = enable (default) 1780 1781with ``isapnp=0``, the following options are available: 1782 1783port 1784 port # for WSS chip (0x530,0xe80,0xf40,0x604) 1785mpu_port 1786 port # for MPU-401 UART (0x300,0x310,0x320,0x330) 1787fm_port 1788 port # for OPL3 device (0x388) 1789irq 1790 IRQ # for WSS chip (5,7,9,10,11) 1791mpu_irq 1792 IRQ # for MPU-401 UART (5,7,9,10) 1793dma1 1794 first DMA # for WSS chip (0,1,3) 1795dma2 1796 second DMA # for WSS chip (0,1,3) 1797 1798This module supports only one card, autoprobe and PnP. 1799 1800Module snd-oxygen 1801----------------- 1802 1803Module for sound cards based on the C-Media CMI8786/8787/8788 chip: 1804 1805* Asound A-8788 1806* Asus Xonar DG/DGX 1807* AuzenTech X-Meridian 1808* AuzenTech X-Meridian 2G 1809* Bgears b-Enspirer 1810* Club3D Theatron DTS 1811* HT-Omega Claro (plus) 1812* HT-Omega Claro halo (XT) 1813* Kuroutoshikou CMI8787-HG2PCI 1814* Razer Barracuda AC-1 1815* Sondigo Inferno 1816* TempoTec HiFier Fantasia 1817* TempoTec HiFier Serenade 1818 1819This module supports autoprobe and multiple cards. 1820 1821Module snd-pcsp 1822--------------- 1823 1824Module for internal PC-Speaker. 1825 1826nopcm 1827 Disable PC-Speaker PCM sound. Only beeps remain. 1828nforce_wa 1829 enable NForce chipset workaround. Expect bad sound. 1830 1831This module supports system beeps, some kind of PCM playback and 1832even a few mixer controls. 1833 1834Module snd-pcxhr 1835---------------- 1836 1837Module for Digigram PCXHR boards 1838 1839This module supports multiple cards. 1840 1841Module snd-portman2x4 1842--------------------- 1843 1844Module for Midiman Portman 2x4 parallel port MIDI interface 1845 1846This module supports multiple cards. 1847 1848Module snd-powermac (on ppc only) 1849--------------------------------- 1850 1851Module for PowerMac, iMac and iBook on-board soundchips 1852 1853enable_beep 1854 enable beep using PCM (enabled as default) 1855 1856Module supports autoprobe a chip. 1857 1858Note: the driver may have problems regarding endianness. 1859 1860The power-management is supported. 1861 1862Module snd-pxa2xx-ac97 (on arm only) 1863------------------------------------ 1864 1865Module for AC97 driver for the Intel PXA2xx chip 1866 1867For ARM architecture only. 1868 1869The power-management is supported. 1870 1871Module snd-riptide 1872------------------ 1873 1874Module for Conexant Riptide chip 1875 1876joystick_port 1877 Joystick port # (default: 0x200) 1878mpu_port 1879 MPU401 port # (default: 0x330) 1880opl3_port 1881 OPL3 port # (default: 0x388) 1882 1883This module supports multiple cards. 1884The driver requires the firmware loader support on kernel. 1885You need to install the firmware file ``riptide.hex`` to the standard 1886firmware path (e.g. /lib/firmware). 1887 1888Module snd-rme32 1889---------------- 1890 1891Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 1892Prodif96 and Prodif Gold) sound cards. 1893 1894This module supports multiple cards. 1895 1896Module snd-rme96 1897---------------- 1898 1899Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards. 1900 1901This module supports multiple cards. 1902 1903Module snd-rme9652 1904------------------ 1905 1906Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards. 1907 1908precise_ptr 1909 Enable precise pointer (doesn't work reliably). (default = 0) 1910 1911This module supports multiple cards. 1912 1913Note: snd-page-alloc module does the job which snd-hammerfall-mem 1914module did formerly. It will allocate the buffers in advance 1915when any RME9652 cards are found. To make the buffer 1916allocation sure, load snd-page-alloc module in the early 1917stage of boot sequence. See `Early Buffer Allocation`_ 1918section. 1919 1920Module snd-sa11xx-uda1341 (on arm only) 1921--------------------------------------- 1922 1923Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card. 1924 1925Module supports only one card. 1926Module has no enable and index options. 1927 1928The power-management is supported. 1929 1930Module snd-sb8 1931-------------- 1932 1933Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0, 1934SoundBlaster Pro 1935 1936port 1937 port # for SB DSP chip (0x220,0x240,0x260) 1938irq 1939 IRQ # for SB DSP chip (5,7,9,10) 1940dma8 1941 DMA # for SB DSP chip (1,3) 1942 1943This module supports multiple cards and autoprobe. 1944 1945The power-management is supported. 1946 1947Module snd-sb16 and snd-sbawe 1948----------------------------- 1949 1950Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP), 1951SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP 1952 1953mic_agc 1954 Mic Auto-Gain-Control - 0 = disable, 1 = enable (default) 1955csp 1956 ASP/CSP chip support - 0 = disable (default), 1 = enable 1957isapnp 1958 ISA PnP detection - 0 = disable, 1 = enable (default) 1959 1960with isapnp=0, the following options are available: 1961 1962port 1963 port # for SB DSP 4.x chip (0x220,0x240,0x260) 1964mpu_port 1965 port # for MPU-401 UART (0x300,0x330), -1 = disable 1966awe_port 1967 base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe 1968 module only) 1969irq 1970 IRQ # for SB DSP 4.x chip (5,7,9,10) 1971dma8 1972 8-bit DMA # for SB DSP 4.x chip (0,1,3) 1973dma16 1974 16-bit DMA # for SB DSP 4.x chip (5,6,7) 1975 1976This module supports multiple cards, autoprobe and ISA PnP. 1977 1978Note: To use Vibra16X cards in 16-bit half duplex mode, you must 1979disable 16bit DMA with dma16 = -1 module parameter. 1980Also, all Sound Blaster 16 type cards can operate in 16-bit 1981half duplex mode through 8-bit DMA channel by disabling their 198216-bit DMA channel. 1983 1984The power-management is supported. 1985 1986Module snd-sc6000 1987----------------- 1988 1989Module for Gallant SC-6000 soundcard and later models: SC-6600 and 1990SC-7000. 1991 1992port 1993 Port # (0x220 or 0x240) 1994mss_port 1995 MSS Port # (0x530 or 0xe80) 1996irq 1997 IRQ # (5,7,9,10,11) 1998mpu_irq 1999 MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq 2000dma 2001 DMA # (1,3,0) 2002joystick 2003 Enable gameport - 0 = disable (default), 1 = enable 2004 2005This module supports multiple cards. 2006 2007This card is also known as Audio Excel DSP 16 or Zoltrix AV302. 2008 2009Module snd-sscape 2010----------------- 2011 2012Module for ENSONIQ SoundScape cards. 2013 2014port 2015 Port # (PnP setup) 2016wss_port 2017 WSS Port # (PnP setup) 2018irq 2019 IRQ # (PnP setup) 2020mpu_irq 2021 MPU-401 IRQ # (PnP setup) 2022dma 2023 DMA # (PnP setup) 2024dma2 2025 2nd DMA # (PnP setup, -1 to disable) 2026joystick 2027 Enable gameport - 0 = disable (default), 1 = enable 2028 2029This module supports multiple cards. 2030 2031The driver requires the firmware loader support on kernel. 2032 2033Module snd-sun-amd7930 (on sparc only) 2034-------------------------------------- 2035 2036Module for AMD7930 sound chips found on Sparcs. 2037 2038This module supports multiple cards. 2039 2040Module snd-sun-cs4231 (on sparc only) 2041------------------------------------- 2042 2043Module for CS4231 sound chips found on Sparcs. 2044 2045This module supports multiple cards. 2046 2047Module snd-sun-dbri (on sparc only) 2048----------------------------------- 2049 2050Module for DBRI sound chips found on Sparcs. 2051 2052This module supports multiple cards. 2053 2054Module snd-wavefront 2055-------------------- 2056 2057Module for Turtle Beach Maui, Tropez and Tropez+ sound cards. 2058 2059use_cs4232_midi 2060 Use CS4232 MPU-401 interface 2061 (inaccessibly located inside your computer) 2062isapnp 2063 ISA PnP detection - 0 = disable, 1 = enable (default) 2064 2065with isapnp=0, the following options are available: 2066 2067cs4232_pcm_port 2068 Port # for CS4232 PCM interface. 2069cs4232_pcm_irq 2070 IRQ # for CS4232 PCM interface (5,7,9,11,12,15). 2071cs4232_mpu_port 2072 Port # for CS4232 MPU-401 interface. 2073cs4232_mpu_irq 2074 IRQ # for CS4232 MPU-401 interface (9,11,12,15). 2075ics2115_port 2076 Port # for ICS2115 2077ics2115_irq 2078 IRQ # for ICS2115 2079fm_port 2080 FM OPL-3 Port # 2081dma1 2082 DMA1 # for CS4232 PCM interface. 2083dma2 2084 DMA2 # for CS4232 PCM interface. 2085 2086The below are options for wavefront_synth features: 2087 2088wf_raw 2089 Assume that we need to boot the OS (default:no); 2090 If yes, then during driver loading, the state of the board is 2091 ignored, and we reset the board and load the firmware anyway. 2092fx_raw 2093 Assume that the FX process needs help (default:yes); 2094 If false, we'll leave the FX processor in whatever state it is 2095 when the driver is loaded. The default is to download the 2096 microprogram and associated coefficients to set it up for 2097 "default" operation, whatever that means. 2098debug_default 2099 Debug parameters for card initialization 2100wait_usecs 2101 How long to wait without sleeping, usecs (default:150); 2102 This magic number seems to give pretty optimal throughput 2103 based on my limited experimentation. 2104 If you want to play around with it and find a better value, be 2105 my guest. Remember, the idea is to get a number that causes us 2106 to just busy wait for as many WaveFront commands as possible, 2107 without coming up with a number so large that we hog the whole 2108 CPU. 2109 Specifically, with this number, out of about 134,000 status 2110 waits, only about 250 result in a sleep. 2111sleep_interval 2112 How long to sleep when waiting for reply (default: 100) 2113sleep_tries 2114 How many times to try sleeping during a wait (default: 50) 2115ospath 2116 Pathname to processed ICS2115 OS firmware (default:wavefront.os); 2117 The path name of the ISC2115 OS firmware. In the recent 2118 version, it's handled via firmware loader framework, so it 2119 must be installed in the proper path, typically, 2120 /lib/firmware. 2121reset_time 2122 How long to wait for a reset to take effect (default:2) 2123ramcheck_time 2124 How many seconds to wait for the RAM test (default:20) 2125osrun_time 2126 How many seconds to wait for the ICS2115 OS (default:10) 2127 2128This module supports multiple cards and ISA PnP. 2129 2130Note: the firmware file ``wavefront.os`` was located in the earlier 2131version in /etc. Now it's loaded via firmware loader, and 2132must be in the proper firmware path, such as /lib/firmware. 2133Copy (or symlink) the file appropriately if you get an error 2134regarding firmware downloading after upgrading the kernel. 2135 2136Module snd-sonicvibes 2137--------------------- 2138 2139Module for S3 SonicVibes PCI sound cards. 2140* PINE Schubert 32 PCI 2141 2142reverb 2143 Reverb Enable - 1 = enable, 0 = disable (default); 2144 SoundCard must have onboard SRAM for this. 2145mge 2146 Mic Gain Enable - 1 = enable, 0 = disable (default) 2147 2148This module supports multiple cards and autoprobe. 2149 2150Module snd-serial-u16550 2151------------------------ 2152 2153Module for UART16550A serial MIDI ports. 2154 2155port 2156 port # for UART16550A chip 2157irq 2158 IRQ # for UART16550A chip, -1 = poll mode 2159speed 2160 speed in bauds (9600,19200,38400,57600,115200) 2161 38400 = default 2162base 2163 base for divisor in bauds (57600,115200,230400,460800) 2164 115200 = default 2165outs 2166 number of MIDI ports in a serial port (1-4) 2167 1 = default 2168adaptor 2169 Type of adaptor. 2170 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A, 2171 3 = MS-124W M/B, 4 = Generic 2172 2173This module supports multiple cards. This module does not support autoprobe 2174thus the main port must be specified!!! Other options are optional. 2175 2176Module snd-trident 2177------------------ 2178 2179Module for Trident 4DWave DX/NX sound cards. 2180* Best Union Miss Melody 4DWave PCI 2181* HIS 4DWave PCI 2182* Warpspeed ONSpeed 4DWave PCI 2183* AzTech PCI 64-Q3D 2184* Addonics SV 750 2185* CHIC True Sound 4Dwave 2186* Shark Predator4D-PCI 2187* Jaton SonicWave 4D 2188* SiS SI7018 PCI Audio 2189* Hoontech SoundTrack Digital 4DWave NX 2190 2191pcm_channels 2192 max channels (voices) reserved for PCM 2193wavetable_size 2194 max wavetable size in kB (4-?kb) 2195 2196This module supports multiple cards and autoprobe. 2197 2198The power-management is supported. 2199 2200Module snd-ua101 2201---------------- 2202 2203Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces. 2204 2205This module supports multiple devices, autoprobe and hotplugging. 2206 2207Module snd-usb-audio 2208-------------------- 2209 2210Module for USB audio and USB MIDI devices. 2211 2212vid 2213 Vendor ID for the device (optional) 2214pid 2215 Product ID for the device (optional) 2216nrpacks 2217 Max. number of packets per URB (default: 8) 2218device_setup 2219 Device specific magic number (optional); 2220 Influence depends on the device 2221 Default: 0x0000 2222ignore_ctl_error 2223 Ignore any USB-controller regarding mixer interface (default: no) 2224autoclock 2225 Enable auto-clock selection for UAC2 devices (default: yes) 2226quirk_alias 2227 Quirk alias list, pass strings like ``0123abcd:5678beef``, which 2228 applies the existing quirk for the device 5678:beef to a new 2229 device 0123:abcd. 2230use_vmalloc 2231 Use vmalloc() for allocations of the PCM buffers (default: yes). 2232 For architectures with non-coherent memory like ARM or MIPS, the 2233 mmap access may give inconsistent results with vmalloc'ed 2234 buffers. If mmap is used on such architectures, turn off this 2235 option, so that the DMA-coherent buffers are allocated and used 2236 instead. 2237delayed_register 2238 The option is needed for devices that have multiple streams 2239 defined in multiple USB interfaces. The driver may invoke 2240 registrations multiple times (once per interface) and this may 2241 lead to the insufficient device enumeration. 2242 This option receives an array of strings, and you can pass 2243 ID:INTERFACE like ``0123abcd:4`` for performing the delayed 2244 registration to the given device. In this example, when a USB 2245 device 0123:abcd is probed, the driver waits the registration 2246 until the USB interface 4 gets probed. 2247 The driver prints a message like "Found post-registration device 2248 assignment: 1234abcd:04" for such a device, so that user can 2249 notice the need. 2250 2251This module supports multiple devices, autoprobe and hotplugging. 2252 2253NB: ``nrpacks`` parameter can be modified dynamically via sysfs. 2254Don't put the value over 20. Changing via sysfs has no sanity 2255check. 2256 2257NB: ``ignore_ctl_error=1`` may help when you get an error at accessing 2258the mixer element such as URB error -22. This happens on some 2259buggy USB device or the controller. 2260 2261NB: quirk_alias option is provided only for testing / development. 2262If you want to have a proper support, contact to upstream for 2263adding the matching quirk in the driver code statically. 2264 2265Module snd-usb-caiaq 2266-------------------- 2267 2268Module for caiaq UB audio interfaces, 2269 2270* Native Instruments RigKontrol2 2271* Native Instruments Kore Controller 2272* Native Instruments Audio Kontrol 1 2273* Native Instruments Audio 8 DJ 2274 2275This module supports multiple devices, autoprobe and hotplugging. 2276 2277Module snd-usb-usx2y 2278-------------------- 2279 2280Module for Tascam USB US-122, US-224 and US-428 devices. 2281 2282This module supports multiple devices, autoprobe and hotplugging. 2283 2284Note: you need to load the firmware via ``usx2yloader`` utility included 2285in alsa-tools and alsa-firmware packages. 2286 2287Module snd-via82xx 2288------------------ 2289 2290Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A, 22918233C, 8235, 8237 (south) bridge. 2292 2293mpu_port 2294 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup 2295 [VIA686A/686B only] 2296joystick 2297 Enable joystick (default off) [VIA686A/686B only] 2298ac97_clock 2299 AC'97 codec clock base (default 48000Hz) 2300dxs_support 2301 support DXS channels, 0 = auto (default), 1 = enable, 2 = disable, 2302 3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different 2303 sample rates on different channels [VIA8233/C, 8235, 8237 only] 2304ac97_quirk 2305 AC'97 workaround for strange hardware; 2306 See `AC97 Quirk Option`_ section below. 2307 2308This module supports one chip and autoprobe. 2309 2310Note: on some SMP motherboards like MSI 694D the interrupts might 2311not be generated properly. In such a case, please try to 2312set the SMP (or MPS) version on BIOS to 1.1 instead of 2313default value 1.4. Then the interrupt number will be 2314assigned under 15. You might also upgrade your BIOS. 2315 2316Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound) 2317channels as the first PCM. On these channels, up to 4 2318streams can be played at the same time, and the controller 2319can perform sample rate conversion with separate rates for 2320each channel. 2321As default (``dxs_support = 0``), 48k fixed rate is chosen 2322except for the known devices since the output is often 2323noisy except for 48k on some mother boards due to the 2324bug of BIOS. 2325Please try once ``dxs_support=5`` and if it works on other 2326sample rates (e.g. 44.1kHz of mp3 playback), please let us 2327know the PCI subsystem vendor/device id's (output of 2328``lspci -nv``). 2329If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it 2330doesn't work too, try dxs_support=1. (dxs_support=1 is 2331usually for old motherboards. The correct implemented 2332board should work with 4 or 5.) If it still doesn't 2333work and the default setting is ok, ``dxs_support=3`` is the 2334right choice. If the default setting doesn't work at all, 2335try ``dxs_support=2`` to disable the DXS channels. 2336In any cases, please let us know the result and the 2337subsystem vendor/device ids. See `Links and Addresses`_ 2338below. 2339 2340Note: for the MPU401 on VIA823x, use snd-mpu401 driver 2341additionally. The mpu_port option is for VIA686 chips only. 2342 2343The power-management is supported. 2344 2345Module snd-via82xx-modem 2346------------------------ 2347 2348Module for VIA82xx AC97 modem 2349 2350ac97_clock 2351 AC'97 codec clock base (default 48000Hz) 2352 2353This module supports one card and autoprobe. 2354 2355Note: The default index value of this module is -2, i.e. the first 2356slot is excluded. 2357 2358The power-management is supported. 2359 2360Module snd-virmidi 2361------------------ 2362 2363Module for virtual rawmidi devices. 2364This module creates virtual rawmidi devices which communicate 2365to the corresponding ALSA sequencer ports. 2366 2367midi_devs 2368 MIDI devices # (1-4, default=4) 2369 2370This module supports multiple cards. 2371 2372Module snd-virtuoso 2373------------------- 2374 2375Module for sound cards based on the Asus AV66/AV100/AV200 chips, 2376i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe), 2377Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim. 2378 2379This module supports autoprobe and multiple cards. 2380 2381Module snd-vx222 2382---------------- 2383 2384Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards. 2385 2386mic 2387 Enable Microphone on V222 Mic (NYI) 2388ibl 2389 Capture IBL size. (default = 0, minimum size) 2390 2391This module supports multiple cards. 2392 2393When the driver is compiled as a module and the hotplug firmware 2394is supported, the firmware data is loaded via hotplug automatically. 2395Install the necessary firmware files in alsa-firmware package. 2396When no hotplug fw loader is available, you need to load the 2397firmware via vxloader utility in alsa-tools package. To invoke 2398vxloader automatically, add the following to /etc/modprobe.d/alsa.conf 2399 2400:: 2401 2402 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\ 2403 && /usr/bin/vxloader 2404 2405(for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to 2406/etc/modules.conf, instead.) 2407IBL size defines the interrupts period for PCM. The smaller size 2408gives smaller latency but leads to more CPU consumption, too. 2409The size is usually aligned to 126. As default (=0), the smallest 2410size is chosen. The possible IBL values can be found in 2411/proc/asound/cardX/vx-status proc file. 2412 2413The power-management is supported. 2414 2415Module snd-vxpocket 2416------------------- 2417 2418Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards. 2419 2420ibl 2421 Capture IBL size. (default = 0, minimum size) 2422 2423This module supports multiple cards. The module is compiled only when 2424PCMCIA is supported on kernel. 2425 2426With the older 2.6.x kernel, to activate the driver via the card 2427manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the 2428sound/pcmcia/vx/vxpocket.c. 2.6.13 or later kernel requires no 2429longer require a config file. 2430 2431When the driver is compiled as a module and the hotplug firmware 2432is supported, the firmware data is loaded via hotplug automatically. 2433Install the necessary firmware files in alsa-firmware package. 2434When no hotplug fw loader is available, you need to load the 2435firmware via vxloader utility in alsa-tools package. 2436 2437About capture IBL, see the description of snd-vx222 module. 2438 2439Note: snd-vxp440 driver is merged to snd-vxpocket driver since 2440ALSA 1.0.10. 2441 2442The power-management is supported. 2443 2444Module snd-ymfpci 2445----------------- 2446 2447Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x). 2448 2449mpu_port 2450 0x300,0x330,0x332,0x334, 0 (disable) by default, 2451 1 (auto-detect for YMF744/754 only) 2452fm_port 2453 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default 2454 1 (auto-detect for YMF744/754 only) 2455joystick_port 2456 0x201,0x202,0x204,0x205, 0 (disable) by default, 2457 1 (auto-detect) 2458rear_switch 2459 enable shared rear/line-in switch (bool) 2460 2461This module supports autoprobe and multiple chips. 2462 2463The power-management is supported. 2464 2465Module snd-pdaudiocf 2466-------------------- 2467 2468Module for Sound Core PDAudioCF sound card. 2469 2470The power-management is supported. 2471 2472 2473AC97 Quirk Option 2474================= 2475 2476The ac97_quirk option is used to enable/override the workaround for 2477specific devices on drivers for on-board AC'97 controllers like 2478snd-intel8x0. Some hardware have swapped output pins between Master 2479and Headphone, or Surround (thanks to confusion of AC'97 2480specifications from version to version :-) 2481 2482The driver provides the auto-detection of known problematic devices, 2483but some might be unknown or wrongly detected. In such a case, pass 2484the proper value with this option. 2485 2486The following strings are accepted: 2487 2488default 2489 Don't override the default setting 2490none 2491 Disable the quirk 2492hp_only 2493 Bind Master and Headphone controls as a single control 2494swap_hp 2495 Swap headphone and master controls 2496swap_surround 2497 Swap master and surround controls 2498ad_sharing 2499 For AD1985, turn on OMS bit and use headphone 2500alc_jack 2501 For ALC65x, turn on the jack sense mode 2502inv_eapd 2503 Inverted EAPD implementation 2504mute_led 2505 Bind EAPD bit for turning on/off mute LED 2506 2507For backward compatibility, the corresponding integer value -1, 0, ... 2508are accepted, too. 2509 2510For example, if ``Master`` volume control has no effect on your device 2511but only ``Headphone`` does, pass ac97_quirk=hp_only module option. 2512 2513 2514Configuring Non-ISAPNP Cards 2515============================ 2516 2517When the kernel is configured with ISA-PnP support, the modules 2518supporting the isapnp cards will have module options ``isapnp``. 2519If this option is set, *only* the ISA-PnP devices will be probed. 2520For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option 2521together with the proper i/o and irq configuration. 2522 2523When the kernel is configured without ISA-PnP support, isapnp option 2524will be not built in. 2525 2526 2527Module Autoloading Support 2528========================== 2529 2530The ALSA drivers can be loaded automatically on demand by defining 2531module aliases. The string ``snd-card-%1`` is requested for ALSA native 2532devices where ``%i`` is sound card number from zero to seven. 2533 2534To auto-load an ALSA driver for OSS services, define the string 2535``sound-slot-%i`` where ``%i`` means the slot number for OSS, which 2536corresponds to the card index of ALSA. Usually, define this 2537as the same card module. 2538 2539An example configuration for a single emu10k1 card is like below: 2540:: 2541 2542 ----- /etc/modprobe.d/alsa.conf 2543 alias snd-card-0 snd-emu10k1 2544 alias sound-slot-0 snd-emu10k1 2545 ----- /etc/modprobe.d/alsa.conf 2546 2547The available number of auto-loaded sound cards depends on the module 2548option ``cards_limit`` of snd module. As default it's set to 1. 2549To enable the auto-loading of multiple cards, specify the number of 2550sound cards in that option. 2551 2552When multiple cards are available, it'd better to specify the index 2553number for each card via module option, too, so that the order of 2554cards is kept consistent. 2555 2556An example configuration for two sound cards is like below: 2557:: 2558 2559 ----- /etc/modprobe.d/alsa.conf 2560 # ALSA portion 2561 options snd cards_limit=2 2562 alias snd-card-0 snd-interwave 2563 alias snd-card-1 snd-ens1371 2564 options snd-interwave index=0 2565 options snd-ens1371 index=1 2566 # OSS/Free portion 2567 alias sound-slot-0 snd-interwave 2568 alias sound-slot-1 snd-ens1371 2569 ----- /etc/modprobe.d/alsa.conf 2570 2571In this example, the interwave card is always loaded as the first card 2572(index 0) and ens1371 as the second (index 1). 2573 2574Alternative (and new) way to fixate the slot assignment is to use 2575``slots`` option of snd module. In the case above, specify like the 2576following: 2577:: 2578 2579 options snd slots=snd-interwave,snd-ens1371 2580 2581Then, the first slot (#0) is reserved for snd-interwave driver, and 2582the second (#1) for snd-ens1371. You can omit index option in each 2583driver if slots option is used (although you can still have them at 2584the same time as long as they don't conflict). 2585 2586The slots option is especially useful for avoiding the possible 2587hot-plugging and the resultant slot conflict. For example, in the 2588case above again, the first two slots are already reserved. If any 2589other driver (e.g. snd-usb-audio) is loaded before snd-interwave or 2590snd-ens1371, it will be assigned to the third or later slot. 2591 2592When a module name is given with '!', the slot will be given for any 2593modules but that name. For example, ``slots=!snd-pcsp`` will reserve 2594the first slot for any modules but snd-pcsp. 2595 2596 2597ALSA PCM devices to OSS devices mapping 2598======================================= 2599:: 2600 2601 /dev/snd/pcmC0D0[c|p] -> /dev/audio0 (/dev/audio) -> minor 4 2602 /dev/snd/pcmC0D0[c|p] -> /dev/dsp0 (/dev/dsp) -> minor 3 2603 /dev/snd/pcmC0D1[c|p] -> /dev/adsp0 (/dev/adsp) -> minor 12 2604 /dev/snd/pcmC1D0[c|p] -> /dev/audio1 -> minor 4+16 = 20 2605 /dev/snd/pcmC1D0[c|p] -> /dev/dsp1 -> minor 3+16 = 19 2606 /dev/snd/pcmC1D1[c|p] -> /dev/adsp1 -> minor 12+16 = 28 2607 /dev/snd/pcmC2D0[c|p] -> /dev/audio2 -> minor 4+32 = 36 2608 /dev/snd/pcmC2D0[c|p] -> /dev/dsp2 -> minor 3+32 = 39 2609 /dev/snd/pcmC2D1[c|p] -> /dev/adsp2 -> minor 12+32 = 44 2610 2611The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means 2612sound card number and second means device number. The ALSA devices 2613have either ``c`` or ``p`` suffix indicating the direction, capture and 2614playback, respectively. 2615 2616Please note that the device mapping above may be varied via the module 2617options of snd-pcm-oss module. 2618 2619 2620Proc interfaces (/proc/asound) 2621============================== 2622 2623/proc/asound/card#/pcm#[cp]/oss 2624------------------------------- 2625erase 2626 erase all additional information about OSS applications 2627 2628<app_name> <fragments> <fragment_size> [<options>] 2629 <app_name> 2630 name of application with (higher priority) or without path 2631 <fragments> 2632 number of fragments or zero if auto 2633 <fragment_size> 2634 size of fragment in bytes or zero if auto 2635 <options> 2636 optional parameters 2637 2638 disable 2639 the application tries to open a pcm device for 2640 this channel but does not want to use it. 2641 (Cause a bug or mmap needs) 2642 It's good for Quake etc... 2643 direct 2644 don't use plugins 2645 block 2646 force block mode (rvplayer) 2647 non-block 2648 force non-block mode 2649 whole-frag 2650 write only whole fragments (optimization affecting 2651 playback only) 2652 no-silence 2653 do not fill silence ahead to avoid clicks 2654 buggy-ptr 2655 Returns the whitespace blocks in GETOPTR ioctl 2656 instead of filled blocks 2657 2658Example: 2659:: 2660 2661 echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss 2662 echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss 2663 echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss 2664 2665 2666Early Buffer Allocation 2667======================= 2668 2669Some drivers (e.g. hdsp) require the large contiguous buffers, and 2670sometimes it's too late to find such spaces when the driver module is 2671actually loaded due to memory fragmentation. You can pre-allocate the 2672PCM buffers by loading snd-page-alloc module and write commands to its 2673proc file in prior, for example, in the early boot stage like 2674``/etc/init.d/*.local`` scripts. 2675 2676Reading the proc file /proc/drivers/snd-page-alloc shows the current 2677usage of page allocation. In writing, you can send the following 2678commands to the snd-page-alloc driver: 2679 2680* add VENDOR DEVICE MASK SIZE BUFFERS 2681 2682VENDOR and DEVICE are PCI vendor and device IDs. They take 2683integer numbers (0x prefix is needed for the hex). 2684MASK is the PCI DMA mask. Pass 0 if not restricted. 2685SIZE is the size of each buffer to allocate. You can pass 2686k and m suffix for KB and MB. The max number is 16MB. 2687BUFFERS is the number of buffers to allocate. It must be greater 2688than 0. The max number is 4. 2689 2690* erase 2691 2692This will erase the all pre-allocated buffers which are not in 2693use. 2694 2695 2696Links and Addresses 2697=================== 2698 2699ALSA project homepage 2700 http://www.alsa-project.org 2701Kernel Bugzilla 2702 http://bugzilla.kernel.org/ 2703ALSA Developers ML 2704 mailto:alsa-devel@alsa-project.org 2705alsa-info.sh script 2706 https://www.alsa-project.org/alsa-info.sh 2707