高级 Linux 音频架构 - 驱动程序配置指南

内核配置

要启用 ALSA 支持,您至少需要使用主声卡支持 (CONFIG_SOUND) 构建内核。由于 ALSA 可以模拟 OSS,因此您无需选择任何 OSS 模块。

如果您想使用 ALSA 运行 OSS 应用程序,请启用“OSS API 模拟”(CONFIG_SND_OSSEMUL) 以及 OSS 混音器和 PCM 支持。

如果您想支持 SB Live! 等卡上的 WaveTable 功能,则需要启用“音序器支持”(CONFIG_SND_SEQUENCER)。

要使 ALSA 调试消息更详细,请启用“详细 printk”和“调试”选项。 要检查内存泄漏,请同时启用“调试内存”。 “调试检测”将添加卡检测的检查。

请注意,所有 ALSA ISA 驱动程序都支持 Linux isapnp API(如果该卡支持 ISA PnP)。 您无需使用 isapnptools 配置卡。

模块参数

用户可以使用选项加载模块。 如果该模块支持多个卡,并且您有多个相同类型的卡,则可以为该选项指定多个值,用逗号分隔。

模块 snd

核心 ALSA 模块。 所有 ALSA 卡驱动程序都使用它。 它采用以下选项,这些选项具有全局影响。

major

声卡驱动程序的主设备号;默认值:116

cards_limit

自动加载的卡索引限制 (1-8);默认值:1;要自动加载多个卡,请将此选项与 snd-card-X 别名一起指定。

slots

为给定的驱动程序保留插槽索引;此选项采用多个字符串。 有关详细信息,请参见模块自动加载支持部分。

debug

指定调试消息级别;(0 = 禁用调试打印,1 = 常规调试消息,2 = 详细调试消息);仅当 CONFIG_SND_DEBUG=y 时才会出现此选项。 可以通过 sysfs /sys/module/snd/parameters/debug 文件动态更改此选项。

模块 snd-pcm-oss

PCM OSS 模拟模块。 此模块采用更改设备映射的选项。

dsp_map

分配给第一个 OSS 设备的 PCM 设备编号映射;默认值:0

adsp_map

分配给第二个 OSS 设备的 PCM 设备编号映射;默认值:1

nonblock_open

不要阻止打开繁忙的 PCM 设备;默认值:1

例如,当 dsp_map=2 时,/dev/dsp 将映射到卡 #0 的 PCM #2。 类似地,当 adsp_map=0 时,/dev/adsp 将映射到卡 #0 的 PCM #0。 要更改第二个或以后的卡,请使用逗号指定该选项,例如 dsp_map=0,1

nonblock_open 选项用于更改 PCM 关于打开设备的行为。 当此选项为非零时,打开繁忙的 OSS PCM 设备不会被阻止,而是会立即返回 EAGAIN(就像 O_NONBLOCK 标志一样)。

模块 snd-rawmidi

此模块采用更改设备映射的选项。 与 snd-pcm-oss 模块的选项类似。

midi_map

分配给第一个 OSS 设备的 MIDI 设备编号映射;默认值:0

amidi_map

分配给第二个 OSS 设备的 MIDI 设备编号映射;默认值:1

模块 snd-soc-core

soc 核心模块。 所有 ALSA 卡驱动程序都使用它。 它采用以下选项,这些选项具有全局影响。

prealloc_buffer_size_kbytes

以 kbytes 为单位指定预分配缓冲区大小(默认值:512)。

顶级声卡模块的常用参数

每个顶级声卡模块都采用以下选项。

index

声卡的索引(插槽 #);值:0 到 31 或负数;如果为非负数,则分配该索引号;如果为负数,则解释为允许的索引的位掩码;分配第一个空闲的允许索引;默认值:-1

id

卡 ID(标识符或名称);最多可包含 15 个字符;默认值:卡类型;在此名称下创建一个目录 /proc/asound/,其中包含有关该卡的信息;此 ID 可用于代替索引号来标识卡

enable

启用卡;默认值:已启用,对于 PCI 和 ISA PnP 卡

如果多个设备绑定到同一驱动程序,则这些选项用于指定实例的顺序或控制每个设备的启用和禁用。 例如,许多机器都有两个 HD-audio 控制器(一个用于 HDMI/DP 音频,另一个用于板载模拟)。 在大多数情况下,第二个控制器主要使用,并且人们希望将其分配为第一个出现的卡。 它们可以通过指定 “index=1,0” 模块参数来做到这一点,这将交换分配的插槽。

如今,使用支持动态配置的 PulseAudio 和 PipeWire 等音频后端几乎没有用处,但这在过去对静态配置有所帮助。

模块 snd-adlib

AdLib FM 卡的模块。

port

OPL 芯片的端口 #

此模块支持多个卡。 它不支持自动探测,因此必须指定端口。 对于实际的 AdLib FM 卡,它将为 0x388。 请注意,此卡没有 PCM 支持,也没有混音器; 只有 FM 合成。

确保您拥有 alsa-tools 包中的 sbiload,并在加载模块后,通过 sbiload -l 找出分配的 ALSA 音序器端口号。

示例输出

Port     Client name                       Port name
64:0     OPL2 FM synth                     OPL2 FM Port

加载 std.sbdrums.sb 补丁,这些补丁也由 sbiload 提供

sbiload -p 64:0 std.sb drums.sb

如果您使用此驱动程序来驱动 OPL3,则可以使用 std.o3drums.o3 代替。 要使卡发出声音,请使用 alsa-utils 中的 aplaymidi

aplaymidi -p 64:0 foo.mid

模块 snd-ad1816a

基于 Analog Devices AD1816A/AD1815 ISA 芯片的声卡的模块。

clockfreq

AD1816A 芯片的时钟频率(默认值 = 0,33000Hz)

此模块支持多个卡、自动探测和 PnP。

模块 snd-ad1848

基于 AD1848/AD1847/CS4248 ISA 芯片的声卡的模块。

port

port

AD1848 芯片的端口 #

irq

AD1848 芯片的 IRQ #

dma1

AD1848 芯片的 DMA # (0,1,3)

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

支持电源管理。

模块 snd-ad1889

Analog Devices AD1889 芯片的模块。

ac97_quirk

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

此模块支持多个卡。

模块 snd-ali5451

ALi M5451 PCI 芯片的模块。

pcm_channels

分配给 PCM 的硬件通道数

spdif

支持 SPDIF I/O; 默认值:已禁用

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

此模块支持一个芯片和自动探测。

模块 snd-als100

此模块支持多个卡、自动探测和 PnP。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

基于 Avance Logic ALS100/ALS120 ISA 芯片的声卡的模块。

模块 snd-als300

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

Avance Logic ALS300 和 ALS300+ 的模块

模块 snd-als4000

基于 Avance Logic ALS4000 PCI 芯片的声卡的模块。

joystick_port

此模块支持多个卡、自动探测和 PnP。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

传统游戏杆支持的端口 #; 0 = 禁用(默认),1 = 自动检测

模块 snd-asihpi

AudioScience ASI 声卡的模块

enable_hpi_hwdep

为 AudioScience 声卡启用 HPI hwdep

此模块支持多个卡。 驱动程序需要在内核上支持固件加载程序。

模块 snd-atiixp

ATI IXP 150/200/250/400 AC97 控制器的模块。

ac97_clock

Analog Devices AD1889 芯片的模块。

AC’97 时钟(默认值 = 48000)

AC’97 workaround for strange hardware; See AC97 Quirk Option section below.

ac97_codec

Workaround to specify which AC’97 codec instead of probing. If this works for you file a bug with your lspci -vn output. (-2 = Force probing, -1 = Default behavior, 0-2 = Use the specified codec.)

spdif_aclink

通过 AC 链接传输 S/PDIF(默认值 = 1)

此模块支持一张卡和自动探测。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

ATI IXP 有两种不同的方法来控制 SPDIF 输出。 一种是通过 AC 链接,另一种是通过“直接”SPDIF 输出。 该实现取决于主板,您需要通过 spdif_aclink 模块选项选择正确的实现。

模块 snd-atiixp-modem

通过 AC 链接传输 S/PDIF(默认值 = 1)

ATI IXP 150/200/250 AC97 调制解调器控制器的模块。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

注意:此模块的默认索引值为 -2,即排除第一个插槽。

模块 snd-au8810、snd-au8820、snd-au8830

Aureal Vortex、Vortex2 和 Advantage 设备的模块。

pcifix

控制 PCI 解决方法;0 = 禁用所有解决方法,1 = 强制 Aureal 卡的 PCI 延迟为 0xff,2 = 强制扩展 PCI#2 内部主设备以高效处理 VIA KT133 AGP 桥上的虚拟请求,3 = 强制同时设置,255 = 自动检测所需的设置(默认)

此模块支持所有 ADB PCM 通道、ac97 混音器、SPDIF、硬件 EQ、mpu401、游戏端口。 A3D 和波表支持仍在开发中。 开发和逆向工程工作正在 https://savannah.nongnu.org/projects/openvortex/ 上进行协调。 SPDIF 输出具有 AC97 编解码器输出的副本,除非您使用 spdif pcm 设备,该设备允许原始数据直通。 硬件 EQ 硬件和 SPDIF 仅存在于 Vortex2 和 Advantage 中。

注意:某些 ALSA 混音器应用程序无法正确处理 SPDIF 采样率控制。 如果您在此方面遇到问题,请尝试其他符合 ALSA 标准的混音器(alsamixer 有效)。

模块 snd-azt1605

port

基于 Aztech AZT1605 芯片组的 Aztech Sound Galaxy 声卡的模块。

port

BASE 的端口 # (0x220,0x240,0x260,0x280)

AD1848 芯片的端口 #

wss_port

AD1848 芯片的 IRQ #

WSS 的端口 # (0x530,0x604,0xe80,0xf40)

WSS 的 IRQ # (7,9,10,11)

dma1

WSS 回放的 DMA # (0,1,3)

dma2

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

mpu_port

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

mpu_irq

MPU-401 UART 的 IRQ # (3,5,7,9),-1 = 已禁用(默认)

fm_port

OPL3 的端口 # (0x388),-1 = 已禁用(默认)

此模块支持多个卡。 它不支持自动探测:必须指定 portwss_portirqdma1。 其他值是可选的。

port 需要与卡上的 BASE ADDRESS 跳线(0x220 或 0x240)或卡 EEPROM 中存储的值(对于具有 EEPROM 且其“CONFIG MODE”跳线设置为“EEPROM SETTING”的卡)匹配。 可以从上面枚举的选项中自由选择其他值。

如果指定了 dma2 且与 dma1 不同,则卡将以全双工模式运行。 当 dma1=3 时,只有 dma2=0 有效,并且是启用捕获的唯一方法,因为只有通道 0 和 1 可用于捕获。

通用设置为 port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0 mpu_port=0x330 mpu_irq=9 fm_port=0x388

port

基于 Aztech AZT1605 芯片组的 Aztech Sound Galaxy 声卡的模块。

port

BASE 的端口 # (0x220,0x240,0x260,0x280)

AD1848 芯片的端口 #

wss_port

AD1848 芯片的 IRQ #

WSS 的端口 # (0x530,0x604,0xe80,0xf40)

WSS 的 IRQ # (7,9,10,11)

dma1

WSS 回放的 DMA # (0,1,3)

dma2

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

无论您选择哪个 IRQ 和 DMA 通道,请务必在 BIOS 中为传统 ISA 保留它们。

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

mpu_irq

MPU-401 UART 的 IRQ # (3,5,7,9),-1 = 已禁用(默认)

fm_port

OPL3 的端口 # (0x388),-1 = 已禁用(默认)

此模块支持多个卡。 它不支持自动探测:必须指定 portwss_portirqdma1。 其他值是可选的。

port 需要与卡上的 BASE ADDRESS 跳线(0x220 或 0x240)或卡 EEPROM 中存储的值(对于具有 EEPROM 且其“CONFIG MODE”跳线设置为“EEPROM SETTING”的卡)匹配。 可以从上面枚举的选项中自由选择其他值。

模块 snd-azt2316

基于 Aztech AZT2316 芯片组的 Aztech Sound Galaxy 声卡的模块。

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

MPU-401 UART 的 IRQ # (5,7,9,10),-1 = 已禁用(默认)

模块 snd-aw2

Audiowerk2 声卡的模块

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-azt2320

基于 Aztech System AZT2320 ISA 芯片(仅限 PnP)的声卡的模块。

此模块支持多个卡、PnP 和自动探测。

模块 snd-azt3328

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

基于 Aztech AZF3328 PCI 芯片的声卡的模块。

joystick

启用游戏杆(默认关闭)

模块 snd-bt87x

基于 Bt87x 芯片的视频卡的模块。

digital_rate

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

ATI IXP 150/200/250 AC97 调制解调器控制器的模块。

覆盖默认数字速率 (Hz)

load_all

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

即使卡型号未知,也加载驱动程序

模块 snd-ca0106

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

isapnp

ISA PnP 检测 - 0 = 禁用,1 = 启用(默认)

使用 isapnp=0 时,可以使用以下选项

wssport

CMI8330 芯片 (WSS) 的端口 #

wssirq

CMI8330 芯片 (WSS) 的 IRQ #

wssdma

CMI8330 芯片 (WSS) 的第一个 DMA #

sbport

CMI8330 芯片 (SB16) 的端口 #

sbirq

CMI8330 芯片 (SB16) 的 IRQ #

sbdma8

CMI8330 芯片 (SB16) 的 8 位 DMA #

sbdma16

CMI8330 芯片 (SB16) 的 16 位 DMA #

fmport

(可选)OPL3 I/O 端口

mpuport

(可选)MPU401 I/O 端口

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

mpuirq

(可选)MPU401 irq #

WSS 回放的 DMA # (0,1,3)

此模块支持多个卡和自动探测。

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

模块 snd-cmipci

C-Media CMI8338/8738/8768/8770 PCI 声卡的模块。

midi_port

基于 Avance Logic ALS4000 PCI 芯片的声卡的模块。

MIDI 接口的端口地址(仅限 8338):0x300,0x310,0x320,0x330 = 传统端口,1 = 集成 PCI 端口(8738 上的默认值),0 = 禁用

fm_port

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

OPL-3 FM 合成器的端口地址(仅限 8x38):0x388 = 传统端口,1 = 集成 PCI 端口(8738 上的默认值),0 = 禁用

soft_ac3

port

原始 SPDIF 数据包的软件转换(仅限型号 033)(默认值 = 1)

WSS 回放的 DMA # (0,1,3)

joystick_port

AD1848 芯片的端口 #

游戏杆端口地址(0 = 禁用,1 = 自动检测)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

此模块支持自动探测和多个卡。

AD1848 芯片的 IRQ #

模块 snd-cs4231

WSS 的 IRQ # (7,9,10,11)

基于 CS4231 ISA 芯片的声卡的模块。

port

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

CS4231 芯片的端口 #

MPU-401 芯片的端口 #(可选),-1 = 禁用

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

port

irq

CS4231 芯片的 IRQ #

mpu_irq

WSS 回放的 DMA # (0,1,3)

MPU-401 UART 的 IRQ #

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

dma1

AD1848 芯片的端口 #

CS4231 芯片的第一个 DMA #

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

dma2

AD1848 芯片的 IRQ #

CS4231 芯片的第二个 DMA #

WSS 的 IRQ # (7,9,10,11)

此模块支持多个卡。 此模块不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-cs4236

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

基于 CS4232/CS4232A、CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA 芯片的声卡的模块。

port

CS4236 芯片的端口 #(PnP 设置 - 0x534)

cport

辅助编解码器 ID (0 = 禁用, 默认)

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-cs46xx

用于基于 CS4610/CS4612/CS4614/CS4615/CS4622/ CS4624/CS4630/CS4280 PCI 芯片的 PCI 声卡的模块。

external_amp

强制启用外部放大器。

thinkpad

强制启用 Thinkpad 的 CLKRUN 控制。

mmap_valid

支持 OSS mmap 模式 (默认 = 0)。

此模块支持多个声卡和自动探测。通常外部放大器和 CLKRUN 控制会根据 PCI 子厂商/设备 ID 自动检测。如果它们不起作用,请显式提供上述选项。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-cs5530

用于 Cyrix/NatSemi Geode 5530 芯片的模块。

模块 snd-cs5535audio

用于多功能 CS5535 配套 PCI 设备的模块

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-ctxfi

用于 Creative Sound Blaster X-Fi 板卡 (20k1 / 20k2 芯片) 的模块

  • Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series

  • Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series

  • Creative Sound Blaster X-Fi Titanium Professional Audio

  • Creative Sound Blaster X-Fi Titanium

  • Creative Sound Blaster X-Fi Elite Pro

  • Creative Sound Blaster X-Fi Platinum

  • Creative Sound Blaster X-Fi Fatal1ty

  • Creative Sound Blaster X-Fi XtremeGamer

  • Creative Sound Blaster X-Fi XtremeMusic

reference_rate

参考采样率, 44100 或 48000 (默认)

multiple

参考采样率的倍数,1 或 2 (默认)

subsystem

覆盖用于探测的 PCI SSID;该值由 SSVID << 16 | SSDID 组成。 默认值为零,表示不覆盖。

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-darla20

用于 Echoaudio Darla20 的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-darla24

用于 Echoaudio Darla24 的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-dt019x

用于 Diamond Technologies DT-019X / Avance Logic ALS-007 (仅 PnP) 的模块

此模块支持多个声卡。仅在启用 ISA PnP 支持时才启用此模块。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-dummy

用于虚拟声卡的模块。此“声卡”不进行任何输出或输入,但您可以将此模块用于任何需要声卡的应用程序 (如 RealPlayer)。

pcm_devs

分配给每个声卡的 PCM 设备数量 (默认 = 1, 最大 4)

pcm_substreams

分配给每个 PCM 的 PCM 子流数量 (默认 = 8, 最大 128)

hrtimer

使用 hrtimer (=1, 默认) 或系统计时器 (=0)

fake_buffer

模拟缓冲区分配 (默认 = 1)

当创建多个 PCM 设备时,snd-dummy 为每个 PCM 设备提供不同的行为: * 0 = 交错模式并支持 mmap * 1 = 非交错模式并支持 mmap * 2 = 交错模式但不支持 mmap * 3 = 非交错模式且不支持 mmap

作为默认值,snd-dummy 驱动程序不分配真正的缓冲区,而是忽略读/写操作或将单个虚拟页面 mmap 到所有缓冲区页面,以节省资源。如果您的应用程序需要读/写缓冲区数据保持一致,请传递 fake_buffer=0 选项。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-echo3g

用于 Echoaudio 3G 声卡 (Gina3G/Layla3G) 的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-emu10k1

用于基于 EMU10K1/EMU10k2 的 PCI 声卡的模块。

  • Sound Blaster Live!

  • Sound Blaster PCI 512

  • Sound Blaster Audigy

  • E-MU APS (部分支持)

  • E-MU DAS

extin

FX8010 可用外部输入的位图 (见下文)

extout

FX8010 可用外部输出的位图 (见下文)

seq_ports

分配的音序器端口 (默认 4 个)

max_synth_voices

用于波表合成的最大声音数 (默认 64)

max_buffer_size

指定波表/PCM 缓冲区允许的最大大小,单位为 MB。默认值为 128。

enable_ir

启用 IR

(可选)MPU401 I/O 端口

输入和输出配置 [extin/extout] * Creative 声卡无数字输出 [0x0003/0x1f03] * Creative 声卡带数字输出 [0x0003/0x1f0f] * Creative 声卡带数字 CD 输入 [0x000f/0x1f0f] * Creative 声卡无数字输出 + LiveDrive [0x3fc3/0x1fc3] * Creative 声卡带数字输出 + LiveDrive [0x3fc3/0x1fcf] * Creative 声卡带数字 CD 输入 + LiveDrive [0x3fcf/0x1fcf] * Creative 声卡无数字输出 + Digital I/O 2 [0x0fc3/0x1f0f] * Creative 声卡带数字输出 + Digital I/O 2 [0x0fc3/0x1f0f] * Creative 声卡带数字 CD 输入 + Digital I/O 2 [0x0fcf/0x1f0f] * Creative 声卡 5.1/带数字输出 + LiveDrive [0x3fc3/0x1fff] * Creative 声卡 5.1 (c) 2003 [0x3fc3/0x7cff] * Creative 声卡所有输入和输出 [0x3fff/0x7fff]

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-emu10k1x

用于 Creative Emu10k1X (SB Live Dell OEM 版本) 的模块

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-ens1370

用于 Ensoniq AudioPCI ES1370 PCI 声卡的模块。

  • SoundBlaster PCI 64

  • SoundBlaster PCI 128

此模块支持多个卡、PnP 和自动探测。

模块 snd-azt3328

(可选)MPU401 I/O 端口

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-ens1371

用于 Ensoniq AudioPCI ES1371 PCI 声卡的模块。

  • SoundBlaster PCI 64

  • SoundBlaster PCI 128

  • SoundBlaster Vibra PCI

基于 Avance Logic ALS4000 PCI 芯片的声卡的模块。

操纵杆的端口 # (0x200,0x208,0x210,0x218), 0 = 禁用 (默认), 1 = 自动检测

(可选)MPU401 I/O 端口

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-es1688

用于 ESS AudioDrive ES-1688 和 ES-688 声卡的模块。

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

WSS 回放的 DMA # (0,1,3)

MPU-401 端口的端口 # (0x300,0x310,0x320,0x330), -1 = 禁用 (默认)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 端口的 IRQ # (5,7,9,10)

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

OPL3 的端口 # (可选;与默认端口共享)

如果 isapnp=0,则以下附加选项可用

port

ES-1688 芯片的端口 # (0x220,0x240,0x260)

AD1848 芯片的端口 #

ES-1688 芯片的 IRQ # (5,7,9,10)

dma8

ES-1688 芯片的 DMA # (0,1,3)

此模块支持多个声卡和自动探测 (不带 MPU-401 端口) 以及带 ES968 芯片的 PnP。

模块 snd-es18xx

用于 ESS AudioDrive ES-18xx 声卡的模块。

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

port

ES-18xx 芯片的端口 # (0x220,0x240,0x260)

WSS 回放的 DMA # (0,1,3)

MPU-401 端口的端口 # (0x300,0x310,0x320,0x330), -1 = 禁用 (默认)

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

FM 的端口 # (可选,未使用)

AD1848 芯片的端口 #

ES-18xx 芯片的 IRQ # (5,7,9,10)

AD1848 芯片的 IRQ #

ES-18xx 芯片的第一个 DMA # (0,1,3)

WSS 的 IRQ # (7,9,10,11)

ES-18xx 芯片的第一个 DMA # (0,1,3)

此模块支持多个声卡、ISA PnP 和自动探测 (如果未使用本机 ISA PnP 例程,则不带 MPU-401 端口)。当 dma2dma1 相等时,驱动程序以半双工模式工作。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-es1938

用于基于 ESS Solo-1 (ES1938,ES1946) 芯片的声卡的模块。

(可选)MPU401 I/O 端口

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-es1968

用于基于 ESS Maestro-1/2/2E (ES1968/ES1978) 芯片的声卡的模块。

total_bufsize

总缓冲区大小,单位为 kB (1-4096kB)

pcm_substreams_p

播放通道数 (1-8, 默认=2)

pcm_substreams_c

捕获通道数 (1-8, 默认=0)

clock

时钟 (0 = 自动检测)

use_pm

支持电源管理 (0 = 关闭, 1 = 开启, 2 = 自动 (默认))

enable_mpu

启用 MPU401 (0 = 关闭, 1 = 开启, 2 = 自动 (默认))

此模块支持多个卡、PnP 和自动探测。

启用操纵杆 (默认关闭)

(可选)MPU401 I/O 端口

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-fm801

用于基于 ForteMedia FM801 的 PCI 声卡的模块。

tea575x_tuner

启用 TEA575x 调谐器;1 = MediaForte 256-PCS, 2 = MediaForte 256-PCPR, 3 = MediaForte 64-PCR 高 16 位是视频 (无线电) 设备编号 + 1;示例:0x10002 (MediaForte 256-PCPR, 设备 1)

(可选)MPU401 I/O 端口

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-gina20

用于 Echoaudio Gina20 的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-gina24

用于 Echoaudio Gina24 的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-gusclassic

用于 Gravis UltraSound Classic 声卡的模块。

port

GF1 芯片的端口 # (0x220,0x230,0x240,0x250,0x260)

AD1848 芯片的端口 #

GF1 芯片的 IRQ # (3,5,9,11,12,15)

AD1848 芯片的 IRQ #

GF1 芯片的 DMA # (1,3,5,6,7)

WSS 的 IRQ # (7,9,10,11)

GF1 芯片的 DMA # (1,3,5,6,7,-1=禁用)

joystick_dac

0 到 31, (0.59V-4.52V 或 0.389V-2.98V)

voices

GF1 声音数限制 (14-32)

pcm_voices

保留的 PCM 声音数

(可选)MPU401 I/O 端口

模块 snd-gusextreme

用于 Gravis UltraSound Extreme (Synergy ViperMax) 声卡的模块。

port

ES-1688 芯片的端口 # (0x220,0x230,0x240,0x250,0x260)

gf1_port

GF1 芯片的端口 # (0x210,0x220,0x230,0x240,0x250,0x260,0x270)

WSS 回放的 DMA # (0,1,3)

MPU-401 端口的端口 # (0x300,0x310,0x320,0x330), -1 = 禁用

AD1848 芯片的端口 #

ES-1688 芯片的 IRQ # (5,7,9,10)

gf1_irq

GF1 芯片的 IRQ # (3,5,9,11,12,15)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 端口的 IRQ # (5,7,9,10)

dma8

ES-1688 芯片的 DMA # (0,1,3)

AD1848 芯片的 IRQ #

GF1 芯片的 DMA # (1,3,5,6,7)

joystick_dac

0 到 31, (0.59V-4.52V 或 0.389V-2.98V)

voices

GF1 声音数限制 (14-32)

pcm_voices

保留的 PCM 声音数

此模块支持多个声卡和自动探测 (不带 MPU-401 端口)。

模块 snd-gusmax

用于 Gravis UltraSound MAX 声卡的模块。

port

GF1 芯片的端口 # (0x220,0x230,0x240,0x250,0x260)

AD1848 芯片的端口 #

GF1 芯片的 IRQ # (3,5,9,11,12,15)

AD1848 芯片的 IRQ #

GF1 芯片的 DMA # (1,3,5,6,7)

WSS 的 IRQ # (7,9,10,11)

GF1 芯片的 DMA # (1,3,5,6,7,-1=禁用)

joystick_dac

0 到 31, (0.59V-4.52V 或 0.389V-2.98V)

voices

GF1 声音数限制 (14-32)

pcm_voices

保留的 PCM 声音数

(可选)MPU401 I/O 端口

模块 snd-hda-intel

用于 Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10, PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620, RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461 的模块

[每个声卡实例的多个选项]

model

强制使用型号名称

position_fix

修复 DMA 指针;-1 = 系统默认值:根据控制器硬件选择合适的指针,0 = 自动:当 POSBUF 不起作用时回退到 LPIB,1 = 使用 LPIB,2 = POSBUF:使用位置缓冲区,3 = VIACOMBO:VIA 专用捕获解决方法,4 = COMBO:播放使用 LPIB,捕获使用自动流,5 = SKL+:应用最新的 Intel 芯片上的延迟计算, 6 = FIFO: 使用固定的 FIFO 大小校正位置,适用于最新的 AMD 芯片

probe_mask

探测编解码器的位掩码 (默认 = -1, 表示所有插槽); 当设置位 8 (0x100) 时,低 8 位用作“固定”编解码器插槽; 也就是说,无论硬件返回什么,驱动程序都会探测这些插槽

probe_only

仅探测,不进行编解码器初始化 (默认 = 关闭); 用于检查初始编解码器状态以进行调试很有用

bdl_pos_adj

指定 DMA IRQ 定时延迟(以采样为单位)。传递 -1 将使驱动程序根据控制器芯片选择适当的值。

patch

指定用于在初始化编解码器之前修改 HD-audio 设置的早期“补丁”文件。仅当设置了 CONFIG_SND_HDA_PATCH_LOADER=y 时,此选项才可用。有关详细信息,请参见关于 HD-Audio 驱动的更多说明

beep_mode

选择提示音注册模式 (0=关闭, 1=开启);默认值通过 CONFIG_SND_HDA_INPUT_BEEP_MODE kconfig 设置。

[单个 (全局) 选项]

single_cmd

使用单个即时命令与编解码器通信 (仅用于调试)

enable_msi

启用消息信号中断 (MSI) (默认 = 关闭)

power_save

自动省电超时 (以秒为单位, 0 = 禁用)

power_save_controller

在省电模式下重置 HD-audio 控制器 (默认 = 开启)

pm_blacklist

启用/禁用电源管理拒绝列表 (默认 = 查找 PM 拒绝列表, 0 = 跳过 PM 拒绝列表, 1 = 强制关闭运行时 PM)

align_buffer_size

强制将缓冲区/周期大小四舍五入到 128 字节的倍数。这在内存访问方面效率更高,但 HDA 规范不需要,并阻止用户指定准确的周期/缓冲区大小。(默认=开启)

snoop

启用/禁用监听 (默认 = 开启)

(可选)MPU401 I/O 端口

有关 HD-audio 驱动程序的更多详细信息,请参见 关于 HD-Audio 驱动的更多说明

每个编解码器可能都有一个用于不同配置的型号表。如果您的机器未在其中列出,则会设置默认 (通常是最小) 配置。您可以传递 model=<name> 选项以在这种情况下指定特定型号。根据编解码器芯片的不同,有不同的型号。可在 HD-Audio 编解码器专用型号中找到可用型号的列表。

型号名称 generic 被视为一种特殊情况。当给出此型号时,驱动程序使用通用编解码器分析器,而不使用“编解码器补丁”。有时对于测试和调试很有用。

型号选项也可用于别名到另一个 PCI 或编解码器 SSID。当它以 model=XXXX:YYYY 的形式传递时,其中 XXXX 和 YYYY 分别是以十六进制数字表示的子厂商和子设备 ID,驱动程序会将该 SSID 引用为怪癖表的参考。

如果默认配置不起作用,并且以上之一与您的设备匹配,请将 alsa-info.sh 输出 (带有 --no-upload 选项) 报告给内核 bugzilla 或 alsa-devel ML (请参见 链接和地址 部分)。

power_savepower_save_controller 选项用于省电模式。有关详细信息,请参见 powersave.rst。

注意 2:如果您在输出上听到咔嗒声,请尝试模块选项 position_fix=12position_fix=1 将使用 SD_LPIB 寄存器值,而不使用 FIFO 大小校正作为当前 DMA 指针。position_fix=2 将使驱动程序使用位置缓冲区而不是读取 SD_LPIB 寄存器。(通常,SD_LPIB 寄存器比位置缓冲区更准确。)

position_fix=3 仅适用于 VIA 设备。从 LPIB 和 POSBUF 值检查捕获流的位置。position_fix=4 是一种组合模式,播放使用 LPIB,捕获使用 POSBUF。

注意:如果在加载时收到许多 azx_get_response timeout 消息,则可能是中断问题 (例如 ACPI irq 路由)。尝试使用 pci=noacpi 等选项启动。 此外,您可以尝试 single_cmd=1 模块选项。 这会将 HDA 控制器和编解码器之间的通信方法切换为单个立即命令,而不是 CORB/RIRB。 基本上,单命令模式仅适用于 BIOS,您也不会收到未经请求的事件。 但是,至少,这独立于 irq 工作。 请记住,这是最后的手段,应尽可能避免...

有关 azx_get_response timeout 问题的更多说明:在某些硬件上,您可能需要添加适当的 probe_mask 选项以避免上述 azx_get_response timeout 问题。当访问不存在或无法工作的编解码器插槽 (可能是调制解调器插槽) 导致通过 HD-audio 总线的通信停顿时,就会发生这种情况。 您可以通过启用 CONFIG_SND_DEBUG_VERBOSE,或者直接从编解码器 proc 文件的文件名中查看探测了哪些编解码器插槽。 然后通过 probe_mask 选项限制要探测的插槽。 例如,probe_mask=1 表示仅探测第一个插槽,而 probe_mask=4 表示仅探测第三个插槽。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-hdsp

用于 RME Hammerfall DSP 音频接口的模块

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

注意:当设置了 CONFIG_FW_LOADER 时,固件数据可以通过热插拔自动加载。否则,您需要通过 alsa-tools 包中包含的 hdsploader 实用程序加载固件。固件数据可在 alsa-firmware 包中找到。

注意:snd-page-alloc 模块执行 snd-hammerfall-mem 模块以前执行的工作。当找到任何 HDSP 声卡时,它会提前分配缓冲区。为了确保缓冲区分配,请在启动序列的早期阶段加载 snd-page-alloc 模块。请参见提前缓冲区分配部分。

模块 snd-hdspm

用于 RME HDSP MADI 板卡的模块。

precise_ptr

启用或禁用精确指针。

line_outs_monitor

默认情况下将播放流发送到模拟输出。

enable_monitor

默认情况下在通道 63/64 上启用模拟输出。

有关详细信息,请参见 hdspm.rst。

模块 snd-ice1712

用于基于 Envy24 (ICE1712) 的 PCI 声卡的模块。

  • MidiMan M Audio Delta 1010

  • MidiMan M Audio Delta 1010LT

  • MidiMan M Audio Delta DiO 2496

  • MidiMan M Audio Delta 66

  • MidiMan M Audio Delta 44

  • MidiMan M Audio Delta 410

  • MidiMan M Audio Audiophile 2496

  • TerraTec EWS 88MT

  • TerraTec EWS 88D

  • TerraTec EWX 24/96

  • TerraTec DMX 6Fire

  • TerraTec Phase 88

  • Hoontech SoundTrack DSP 24

  • Hoontech SoundTrack DSP 24 Value

  • Hoontech SoundTrack DSP 24 Media 7.1

  • Event Electronics, EZ8

  • Digigram VX442

  • Lionstracs, Mediastaton

  • Terrasoniq TS 88

model

使用给定的板卡型号,以下型号之一:delta1010, dio2496, delta66, delta44, audiophile, delta410, delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d, dmx6fire, dsp24, dsp24_value, dsp24_71, ez8, phase88, mediastation

omni

MidiMan M-Audio Delta44/66的Omni I/O 支持

cs8427_timeout

CS8427芯片(S/PDIF收发器)的重置超时时间,单位为毫秒,默认值为 500 (0.5 秒)

此模块支持多声卡和自动检测。注意:消费者部分并非所有基于 Envy24 的声卡都会使用(例如,MidiMan Delta 系列)。

注意:支持的板卡通过读取 EEPROM 或 PCI SSID(如果 EEPROM 不可用)来检测。如果驱动程序配置不正确,或者您想尝试其他类型进行测试,您可以通过传递 model 模块选项来覆盖模型。

模块 snd-ice1724

基于 Envy24HT (VT/ICE1724)、Envy24PT (VT1720) 的 PCI 声卡的模块。

  • MidiMan M Audio Revolution 5.1

  • MidiMan M Audio Revolution 7.1

  • MidiMan M Audio Audiophile 192

  • AMP Ltd AUDIO2000

  • TerraTec Aureon 5.1 Sky

  • TerraTec Aureon 7.1 Space

  • TerraTec Aureon 7.1 Universe

  • TerraTec Phase 22

  • TerraTec Phase 28

  • AudioTrak Prodigy 7.1

  • AudioTrak Prodigy 7.1 LT

  • AudioTrak Prodigy 7.1 XT

  • AudioTrak Prodigy 7.1 HIFI

  • AudioTrak Prodigy 7.1 HD2

  • AudioTrak Prodigy 192

  • Pontis MS300

  • Albatron K8X800 Pro II

  • Chaintech ZNF3-150

  • Chaintech ZNF3-250

  • Chaintech 9CJS

  • Chaintech AV-710

  • Shuttle SN25P

  • Onkyo SE-90PCI

  • Onkyo SE-200PCI

  • ESI Juli@

  • ESI Maya44

  • Hercules Fortissimo IV

  • EGO-SYS WaveTerminal 192M

model

使用给定的板卡型号,以下型号之一:revo51, revo71, amp2000, prodigy71, prodigy71lt, prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192, juli, aureon51, aureon71, universe, ap192, k8x800, phase22, phase28, ms300, av710, se200pci, se90pci, fortissimo4, sn25p, WT192M, maya44

(可选)MPU401 I/O 端口

注意:支持的板卡通过读取 EEPROM 或 PCI SSID(如果 EEPROM 不可用)来检测。如果驱动程序配置不正确,或者您想尝试其他类型进行测试,您可以通过传递 model 模块选项来覆盖模型。

模块 snd-indigo

Echoaudio Indigo的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-indigodj

Echoaudio Indigo DJ 的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-indigoio

Echoaudio Indigo IO 的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-intel8x0

适用于 Intel 和兼容厂商的 AC’97 主板的模块。

  • Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7, 6300ESB, ESB2

  • SiS 7012 (SiS 735)

  • NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501

  • AMD AMD768, AMD8111

  • ALi m5455

ATI IXP 150/200/250/400 AC97 控制器的模块。

AC’97 编解码器时钟基准(0 = 自动检测)

Analog Devices AD1889 芯片的模块。

AC’97 时钟(默认值 = 48000)

buggy_irq

启用对某些主板上错误中断的解决方法(在 nForce 芯片上默认为 yes,否则为 off)

buggy_semaphore

启用对具有错误信号量的硬件的解决方法(例如,在某些 ASUS 笔记本电脑上)(默认为 off)

Workaround to specify which AC’97 codec instead of probing. If this works for you file a bug with your lspci -vn output. (-2 = Force probing, -1 = Default behavior, 0-2 = Use the specified codec.)

使用 AC-link 上的 S/PDIF 而不是控制器芯片的直接连接(0 = 关闭,1 = 开启,-1 = 默认)

支持 SPDIF I/O; 默认值:已禁用

注意:最新的驱动程序支持芯片时钟的自动检测。 如果您仍然遇到播放速度过快的问题,请通过模块选项 ac97_clock=41194 显式指定时钟。

此驱动程序不支持游戏杆/MIDI 端口。如果您的主板有这些设备,请分别使用 ns558 或 snd-mpu401 模块。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-intel8x0m

用于 Intel ICH (i8x0) 芯片组 MC97 调制解调器的模块。

  • Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7

  • SiS 7013 (SiS 735)

  • NVidia NForce, NForce2, NForce2s, NForce3

  • AMD AMD8111

  • ALi m5455

ATI IXP 150/200/250/400 AC97 控制器的模块。

AC’97 编解码器时钟基准(0 = 自动检测)

通过 AC 链接传输 S/PDIF(默认值 = 1)

ATI IXP 150/200/250 AC97 调制解调器控制器的模块。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-interwave

用于 Gravis UltraSound PnP、Dynasonic 3-D/Pro、STB Sound Rage 32 和其他基于 AMD InterWave (tm) 芯片的声卡的模块。

joystick_dac

0 到 31, (0.59V-4.52V 或 0.389V-2.98V)

midi

1 = 启用 MIDI UART,0 = 禁用 MIDI UART(默认)

pcm_voices

为合成器保留的 PCM 音色(默认为 2)

effect

1 = 启用 InterWave 效果(默认为 0);需要 8 个音色

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

port

InterWave 芯片的端口号 (0x210,0x220,0x230,0x240,0x250,0x260)

AD1848 芯片的端口 #

InterWave 芯片的 IRQ 号 (3,5,9,11,12,15)

AD1848 芯片的 IRQ #

InterWave 芯片的 DMA 号 (0,1,3,5,6,7)

WSS 的 IRQ # (7,9,10,11)

InterWave 芯片的 DMA 号 (0,1,3,5,6,7,-1=禁用)

此模块支持多声卡、自动检测和 ISA PnP。

模块 snd-interwave-stb

用于 UltraSound 32-Pro(康柏使用的 STB 声卡)和其他基于 AMD InterWave (tm) 芯片的声卡的模块,该芯片具有 TEA6330T 电路,可扩展控制低音、高音和主音量。

joystick_dac

0 到 31, (0.59V-4.52V 或 0.389V-2.98V)

midi

1 = 启用 MIDI UART,0 = 禁用 MIDI UART(默认)

pcm_voices

为合成器保留的 PCM 音色(默认为 2)

effect

1 = 启用 InterWave 效果(默认为 0);需要 8 个音色

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

port

InterWave 芯片的端口号 (0x210,0x220,0x230,0x240,0x250,0x260)

port_tc

TEA6330T 芯片的音调控制 (i2c 总线) 端口号 (0x350,0x360,0x370,0x380)

AD1848 芯片的端口 #

InterWave 芯片的 IRQ 号 (3,5,9,11,12,15)

AD1848 芯片的 IRQ #

InterWave 芯片的 DMA 号 (0,1,3,5,6,7)

WSS 的 IRQ # (7,9,10,11)

InterWave 芯片的 DMA 号 (0,1,3,5,6,7,-1=禁用)

此模块支持多声卡、自动检测和 ISA PnP。

模块 snd-jazz16

用于 Media Vision Jazz16 芯片组的模块。该芯片组由 3 个芯片组成:MVD1216 + MVA416 + MVA514。

port

SB DSP 芯片的端口号 (0x210,0x220,0x230,0x240,0x250,0x260)

AD1848 芯片的端口 #

SB DSP 芯片的 IRQ 号 (3,5,7,9,10,15)

dma8

SB DSP 芯片的 DMA 号 (1,3)

dma16

SB DSP 芯片的 DMA 号 (5,7)

WSS 回放的 DMA # (0,1,3)

MPU-401 端口号 (0x300,0x310,0x320,0x330)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 irq 号 (2,3,5,7)

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-korg1212

用于 Korg 1212 IO PCI 声卡的模块

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-layla20

Echoaudio Layla20的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-layla24

Echoaudio Layla24的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-lola

用于 Digigram Lola PCI-e 板卡的模块

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-lx6464es

用于 Digigram LX6464ES 板卡的模块

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-maestro3

用于 Allegro/Maestro3 芯片的模块

external_amp

启用外部放大器(默认启用)

amp_gpio

外部放大器的 GPIO 引脚编号(0-15)或 -1 表示默认引脚(allegro 为 8,其他为 1)

此模块支持自动检测和多个芯片。

注意:放大器的绑定取决于硬件。 如果即使所有通道都未静音也没有声音,请尝试通过 amp_gpio 选项指定其他 gpio 连接。 例如,松下笔记本电脑可能需要 amp_gpio=0x0d 选项。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-mia

Echoaudio Mia的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-miro

用于 Miro 声卡的模块:miroSOUND PCM 1 pro、miroSOUND PCM 12、miroSOUND PCM 20 Radio。

port

端口号 (0x530,0x604,0xe80,0xf40)

AD1848 芯片的端口 #

IRQ 号 (5,7,9,10,11)

AD1848 芯片的 IRQ #

第一个 dma 号 (0,1,3)

WSS 的 IRQ # (7,9,10,11)

第二个 dma 号 (0,1)

WSS 回放的 DMA # (0,1,3)

MPU-401 端口号 (0x300,0x310,0x320,0x330)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 irq 号 (5,7,9,10)

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

FM 端口号 (0x388)

wss

启用 WSS 模式

ide

启用板载 ide 支持

模块 snd-mixart

用于 Digigram miXart8 声卡的模块。

此模块支持多个声卡。注意:一个 miXart8 板卡将表示为 4 个 alsa 声卡。 有关详细信息,请参见 用于 Digigram miXart8 和 miXart8AES/EBU 声卡的 Alsa 驱动程序

当驱动程序编译为模块并且支持热插拔固件时,固件数据将通过热插拔自动加载。 在 alsa-firmware 软件包中安装必要的固件文件。 当没有可用的热插拔 fw 加载器时,您需要通过 alsa-tools 软件包中的 mixartloader 实用程序加载固件。

模块 snd-mona

Echoaudio Mona的模块

为 AudioScience 声卡启用 HPI hwdep

模块 snd-mpu401

用于 MPU-401 UART 设备的模块。

port

端口号或 -1(禁用)

AD1848 芯片的端口 #

IRQ 号或 -1(禁用)

pnp

PnP 检测 - 0 = 禁用,1 = 启用(默认)

此模块支持多个设备和 PnP。

模块 snd-msnd-classic

用于 Turtle Beach MultiSound Classic、Tahiti 或 Monterey 声卡的模块。

io

msnd-classic 声卡的端口号

AD1848 芯片的端口 #

msnd-classic 声卡的 IRQ 号

mem

内存地址 (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 或 0xe8000)

write_ndelay

启用写入 ndelay(默认 = 1)

calibrate_signal

校准信号(默认 = 0)

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

digital

存在数字子卡(默认 = 0)

cfg

配置端口 (0x250, 0x260 或 0x270) 默认 = PnP

reset

重置所有设备

mpu_io

MPU401 I/O 端口

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU401 irq#

ide_io0

IDE 端口 #0

ide_io1

IDE 端口 #1

ide_irq

IDE irq#

joystick_io

游戏杆 I/O 端口

该驱动程序需要在适当的固件目录中包含固件文件 turtlebeach/msndinit.binturtlebeach/msndperm.bin

有关此驱动程序的重要信息,请参见 Documentation/sound/cards/multisound.sh。 请注意,该驱动程序已停止维护,但 Voyetra Turtle Beach 知识库条目仍然可以在 https://www.turtlebeach.com 上找到

模块 snd-msnd-pinnacle

用于 Turtle Beach MultiSound Pinnacle/Fiji 声卡的模块。

io

pinnacle/fiji 声卡的端口号

AD1848 芯片的端口 #

pinnalce/fiji 声卡的 IRQ 号

mem

内存地址 (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 或 0xe8000)

write_ndelay

启用写入 ndelay(默认 = 1)

calibrate_signal

校准信号(默认 = 0)

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

该驱动程序需要在适当的固件目录中包含固件文件 turtlebeach/pndspini.binturtlebeach/pndsperm.bin

模块 snd-mtpav

用于 MOTU MidiTimePiece AV 多端口 MIDI(在并行端口上)的模块。

port

MTPAV 的 I/O 端口号 (0x378,0x278, 默认=0x378)

AD1848 芯片的端口 #

MTPAV 的 IRQ 号 (7,5, 默认=7)

hwports

支持的硬件端口数,默认值 = 8。

该模块仅支持 1 个声卡。 此模块没有启用选项。

模块 snd-mts64

用于 Ego Systems (ESI) Miditerminal 4140 的模块

此模块支持多个设备。 需要 parport (CONFIG_PARPORT)。

模块 snd-nm256

用于 NeoMagic NM256AV/ZX 芯片的模块

playback_bufsize

最大回放帧大小,单位为 kB (4-128kB)

capture_bufsize

最大捕获帧大小,单位为 kB (4-128kB)

force_ac97

0 或 1(默认禁用)

buffer_top

指定缓冲区顶部地址

use_cache

0 或 1(默认禁用)

vaio_hack

别名 buffer_top=0x25a800

reset_workaround

为某些笔记本电脑启用 AC97 RESET 解决方法

reset_workaround2

为其他一些笔记本电脑启用扩展的 AC97 RESET 解决方法

支持 SPDIF I/O; 默认值:已禁用

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

注意:在某些笔记本电脑上,无法自动检测到缓冲区地址,或者在初始化期间导致挂起。 在这种情况下,请通过 buffer_top 选项显式指定缓冲区顶部地址。 例如,Sony F250: buffer_top=0x25a800 Sony F270: buffer_top=0x272800 该驱动程序仅支持 ac97 编解码器。 即使未检测到 ac97,也可以强制初始化/使用 ac97。 在这种情况下,使用 force_ac97=1 选项 - 但*不*保证它是否有效!

注意:NM256 芯片可以在内部与非 AC97 编解码器链接。 此驱动程序仅支持 AC97 编解码器,并且不适用于具有其他芯片(很可能是 CS423x 或 OPL3SAx)的机器,即使在 lspci 中检测到该设备也是如此。 在这种情况下,请尝试其他驱动程序,例如 snd-cs4232 或 snd-opl3sa2。 有些具有 ISA-PnP,但有些没有 ISA PnP。 在没有 ISA PnP 的情况下,您需要指定 isapnp=0 和正确的硬件参数。

注意:某些笔记本电脑需要 AC97 RESET 的解决方法。 对于已知的硬件,如 Dell Latitude LS 和 Sony PCG-F305,会自动启用此解决方法。 对于具有硬冻结的其他笔记本电脑,您可以尝试 reset_workaround=1 选项。

注意:Dell Latitude CSx 笔记本电脑在 AC97 RESET 方面存在另一个问题。 在这些笔记本电脑上,默认情况下启用 reset_workaround2 选项。 如果之前的 reset_workaround 选项没有帮助,则值得尝试此选项。

注意:此驱动程序真的很糟糕。 它是从 OSS 驱动程序移植过来的,这是黑魔法逆向工程的结果。 如果如上所述在 X 服务器*之后*加载驱动程序,则编解码器的检测将失败。 您可能能够强制加载模块,但可能会导致挂起。 因此,如果您遇到此类问题,请确保在 X 之前*加载此模块。

模块 snd-opl3sa2

用于 Yamaha OPL3-SA2/SA3 声卡的模块。

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

port

OPL3-SA 芯片的控制端口号 (0x370)

sb_port

OPL3-SA 芯片的 SB 端口号 (0x220,0x240)

port

OPL3-SA 芯片的 WSS 端口号 (0x530,0xe80,0xf40,0x604)

midi_port

MPU-401 UART 的端口号 (0x300,0x330), -1 = 禁用

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

OPL3-SA 芯片的 FM 端口号 (0x388), -1 = 禁用

AD1848 芯片的端口 #

OPL3-SA 芯片的 IRQ 号 (5,7,9,10)

AD1848 芯片的 IRQ #

Yamaha OPL3-SA 芯片的第一个 DMA 号 (0,1,3)

WSS 的 IRQ # (7,9,10,11)

Yamaha OPL3-SA 芯片的第二个 DMA 号 (0,1,3), -1 = 禁用

此模块支持多个声卡和 ISA PnP。 它不支持自动检测(如果未使用 ISA PnP),因此必须指定所有端口!!!

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-opti92x-ad1848

用于基于 OPTi 82c92x 和 Analog Devices AD1848 芯片的声卡的模块。 该模块也适用于 OAK Mozart 声卡。

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

port

WSS 芯片的端口号 (0x530,0xe80,0xf40,0x604)

WSS 回放的 DMA # (0,1,3)

MPU-401 UART 的端口号 (0x300,0x310,0x320,0x330)

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

OPL3 设备的端口号 (0x388)

AD1848 芯片的端口 #

WSS 芯片的 IRQ 号 (5,7,9,10,11)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 UART 的 IRQ 号 (5,7,9,10)

AD1848 芯片的 IRQ #

WSS 芯片的第一个 DMA 号 (0,1,3)

此模块仅支持一个声卡、自动检测和 PnP。

模块 snd-opti92x-cs4231

用于基于 OPTi 82c92x 和 Crystal CS4231 芯片的声卡的模块。

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

port

WSS 芯片的端口号 (0x530,0xe80,0xf40,0x604)

WSS 回放的 DMA # (0,1,3)

MPU-401 UART 的端口号 (0x300,0x310,0x320,0x330)

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

OPL3 设备的端口号 (0x388)

AD1848 芯片的端口 #

WSS 芯片的 IRQ 号 (5,7,9,10,11)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 UART 的 IRQ 号 (5,7,9,10)

AD1848 芯片的 IRQ #

WSS 芯片的第一个 DMA 号 (0,1,3)

WSS 的 IRQ # (7,9,10,11)

WSS 芯片的第二个 DMA 号 (0,1,3)

此模块仅支持一个声卡、自动检测和 PnP。

模块 snd-opti93x

用于基于 OPTi 82c93x 芯片的声卡的模块。

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

基于 C-Media CMI8330 ISA 芯片的声卡的模块。

port

WSS 芯片的端口号 (0x530,0xe80,0xf40,0x604)

WSS 回放的 DMA # (0,1,3)

MPU-401 UART 的端口号 (0x300,0x310,0x320,0x330)

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

OPL3 设备的端口号 (0x388)

AD1848 芯片的端口 #

WSS 芯片的 IRQ 号 (5,7,9,10,11)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 UART 的 IRQ 号 (5,7,9,10)

AD1848 芯片的 IRQ #

WSS 芯片的第一个 DMA 号 (0,1,3)

WSS 的 IRQ # (7,9,10,11)

WSS 芯片的第二个 DMA 号 (0,1,3)

此模块仅支持一个声卡、自动检测和 PnP。

模块 snd-oxygen

用于基于 C-Media CMI8786/8787/8788 芯片的声卡的模块

  • Asound A-8788

  • Asus Xonar DG/DGX

  • AuzenTech X-Meridian

  • AuzenTech X-Meridian 2G

  • Bgears b-Enspirer

  • Club3D Theatron DTS

  • HT-Omega Claro (plus)

  • HT-Omega Claro halo (XT)

  • Kuroutoshikou CMI8787-HG2PCI

  • Razer Barracuda AC-1

  • Sondigo Inferno

  • TempoTec HiFier Fantasia

  • TempoTec HiFier Serenade

fm_port

模块 snd-pcsp

用于内部 PC 扬声器的模块。

nopcm

禁用 PC 扬声器 PCM 声音。 仅保留蜂鸣声。

nforce_wa

启用 NForce 芯片组解决方法。 预计声音不好。

此模块支持系统蜂鸣声、某种 PCM 回放甚至一些混音器控件。

模块 snd-pcxhr

用于 Digigram PCXHR 板卡的模块

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-portman2x4

用于 Midiman Portman 2x4 并行端口 MIDI 接口的模块

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-powermac (仅在 ppc 上可用)

用于 PowerMac、iMac 和 iBook 板载声卡的模块

enable_beep

使用 PCM 启用 beep(默认启用)

模块支持自动检测芯片。

注意:驱动程序可能存在字节序问题。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-pxa2xx-ac97 (仅在 arm 上可用)

用于 Intel PXA2xx 芯片的 AC97 驱动程序模块

仅适用于 ARM 架构。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-riptide

用于 Conexant Riptide 芯片的模块

基于 Avance Logic ALS4000 PCI 芯片的声卡的模块。

操纵杆端口 # (默认: 0x200)

WSS 回放的 DMA # (0,1,3)

MPU401 端口 # (默认: 0x330)

opl3_port

OPL3 端口 # (默认: 0x388)

此模块支持多个声卡。驱动程序需要在内核上支持固件加载器。您需要将固件文件 riptide.hex 安装到标准固件路径(例如 /lib/firmware)。

模块 snd-rme32

用于 RME Digi32、Digi32 Pro 和 Digi32/8 (Sek'd Prodif32、Prodif96 和 Prodif Gold) 声卡的模块。

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-rme96

用于 RME Digi96、Digi96/8 和 Digi96/8 PRO/PAD/PST 声卡的模块。

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-rme9652

用于 RME Digi9652 (Hammerfall、Hammerfall-Light) 声卡的模块。

precise_ptr

启用精确指针(不可靠)。(默认 = 0)

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

注意:snd-page-alloc 模块执行了 snd-hammerfall-mem 模块以前的功能。当找到任何 RME9652 声卡时,它会提前分配缓冲区。为了确保缓冲区分配,请在启动序列的早期阶段加载 snd-page-alloc 模块。请参阅 提前缓冲区分配 部分。

模块 snd-sa11xx-uda1341 (仅在 arm 上可用)

用于 Compaq iPAQ H3600 声卡上的 Philips UDA1341TS 的模块。

模块仅支持一张声卡。模块没有启用和索引选项。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-sb8

用于 8 位 SoundBlaster 声卡的模块:SoundBlaster 1.0、SoundBlaster 2.0、SoundBlaster Pro

port

SB DSP 芯片的端口 # (0x220,0x240,0x260)

AD1848 芯片的端口 #

SB DSP 芯片的 IRQ # (5,7,9,10)

dma8

SB DSP 芯片的 DMA 号 (1,3)

(可选)MPU401 I/O 端口

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-sb16 和 snd-sbawe

用于 16 位 SoundBlaster 声卡的模块:SoundBlaster 16 (PnP)、SoundBlaster AWE 32 (PnP)、SoundBlaster AWE 64 PnP

mic_agc

麦克风自动增益控制 - 0 = 禁用,1 = 启用(默认)

csp

ASP/CSP 芯片支持 - 0 = 禁用(默认),1 = 启用

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

对于 isapnp=0,以下选项可用

port

SB DSP 4.x 芯片的端口 # (0x220,0x240,0x260)

WSS 回放的 DMA # (0,1,3)

MPU-401 UART 的端口号 (0x300,0x330), -1 = 禁用

awe_port

EMU8000 合成器的基址端口 # (0x620,0x640,0x660)(仅限 snd-sbawe 模块)

AD1848 芯片的端口 #

SB DSP 4.x 芯片的 IRQ # (5,7,9,10)

dma8

SB DSP 4.x 芯片的 8 位 DMA # (0,1,3)

dma16

SB DSP 4.x 芯片的 16 位 DMA # (5,6,7)

此模块支持多声卡、自动检测和 ISA PnP。

注意:要在 16 位半双工模式下使用 Vibra16X 声卡,您必须使用 dma16 = -1 模块参数禁用 16 位 DMA。此外,所有 Sound Blaster 16 类型的声卡都可以通过禁用其 16 位 DMA 通道,在 8 位 DMA 通道上以 16 位半双工模式运行。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-sc6000

用于 Gallant SC-6000 声卡及其后续型号:SC-6600 和 SC-7000 的模块。

port

端口 # (0x220 或 0x240)

mss_port

MSS 端口 # (0x530 或 0xe80)

AD1848 芯片的端口 #

IRQ 号 (5,7,9,10,11)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 IRQ # (5,7,9,10) ,0 - 无 MPU-401 irq

dma

DMA # (1,3,0)

此模块支持多个卡、PnP 和自动探测。

启用游戏端口 - 0 = 禁用(默认),1 = 启用

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

此卡也称为 Audio Excel DSP 16 或 Zoltrix AV302。

模块 snd-sscape

用于 ENSONIQ SoundScape 声卡的模块。

port

端口 # (PnP 设置)

port

WSS 端口 # (PnP 设置)

AD1848 芯片的端口 #

IRQ # (PnP 设置)

WSS 捕获的 DMA # (0,1),-1 = 已禁用(默认)

MPU-401 IRQ # (PnP 设置)

dma

DMA # (PnP 设置)

WSS 的 IRQ # (7,9,10,11)

第二个 DMA # (PnP 设置,-1 禁用)

此模块支持多个卡、PnP 和自动探测。

启用游戏端口 - 0 = 禁用(默认),1 = 启用

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

该驱动程序需要在内核上支持固件加载器。

模块 snd-sun-amd7930 (仅在 sparc 上可用)

用于在 Sparc 上找到的 AMD7930 声卡芯片的模块。

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-sun-cs4231 (仅在 sparc 上可用)

用于在 Sparc 上找到的 CS4231 声卡芯片的模块。

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-sun-dbri (仅在 sparc 上可用)

用于在 Sparc 上找到的 DBRI 声卡芯片的模块。

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-wavefront

用于 Turtle Beach Maui、Tropez 和 Tropez+ 声卡的模块。

use_cs4232_midi

使用 CS4232 MPU-401 接口(位于您的计算机内部,无法访问)

Creative Audigy LS 和 SB Live 24 位模块

模块 snd-cmi8330

对于 isapnp=0,以下选项可用

cs4232_pcm_port

CS4232 PCM 接口的端口 #。

cs4232_pcm_irq

CS4232 PCM 接口的 IRQ # (5,7,9,11,12,15)。

cs4232_mpu_port

CS4232 MPU-401 接口的端口 #。

cs4232_mpu_irq

CS4232 MPU-401 接口的 IRQ # (9,11,12,15)。

ics2115_port

ICS2115 的端口 #

ics2115_irq

ICS2115 的 IRQ #

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

FM OPL-3 端口 #

AD1848 芯片的 IRQ #

CS4232 PCM 接口的 DMA1 #。

WSS 的 IRQ # (7,9,10,11)

CS4232 PCM 接口的 DMA2 #。

以下是 wavefront_synth 功能的选项

wf_raw

假设我们需要启动操作系统(默认:否);如果是,则在驱动程序加载期间,将忽略板的状态,我们将重置板并加载固件。

fx_raw

假设 FX 进程需要帮助(默认:是);如果为假,我们将使 FX 处理器保持驱动程序加载时的任何状态。默认设置为下载微程序和相关系数,以将其设置为“默认”操作,无论这意味着什么。

debug_default

声卡初始化的调试参数

wait_usecs

在不休眠的情况下等待多长时间,单位为微秒(默认:150);根据我有限的实验,这个神奇的数字似乎提供了非常优化的吞吐量。如果你想玩玩它并找到一个更好的值,请自便。请记住,我们的想法是获得一个数字,该数字使我们尽可能地忙于等待尽可能多的 WaveFront 命令,而不会得出一个如此之大的数字以致于我们占用了整个 CPU。具体来说,使用这个数字,在大约 134,000 次状态等待中,只有大约 250 次导致睡眠。

sleep_interval

等待回复时休眠多长时间(默认:100)

sleep_tries

在等待期间尝试休眠的次数(默认:50)

ospath

处理后的 ICS2115 OS 固件的路径名(默认:wavefront.os);ISC2115 OS 固件的路径名。在最新版本中,它通过固件加载器框架处理,因此必须安装在正确的路径中,通常是 /lib/firmware。

reset_time

等待重置生效多长时间(默认:2)

ramcheck_time

等待 RAM 测试多少秒(默认:20)

osrun_time

等待 ICS2115 OS 多少秒(默认:10)

此模块支持多个声卡和 ISA PnP。

注意:固件文件 wavefront.os 在早期版本中位于 /etc。现在它通过固件加载器加载,并且必须位于正确的固件路径中,例如 /lib/firmware。如果在升级内核后收到有关固件下载的错误,请适当地复制(或符号链接)该文件。

模块 snd-sonicvibes

用于 S3 SonicVibes PCI 声卡的模块。 * PINE Schubert 32 PCI

reverb

启用混响 - 1 = 启用,0 = 禁用(默认);声卡必须为此具有板载 SRAM。

mge

麦克风增益启用 - 1 = 启用,0 = 禁用(默认)

(可选)MPU401 I/O 端口

模块 snd-serial-u16550

用于 UART16550A 串行 MIDI 端口的模块。

port

UART16550A 芯片的端口 #

AD1848 芯片的端口 #

UART16550A 芯片的 IRQ #,-1 = 轮询模式

speed

波特率 (9600,19200,38400,57600,115200) 38400 = 默认

base

波特率除数基数 (57600,115200,230400,460800) 115200 = 默认

outs

串行端口中的 MIDI 端口数 (1-4) 1 = 默认

adaptor
适配器类型。

0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A, 3 = MS-124W M/B, 4 = 通用

此模块支持多个声卡。此模块不支持自动检测,因此必须指定主端口!!!其他选项是可选的。

模块 snd-trident

用于 Trident 4DWave DX/NX 声卡的模块。 * Best Union Miss Melody 4DWave PCI * HIS 4DWave PCI * Warpspeed ONSpeed 4DWave PCI * AzTech PCI 64-Q3D * Addonics SV 750 * CHIC True Sound 4Dwave * Shark Predator4D-PCI * Jaton SonicWave 4D * SiS SI7018 PCI Audio * Hoontech SoundTrack Digital 4DWave NX

ALi M5451 PCI 芯片的模块。

为 PCM 保留的最大通道(音色)数

wavetable_size

wavetable 的最大大小,单位为 kB (4-?kb)

(可选)MPU401 I/O 端口

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-ua101

用于 Edirol UA-101/UA-1000 音频/MIDI 接口的模块。

此模块支持多个设备、自动检测和热插拔。

模块 snd-usb-audio

用于 USB 音频和 USB MIDI 设备的模块。

vid

设备的供应商 ID(可选)

pid

设备的产品 ID(可选)

nrpacks

每个 URB 的最大数据包数(默认:8)

device_setup

设备特定的幻数(可选);影响取决于设备 默认值:0x0000

ignore_ctl_error

忽略任何关于混音器界面的 USB 控制器(默认:否)

autoclock

为 UAC2 设备启用自动时钟选择(默认:是)

quirk_alias

Quirk 别名列表,传递像 0123abcd:5678beef 这样的字符串,它将设备 5678:beef 的现有 quirk 应用于新设备 0123:abcd。

implicit_fb

应用通用的隐式反馈同步模式。如果设置了此选项,并且播放流同步模式为 ASYNC,则驱动程序会尝试将相邻的 ASYNC 捕获流绑定为隐式反馈源。这等效于 quirk_flags 位 17。

use_vmalloc

使用 vmalloc() 分配 PCM 缓冲区(默认:是)。对于具有非相干内存的架构(如 ARM 或 MIPS),mmap 访问可能会产生与 vmalloc 分配的缓冲区不一致的结果。如果在这些架构上使用 mmap,请关闭此选项,以便分配并使用 DMA 相干缓冲区。

delayed_register

对于在多个 USB 接口中定义了多个流的设备,需要此选项。驱动程序可能会多次调用注册(每个接口一次),这可能会导致设备枚举不足。此选项接收一个字符串数组,您可以传递像 0123abcd:4 这样的 ID:INTERFACE,以便对给定设备执行延迟注册。在此示例中,当探测到 USB 设备 0123:abcd 时,驱动程序会等待注册,直到探测到 USB 接口 4。驱动程序会为此类设备打印一条消息,例如“Found post-registration device assignment: 1234abcd:04”,以便用户可以注意到需要。

quirk_flags

包含各种设备特定解决方法 的位标志。应用于相应的声卡索引。

  • 第 0 位:跳过读取设备的采样率

  • 第 1 位:创建媒体控制器 API 条目

  • 第 2 位:允许在传输时对齐音频子插槽

  • 第 3 位:向传输添加长度说明符

  • 第 4 位:以实现反馈模式启动第一个播放流

  • 第 5 位:跳过时钟选择器设置

  • 第 6 位:忽略来自时钟源搜索的错误

  • 第 7 位:指示基于 ITF-USB DSD 的 DAC

  • 第 8 位:在每个控制消息处理中添加 20 毫秒的延迟

  • 第 9 位:在每个控制消息处理中添加 1-2 毫秒的延迟

  • 第 10 位:在每个控制消息处理中添加 5-6 毫秒的延迟

  • 第 11 位:在每个接口设置中添加 50 毫秒的延迟

  • 第 12 位:在探测时执行采样率验证

  • 第 13 位:禁用运行时 PM 自动挂起

  • 第 14 位:忽略混音器访问的错误

  • 第 15 位:支持通用 DSD 原始 U32_BE 格式

  • 第 16 位:像 UAC1 一样首先设置接口

  • 第 17 位:应用通用隐式反馈同步模式

  • 第 18 位:不要应用隐式反馈同步模式

此模块支持多个设备、自动检测和热插拔。

注意:nrpacks 参数可以通过 sysfs 动态修改。不要将值设置超过 20。通过 sysfs 更改没有健全性检查。

注意:当访问混音器元素(如 URB 错误 -22)时出现错误时,ignore_ctl_error=1 可能会有所帮助。这发生在一些有缺陷的 USB 设备或控制器上。此解决方法也对应于 quirk_flags 位 14。

注意:quirk_alias 选项仅用于测试/开发。如果您想要获得适当的支持,请联系上游以在驱动程序代码中静态添加匹配的 quirk。对于 quirk_flags 也是如此。如果已知设备需要特定的解决方法,请向上游报告。

模块 snd-usb-caiaq

用于 caiaq UB 音频接口的模块,

  • Native Instruments RigKontrol2

  • Native Instruments Kore Controller

  • Native Instruments Audio Kontrol 1

  • Native Instruments Audio 8 DJ

此模块支持多个设备、自动检测和热插拔。

模块 snd-usb-usx2y

用于 Tascam USB US-122、US-224 和 US-428 设备的模块。

此模块支持多个设备、自动检测和热插拔。

注意:您需要通过 alsa-tools 和 alsa-firmware 包中包含的 usx2yloader 实用程序加载固件。

模块 snd-via82xx

用于基于 VIA 82C686A/686B、8233、8233A、8233C、8235、8237(南桥)的 AC’97 主板的模块。

WSS 回放的 DMA # (0,1,3)

0x300,0x310,0x320,0x330,否则获取 BIOS 设置 [仅限 VIA686A/686B]

此模块支持多个卡、PnP 和自动探测。

启用操纵杆(默认关闭)[仅限 VIA686A/686B]

ATI IXP 150/200/250/400 AC97 控制器的模块。

AC’97 编解码器时钟基数(默认 48000Hz)

dxs_support

支持 DXS 通道,0 = 自动(默认),1 = 启用,2 = 禁用,3 = 仅限 48k,4 = 无 VRA,5 = 在不同通道上启用任何采样率和不同的采样率 [仅限 VIA8233/C、8235、8237]

Analog Devices AD1889 芯片的模块。

AC’97 时钟(默认值 = 48000)

支持 SPDIF I/O; 默认值:已禁用

注意:在某些 SMP 主板(如 MSI 694D)上,中断可能无法正确生成。在这种情况下,请尝试将 BIOS 上的 SMP(或 MPS)版本设置为 1.1 而不是默认值 1.4。然后中断号将在 15 以下分配。您也可以升级您的 BIOS。

注意:VIA8233/5/7(不是 VIA8233A)可以支持 DXS(直接声音)通道作为第一个 PCM。在这些通道上,可以同时播放最多 4 个流,并且控制器可以执行采样率转换,每个通道的速率不同。作为默认值 (dxs_support = 0),除了已知设备之外,选择 48k 固定速率,因为由于 BIOS 的错误,输出通常很嘈杂,除非某些主板上的 48k。请尝试一次 dxs_support=5,如果它适用于其他采样率(例如,mp3 播放的 44.1kHz),请告诉我们 PCI 子系统供应商/设备 ID(lspci -nv 的输出)。如果 dxs_support=5 不起作用,请尝试 dxs_support=4;如果它也不起作用,请尝试 dxs_support=1。(dxs_support=1 通常用于旧主板。正确实施的板应与 4 或 5 一起使用。)如果它仍然不起作用并且默认设置没问题,则 dxs_support=3 是正确的选择。如果默认设置根本不起作用,请尝试 dxs_support=2 以禁用 DXS 通道。在任何情况下,请告诉我们结果和子系统供应商/设备 ID。请参阅下面的 链接和地址

注意:对于 VIA823x 上的 MPU401,请另外使用 snd-mpu401 驱动程序。 mpu_port 选项仅适用于 VIA686 芯片。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-via82xx-modem

用于 VIA82xx AC97 调制解调器的模块

ATI IXP 150/200/250/400 AC97 控制器的模块。

AC’97 编解码器时钟基数(默认 48000Hz)

通过 AC 链接传输 S/PDIF(默认值 = 1)

ATI IXP 150/200/250 AC97 调制解调器控制器的模块。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-virmidi

用于虚拟 rawmidi 设备的模块。此模块创建与相应 ALSA 音序器端口通信的虚拟 rawmidi 设备。

midi_devs

MIDI 设备 # (1-4, 默认=4)

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

模块 snd-virtuoso

用于基于华硕 AV66/AV100/AV200 芯片的声卡的模块,即 Xonar D1、DX、D2、D2X、DS、DSX、Essence ST(Deluxe)、Essence STX(II)、HDAV1.3(Deluxe)和 HDAV1.3 Slim。

fm_port

模块 snd-vx222

用于 Digigram VX-Pocket VX222、V222 v2 和 Mic 卡的模块。

mic

在 V222 Mic 上启用麦克风 (NYI)

ibl

捕获 IBL 大小。(默认 = 0,最小大小)

AC’97 解决奇怪的硬件问题; 有关详细信息,请参见 intel8x0 模块的描述。

当驱动程序编译为模块并且支持热插拔固件时,固件数据会自动通过热插拔加载。在 alsa-firmware 包中安装必要的固件文件。如果没有可用的热插拔固件加载器,您需要通过 alsa-tools 包中的 vxloader 实用程序加载固件。要自动调用 vxloader,请将以下内容添加到 /etc/modprobe.d/alsa.conf

install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\
  && /usr/bin/vxloader

(对于 2.2/2.4 内核,将 post-install /usr/bin/vxloader 添加到 /etc/modules.conf。)IBL 大小定义 PCM 的中断周期。较小的大小提供较小的延迟,但也会导致更多的 CPU 消耗。大小通常与 126 对齐。作为默认值 (=0),选择最小的大小。可能的 IBL 值可以在 /proc/asound/cardX/vx-status proc 文件中找到。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-vxpocket

用于 Digigram VX-Pocket VX2 和 440 PCMCIA 卡的模块。

ibl

捕获 IBL 大小。(默认 = 0,最小大小)

此模块支持多张声卡。只有内核支持 PCMCIA 时才会编译此模块。

对于较旧的 2.6.x 内核,要通过声卡管理器激活驱动程序,您需要设置 /etc/pcmcia/vxpocket.conf。 请参阅 sound/pcmcia/vx/vxpocket.c。2.6.13 或更高版本的内核不再需要配置文件。

当驱动程序编译为模块并且支持热插拔固件时,固件数据将通过热插拔自动加载。在 alsa-firmware 软件包中安装必要的固件文件。如果没有可用的热插拔固件加载器,您需要通过 alsa-tools 软件包中的 vxloader 实用程序加载固件。

关于 capture IBL,请参阅 snd-vx222 模块的描述。

注意:自 ALSA 1.0.10 起,snd-vxp440 驱动程序已合并到 snd-vxpocket 驱动程序中。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-ymfpci

用于 Yamaha PCI 芯片(YMF72x、YMF74x & YMF75x)的模块。

WSS 回放的 DMA # (0,1,3)

0x300,0x330,0x332,0x334, 0(默认禁用), 1 (仅自动检测 YMF744/754)

MPU-401 UART 的端口 # (0x300,0x330),-1 = 已禁用(默认)

0x388,0x398,0x3a0,0x3a8, 0(默认禁用), 1 (仅自动检测 YMF744/754)

基于 Avance Logic ALS4000 PCI 芯片的声卡的模块。

0x201,0x202,0x204,0x205, 0(默认禁用), 1(自动检测)

rear_switch

启用共享的后置/线路输入切换开关 (bool)

此模块支持自动检测和多个芯片。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

模块 snd-pdaudiocf

用于 Sound Core PDAudioCF 声卡的模块。

此模块支持多个卡。 它不支持自动探测,因此必须指定主端口!!! 其他端口是可选的。

AC97 修正选项

ac97_quirk 选项用于启用/覆盖对板载 AC'97 控制器(如 snd-intel8x0)驱动程序上特定设备的解决方法。由于不同版本的 AC'97 规范存在混淆,某些硬件的主输出和耳机输出,或环绕输出的引脚可能被交换 :-)

该驱动程序提供对已知问题的设备的自动检测,但某些设备可能未被识别或错误地检测到。在这种情况下,使用此选项传递正确的值。

接受以下字符串:

default

不覆盖默认设置

none

禁用该修正

hp_only

将主输出和耳机输出控件绑定为单个控件

swap_hp

交换耳机和主输出控件

swap_surround

交换主输出和环绕控件

ad_sharing

对于 AD1985,启用 OMS 位并使用耳机

alc_jack

对于 ALC65x,启用插孔检测模式

inv_eapd

反转的 EAPD 实现

mute_led

绑定 EAPD 位以打开/关闭静音 LED

为了向后兼容,也接受相应的整数值 -1, 0, ...。

例如,如果 Master 音量控制对您的设备无效,而只有 Headphone 有效,则传递 ac97_quirk=hp_only 模块选项。

配置非 ISAPNP 声卡

当内核配置了 ISA-PnP 支持时,支持 isapnp 声卡的模块将具有模块选项 isapnp。如果设置了此选项,则只会探测 ISA-PnP 设备。要探测非 ISA-PnP 声卡,您必须传递 isapnp=0 选项以及正确的 I/O 和 IRQ 配置。

当内核未配置 ISA-PnP 支持时,isapnp 选项将不会被构建到内核中。

模块自动加载支持

ALSA 驱动程序可以通过定义模块别名按需自动加载。字符串 snd-card-%1 用于 ALSA 原生设备,其中 %i 是从零到七的声卡编号。

要为 OSS 服务自动加载 ALSA 驱动程序,请定义字符串 sound-slot-%i,其中 %i 表示 OSS 的插槽号,它对应于 ALSA 的声卡索引。通常,将其定义为相同的声卡模块。

单个 emu10k1 声卡的示例配置如下所示:

----- /etc/modprobe.d/alsa.conf
alias snd-card-0 snd-emu10k1
alias sound-slot-0 snd-emu10k1
----- /etc/modprobe.d/alsa.conf

可自动加载的声卡数量取决于 snd 模块的模块选项 cards_limit。默认情况下,它设置为 1。要启用多个声卡的自动加载,请在该选项中指定声卡的数量。

当有多个声卡可用时,最好也通过模块选项为每张声卡指定索引号,以便保持声卡的顺序一致。

两个声卡的示例配置如下所示:

----- /etc/modprobe.d/alsa.conf
# ALSA portion
options snd cards_limit=2
alias snd-card-0 snd-interwave
alias snd-card-1 snd-ens1371
options snd-interwave index=0
options snd-ens1371 index=1
# OSS/Free portion
alias sound-slot-0 snd-interwave
alias sound-slot-1 snd-ens1371
----- /etc/modprobe.d/alsa.conf

在此示例中,interwave 声卡始终作为第一张声卡(索引 0)加载,而 ens1371 作为第二张声卡(索引 1)加载。

另一种(也是新的)固定插槽分配的方法是使用 snd 模块的 slots 选项。在上面的示例中,指定如下:

options snd slots=snd-interwave,snd-ens1371

然后,第一个插槽 (#0) 保留给 snd-interwave 驱动程序,第二个插槽 (#1) 保留给 snd-ens1371。如果使用了 slots 选项,您可以省略每个驱动程序中的 index 选项(虽然您仍然可以同时拥有它们,只要它们不冲突)。

slots 选项对于避免可能的热插拔和由此产生的插槽冲突特别有用。 例如,在上面的例子中,前两个插槽已经被预留。 如果在 snd-interwave 或 snd-ens1371 之前加载了任何其他驱动程序(例如,snd-usb-audio),它将被分配到第三个或更后面的插槽。

当使用 ‘!’ 提供模块名称时,该插槽将提供给除该名称之外的任何模块。 例如,slots=!snd-pcsp 将为除 snd-pcsp 之外的任何模块保留第一个插槽。

ALSA PCM 设备到 OSS 设备的映射

/dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
/dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
/dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
/dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
/dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
/dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
/dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
/dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
/dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44

来自 /dev/snd/pcmC{X}D{Y}[c|p] 表达式的第一个数字表示声卡编号,第二个数字表示设备编号。ALSA 设备具有 cp 后缀,分别表示方向,捕获和播放。

请注意,上述设备映射可能通过 snd-pcm-oss 模块的模块选项进行更改。

Proc 接口 (/proc/asound)

/proc/asound/card#/pcm#[cp]/oss

erase

擦除有关 OSS 应用程序的所有附加信息

<app_name> <fragments> <fragment_size> [<options>]
<app_name>

带(较高优先级)或不带路径的应用程序名称

<fragments>

片段数,如果自动则为零

<fragment_size>

片段大小(字节),如果自动则为零

<options>

可选参数

disable

应用程序尝试为此通道打开 pcm 设备,但不希望使用它。(导致错误或需要 mmap)它适用于 Quake 等...

direct

不要使用插件

block

强制阻塞模式 (rvplayer)

non-block

强制非阻塞模式

whole-frag

仅写入完整片段(仅影响播放的优化)

no-silence

不要提前填充静音以避免咔嗒声

buggy-ptr

在 GETOPTR ioctl 中返回空白块而不是填充块

示例

echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss

提前缓冲区分配

某些驱动程序(例如 hdsp)需要大的连续缓冲区,有时由于内存碎片,当实际加载驱动程序模块时,找到此类空间为时已晚。 您可以通过加载 snd-page-alloc 模块并事先将其命令写入其 proc 文件来预先分配 PCM 缓冲区,例如,在早期启动阶段,如 /etc/init.d/*.local 脚本。

读取 proc 文件 /proc/drivers/snd-page-alloc 显示页面分配的当前使用情况。在写入时,您可以将以下命令发送到 snd-page-alloc 驱动程序

  • add VENDOR DEVICE MASK SIZE BUFFERS

VENDOR 和 DEVICE 是 PCI 供应商和设备 ID。 它们采用整数(十六进制需要 0x 前缀)。 MASK 是 PCI DMA 掩码。 如果没有限制,则传递 0。 SIZE 是要分配的每个缓冲区的大小。 您可以传递 k 和 m 后缀,分别表示 KB 和 MB。 最大数量为 16MB。 BUFFERS 是要分配的缓冲区数量。 它必须大于 0。 最大数量为 4。

  • erase

这将擦除所有未使用的预分配缓冲区。