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