LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3329|回复: 1

Linux硬件通—声卡[仅供参考]

[复制链接]
发表于 2002-4-30 15:09:56 | 显示全部楼层 |阅读模式
Linux硬件通—声卡

  一些Linux用户经常询问这样的问题:Linux能兼容XXX卡么?其实,Linux是一个开放性的系统,只要通过Linux爱好者们的努力,Linux可以兼容任何硬件。

  先来说说声卡。首先要知道声卡的类型,或者是某种声卡兼容的。如果内核不能把这种声卡检测出来,那么就需要安装这种声卡的驱动模块,来安装声卡。

  例如,市面上常见的声卡Creative Vibra 128使用的驱动模块是es1371,Creative PCI 128使用的模块是es1370等等。

  redhatlinux中用sndconfig来设置声卡,如果没有某个模块,就需要重新编译内核(编译最新发布的linux内核),如果还不行,只好用ALSA 音效驱动程式。

  ALSA 音效驱动程式原本是写来取代 Gravis UltraSound 卡的Linux核心驱动程式的。当实证这取代得很成功,它和OSS/Free 及OSS/Linux音效驱动程式相容(核心的驱动程式),但它有比OSS驱动程式更好的本身介面。

  ALSA音效驱动程式可在http://www.alsa-project.org/ 找到。到发稿时最新版本为0.5.9dALSA 音效驱动程式是建为模组的。下面是ALSA支持的声卡类型。

  ALSA Supported SoundCards

  Advanced Linux Sound Architecture - Supported SoundCards

  ==========================================================

  ID: SoundCard chipset/type

  SC: SoundCard name

  IF: Supported interfaces (MIXER,PCM,SYNTH,SYNTH_MIDI,SEQ,OPL,MIDI,EMUL,HWDEP)

  MA: Maintainer

  CO: Coder

  This file is maintained by Jaroslav Kysela .

  Note: OPL -> Raw (native) OPL

  Note: MIDI -> external MIDI port

  Note: EMUL -> MIDI emulation

  Note: SYNTH -> yeah, well ?

  Note: SYNTH_MIDI -> internal synth that handles MIDI data

  Note: SEQ -> kernel client for ALSA sequencer

  Note: HWDEP -> various hardware-dependent interfaces/devices

  =====

  ID: AMD InterWave

  SC: Gravis UltraSound Plug & Play

  SC: Dynasonic 3-D

  SC: STB Sound Rage 32

  SC: UltraSound 32-Pro (STB)

  SC: MED3210

  IF: MIXER,PCM,MIDI,SYNTH

  MA: Jaroslav Kysela

  ID: Gravis UltraSound MAX

  IF: MIXER,PCM,MIDI,SYNTH

  MA: Jaroslav Kysela

  ID: Gravis UltraSound Extreme

  IF: MIXER,PCM,MIDI,SYNTH

  MA: Jaroslav Kysela

  ID: Gravis UltraSound Classic/ACE

  IF: MIXER,PCM,SYNTH

  MA: Jaroslav Kysela

  ID: ESS AudioDrive ESx688

  IF: MIXER,PCM,MIDI(1688)

  MA: Jaroslav Kysela

  ID: SoundBlaster 1.0/2.0/Pro

  IF: MIXER (Pro only),PCM,MIDI

  CO: Jaroslav Kysela

  MA: Chris Butler

  ID: SoundBlaster 16/AWE

  IF: MIXER,PCM,MIDI

  MA: Jaroslav Kysela

  ID: Yamaha OPL3-SA2/SA3

  IF: MIXER,PCM,MIDI

  MA: Jaroslav Kysela

  ID: OAK Mozart

  IF: MIXER,PCM

  CO: Jaroslav Kysela

  MA: ???

  ID: S3 SonicVibes PCI

  SC: Schubert 32 PCI (PINE)

  IF: MIXER,PCM,MIDI

  MA: Jaroslav Kysela

  ID: Ensoniq AudioPCI (ES1370,ES1371)

  SC: SoundBlaster PCI 64

  SC: SoundBlaster PCI 128

  IF: MIXER,PCM,MIDI

  MA: Jaroslav Kysela

  ID: Cirrus Logic / Crystal Semiconductors CS4232/CS4232A

  IF: MIXER,PCM,MIDI

  MA: Jaroslav Kysela

  ID: Cirrus Logic / Crystal Semiconductors CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239

  SC: Turtle Beach Malibu

  IF: MIXER,PCM,MIDI

  MA: Jaroslav Kysela

  ID: Cirrus Logic / Crystal Semiconductors CS4610/CS4612/CS4615/CS4280

  IF: MIXER,PCM

  MA: Jaroslav Kysela

  ID: ESS Solo-1 ES1938

  IF: MIXER,PCM

  MA: Jaromir Koutek

  ID: ESS ES18XX

  IF: MIXER,PCM,MIDI

  MA: Abramo Bagnara

  ID: OPTi 82C9xx

  SC: Audio 16 Pro EPC-SOUN9301 (82C930 based)

  SC: ExpertColor MED-3931 v2.0 (82C931 based)

  SC: ExpertMedia Sound 16 MED-1600 (82C928 based - AD1848)

  SC: Mozart S601206-G (OTI601 based - CS4231)

  SC: Sound Player S-928 (82C928 based - AD1848)

  IF: MIXER,PCM,OPL,MIDI

  MA: Massimo Piccioni

  ID: Trident 4DWave DX/NX

  SC: Best Union Miss Melody 4DWave PCI

  SC: HIS 4DWave PCI

  SC: Warpspeed ONSpeed 4DWave PCI

  SC: AzTech PCI 64-Q3D

  SC: Addonics SV 750

  SC: CHIC True Sound 4Dwave

  SC: Shark Predator4D-PCI

  SC: Jaton SonicWave 4D

  SC: Hoontech SoundTrack Digital 4DWave NX

  IF: MIXER,PCM,MIDI

  MA: Jaroslav Kysela

  ID: ForteMedia FM801

  SC: DT-0398

  IF: MIXER,PCM,MIDI

  MA: perex@suse.cz

  ID: SGI Indy (HAL2)

  IF: PCM

  MA: Ulf Carlsson

  ID: Turtle Beach WaveFront

  SC: Tropez Plus (Tropez+)

  SC: Tropez

  SC: Maui (models with CS4232; others use OPTi 16 which is not handled)

  IF: MIXER,PCM,MIDI,OPL,SYNTH_MIDI,HWDEP

  CO: pbd@op.net

  MA: pbd@op.net

  ID: C-Media CMI8330

  IF: MIXER,PCM

  MA: George Talusan

  ID: C-Media CMI8338/8738

  IF: MIXER,PCM,MIDI

  MA: Takashi Iwai

  ID: Avance Logic ALS100/ALS120

  IF: MIXER,PCM,MIDI

  MA: Massimo Piccioni

  ID: Diamond Technologies DT-0197H

  IF: MIXER,PCM,MIDI

  MA: Massimo Piccioni

  ID: Aztech Sound Galaxy

  IF: MIXER,PCM,MIDI

  MA: Christopher Butler

  ID: MOTU MidiTimePiece AV multiport MIDI interface

  IF: MIDI

  MA: Michael T。Mayers

  ID: EMU10K1

  SC: Sound Blaster Live!

  SC: Sound Blaster PCI 512

  SC: E-mu APS

  IF: MIXER,PCM,MIDI,SYNTH_MIDI

  MA: Jaroslav Kysela

  ID: RME Digi9652 (Hammerfall, Hammerfall light)

  IF: PCM

  MA: Paul Barton-Davis

  ID: Intel i810/i820/i830/i840/MX440

  IF: MIXER,PCM

  MA: Jaroslav Kysela

  ID: ESS Maestro 1/2/2E

  IF: MIXER,PCM

  MA: Matze Braun

  ID: VIA 82C686A (South Bridge)

  IF: MIXER,PCM,MIDI

  MA: Jaroslav Kysela

  请注意如果您想使用 ALSA 驱动程式, 那么您不应该先载入任何其它音效驱动程式。如果您的核心中内含音效驱动程式, 那么有必要重编译核心。如果您正在使用旧的 sound.o 模组, 您必须解除它。如果您使用 kerneld, 这可能就是要您删去 /lib/modules/<核心版本>/misc 目录下的 sound.o。新的 RedHat 系统的音效驱动程式组织方式不太一样, 要载入好几个模组, 这种情况您需要解除全部的模组。

  2.2 版核心对音效则采用了新的方式。您应该要包含音效的支援! 是的, 没有说错, 您在核心中加入了对音效的支援, 但没有包含任何音效卡的部份。然後重编译及安装核心, 接著编译 ALSA驱动程式。

  编译 ALSA驱动程式的步骤:

  tar zxvf alsa-driver-0.3.5.9d.tar.gz

  tar zxvf alsa-lib-0.3.5.9d.tar.gz

  tar zxvf alsa-utils-0.3.5.9d.tar.gz

  cd alsa-driver-0.3.5.9d

  ./configure

  make

  make install

  cd ../alas-lib-0.3.5.9d

  ./configure

  make

  make install

  cd ../alas-utils-0.3.5.9d

  ./configure

  make

  make install

  驱动程式目录下有个命令稿(script)可以把 ALSA 的音效设备档安装进 /dev 目录。

  在驱动程式目录下打入./snddevices

  有两种使用 ALSA 音效模组的方法:

  A.用 modprobe 安插驱动程式

  如果您有 PnP 音效卡, 您首先要设定正确的(或至少是已知的) IO/IRQ/DMA.

  举两个例子:

  Gravis UltraSound (GUS) 及相容卡:

  /sbin/modprobe snd-gusclassic

  对完全 16 位元的 SoundBlaster 卡 (SoundBlaster 16 (PnP), SoundBlaster AWE 32 (PnP), Sound BlasterAWE 64 (PnP):

  /sbin/modprobe snd-sb16

  B.使用 kerneld 来载入

  kerneld 是个在需要时插入模组, 并在不再使用时卸除它们的服务程式(daemon).

  编辑 /etc/conf.modules

  执行 modprobe snd-card, 其中 snd-card 是您的音效卡名称。

  这是 Gravis UltraSound PnP 音效卡的 /etc/conf.modules:

  alias char-major-14 snd

  alias snd-minor-oss-0 snd-interwave

  alias snd-minor-oss-3 snd-pcm1-oss

  alias snd-minor-oss-4 snd-pcm1-oss

  alias snd-minor-oss-5 snd-pcm1-oss

  alias snd-minor-oss-12 snd-pcm1-oss

  alias snd-card-0 snd-interwave

  options snd snd_major=14 snd_cards_limit=1

  options snd-interwave snd_index=1 snd_id="guspnp" snd_port=0x220 snd_irq=5

  snd_dma1=5 snd_dma2=6
 楼主| 发表于 2002-4-30 15:10:47 | 显示全部楼层

声卡安装常见问题

声卡安装常见问题

Q:intel810的主板,装好alsa后,我在/etc/modules.conf中加了snd-intel8x0,执行modprobe snd-intel8x0正常,但在执行amixer时它说声卡的驱动在系统中没有检测到,怎么回事?

A:你加入OSS兼容支持模块了么?用alsaconf配好/etc/modules.conf后可以直接到/etc/rc.d/init.d目录下试一下# alsasound start,然后用lsmod看一下模块是否装进去了.

Q:声卡配置中死机的问题,sndconfig命令,电脑也认出了我的声卡,再下面测试我的声卡了,loading sound module (via82cxxx)时死机.

A:你可以先在BIOS中将声卡屏蔽,就可以进linux了,然后删除/etc/modules.conf中有关声卡的部分.

Q:AC97在红旗LINUX桌面板2.0如何发声 ?

9VAAV主板集成声卡,机子自检:VIA TECHNOLOGIES/VT82C686

A:1.)到www.alsa-project.org下载
alsa-driver-0.5.10b.tar.bz2
alsa-lib-.5.10b.tar.bz2
alsa-utils-0.5.10b.tar.bz2
2)再依照下面顺序安装: driver==>lib==>utils,# ./configure # make install # ./snddevices
3)修改修改modules.conf文件:加上
# ALSA native device support
alias char-major-116 snd
options snd snd_major=116 snd_cards_limit=1
alias snd-card-0 snd-card-via686a
options snd-card-intel8x0 snd_index=0 snd_id="VIA"

# OSS/Free setup
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

注:对于其他的linux不支持的声卡,都可以试试用alsa来驱动,安装方法一样,只是在第3步修改modules.conf文件时记得把第四行的和第五行的"snd-card-"改成你的自己的声卡的类型.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表