声卡问题不能解决的朋友来参考(转帖)
来自http://www.linuxbyte.net/view.php?skin=art&ID=2539作者:hubertzou
一些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.9d ALSA 音效驱动程式是建为模组的。下面是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: [email protected]
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: [email protected]
MA: [email protected]
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 不错,挺好的 在虚拟机上找不到声卡怎么办呀? 什么声卡,有的是不能认出来需要驱动,可有的是可以识别的 为什么我安装上RAD HAT 7.0可以驱动起来声卡,但是用红旗4.0就不成了
我的声卡是Crystal WDM -CX4235 我怎么办啊 我在网上没有找到那个驱动啊
:idea: 我的声卡是板载VIA AC'97 (VT8233A)
装上 RedHat9 后,系统找到声卡,检测时有声音,但怎么用RedHat自带的播放器听CD、wav等等文件却一点声音都没有!
在 首选项->音效 里播放系统音效时就会响半秒,之后这个音效设置窗口就死掉了...
于是我就这样忍受半个多月。。。
昨天装上Realplayer,竟可以用它正常听歌了 @@
请问这是怎么一回事啊???? 小楼大哥:
你好,我是linux新手,在安装声卡驱动时遇到问题,左右弄了快一个月了,却还是没装上的,特请你帮忙.
我用的是华硕 P4PE-X/TE 集成的声卡,redhat 9.0,也下载过ALSA驱动,由于本人技术有限,老是出错的, 劳烦大哥能不能以我的情况为范例,详细讲述安装步骤的,谢谢! 楼上的兄弟,你的主板是不是用的ad1980的音效片,如果是的话,你可以去www.alsa-project.org下载最新的驱动,并且可以找到相应的安装指导,按照步骤作就行了。我是用华硕的P4PE的板子,很快就能装好,而且也是在redhat9.0下。
Good Luck! 先到www.alsa-project.org下载最新的驱动程序。下载后用tar命令把它解压到任意目录下。在安装之前,应确认系统内核支持sound card module,验证方法是键入modprobe sound,如果显示Can’t locate sound module,则证明sound card module未被支持,需要新编译内核。叵支持则显示modprobe sound,运行:
./configure
make install
./snddevices
建立新的声音设备文件。ALSA声音设备文件名与原LINUX声音设备的名称不同。安装完毕后查看驱动程序安装情况可使用cat /proc/asound/sndstat而不是cat /dev/sndstat。
用任意文本编辑器编辑/etc/conf.modules,加入
#ALSA portion
alias char-major-116 snd
options snd snd_major=116 snd_cards_limit=1
alias snd-card-0 snd-card-es1938
options snd-card-es1938 snd_index=1 snd_id=”solol”
# OSS/Free portion
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-pcm1-oss
alias sound-service-0-12 snd-pcm1-oss
除把第四五行的snd-card-es1938和snd_id=”solol”稍做改动外其余不必改动。es1938改成具体的声卡名称,可参见解压后modules目录中相关名称。Solol改成具体的声卡名称即可(不超过15个字符)。
modprobe snd-es1938
此处es1938可做与上步同样的改动。重新启动后声卡驱动程序就已加载,若lsmod可见类似下面的输出:
Module Size Used by
snd-pcm1-oss 13964 1 (autoclean)
snd-mixer-oss 3804 0 (autoclean)
snd-card-es1938 2100 1 (autoclean)
snd-es1938 11272 0 (autoclean)
snd-pcm1 17372 0 (autoclean)
snd-timer 8476 0 (autoclean)
snd-mixer 25888 0 (autoclean)
snd-hwdep 2956 0 (autoclean)
snd-pcm 9644 0 (autoclean)
snd 39276 1 (autoclean)
soundcore 2564 5
因为在缺省情况下mixer是无声的,需用一程序打开它。
KDE:multimedia----Sound Mixer Panel
GNOME: multimedia----Audio Mixer
Anotherlevel: utilities----Sound----Xmixer 楼主
我的主板华硕kt400芯片是VAI
我装的是Red Hat 9.0在检测声卡的时候.检测出来的是:
型号:VT8233/A/8235 AC97 audio controller
模块:via 82 c xxx_ audio
能检测出来.但是就是没有声音.这是怎么回事.我用了alsa就是搞不出声音来.现在还在郁闷中...请讲详细一点...谢谢
不明白
俺的水平低看不明白
只想知道在rh9.0 中具体怎么办? ALSA支持帝盟的MX300吗? 我是一名Linux的爱好者和初学者,我在我的电脑上安装了红帽子10.0,虽然出现了调解声音大小的小喇叭,但是没有声音,下载了alsa0.9.2,但是不能配置,我查查资料,好像说要有内核支持,我看我的usr/src下是空的。用uname -a看版本是2.4.22 ,下载2.6.0解压放到此目录下,编译内核,提示找不到cc,gcc等字样,请问这是什么问题,我安装后没有内核吗,怎样才能升级编译内核,还有一个问题,我在windows系统中能正常阅读的pdf文件,已经有pdf阅读软件,在这里为什么看不了。
如果有时间请指教。
注:我的主板为顶星848,板载ac97声卡,在windows下安装ac97驱动后,还要安装adi1991&1995才能出声音。
# ./configure
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable cc found in $PATH
# 提示
# make install
rm -f /snd*.*o /persist.o /isapnp.o
make: Entering directory `/home/xy/alsa/alsa-driver-1.0.5a/acore'
Makefile:6: /home/xy/alsa/alsa-driver-1.0.5a/Makefile.conf: 没有那个文件或目录
make: *** No rule to make target `/home/xy/alsa/alsa-driver-1.0.5a/Makefile.conf'.Stop.
make: Leaving directory `/home/xy/alsa/alsa-driver-1.0.5a/acore'
make: *** Error 1
什么意思?我的声卡是AD1816ISA的。谁能帮我解决。谢