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