一 概要
这个文件是介绍如何在使用VIA南桥芯片(VT82C686B/VT8231 VT8233/VT8233C)的主板上安装Mandrake Linux 8.1的声卡驱动程序。方法有三种:
1:使用OS built-in驱动(VT8233/VT8233C现在还不支持)
2:ALSA驱动 来自Advanced Linux Sound Architecture project
3: OSS驱动 来自4Front Technogies
详细的安装方法和一个各自芯片特性对照表将会在最后提供。文中的信息由ASIS提供,但并不做任何的保证。
二 文件描述
注意,为了提高下载速度,在这个版本的向导中删掉了以下文件。请安装者自己寻找这些文件。
alsa-driver-0.5.12a.tar.bz2 alsa-utils-0.5.10.tar.bz2
alsa-lib-0.5.10b.tar.bz2 osslinux395f-2x.tar.gz
(在下载向导文件时你将得到3个文件,和上面的七个文件一并都会用到)
ALSA驱动由Advanced Linux Sound Architecture project提供支持。你可以到这个网站下载最新版本。http://www.alsa-project.org .OSS驱动由4Front Technogies提供支持你可以到这个网站下载最新版本。http://www.opensound.com/ 但是使用OSS的驱动程序可能需要付费。
三 背景配置文件
在安装任何声卡的驱动程序的时候,你需要先将旧版本的驱动程序卸载掉。如果你的系统中已经安装了OSS的驱动程序,请用OSS提供的脚本程序关掉并卸载声卡的驱动程序。如果你用的是其他商家提供的驱动程序,请将/etc/modules.conf文件备份。在你犯了错误而不能使系统正常工作时,能及时恢复系统最初的配置。关闭所有与声卡有管的应用程序,并确定你的声卡没有被使用。例如,运行下面的程序来检查声卡驱动程序是否一被载入系统,和卸载相关的module。
lsmod
modprode -r via82cxxx_dudio
注意,via82cxxx_audio 是是一个例子,它指的是已经在你的系统核心中已经安装好了的声卡module。它只与你已经安装在你的系统核心里的声卡有关。你可以使用:
modprode -c
检查你声卡module的名称,你可能会看到下面的信息。
alias sound-slot-0 via82cxxx_audio
其中 “sound-slot-0”是声音驱动,“via82cxxx_audio”是module的名称。(You can use the module name as the second argument of modprobe to remove the audio
driver and modules.) 另外一个删处已经载入系统的声卡module方法是与/etc/modules.conf进行比较。找出原来已经安装在系统上的声卡驱动,删处或注释掉那一行。就象下面的例子那样
#alias-char-major-14 soundcore
alias sound off
alias midi off
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
#alias char-major-116 off
四 OS built-in驱动(VT8233/VT8233C现在还不支持)
(The OS will automatically detect the on-chip audio controller and install the driver for it)为了检验驱动是否真的已经被安装好了,可以运行 lsmod 命令来检查声卡module是否已经载入核心了。如果已经成功的载入核心了,你可以看到module的名字和大小,就象下面那样:
Module Size Used By
Isofs 18496 1 (Autoclean)
Via82cxxx_audio 17104 1
Uart401 6352 0 (via82cxxx_audio)
Ac97_codec 9312 0 (via82cxxx_audio)
Sound 58400 0 (via82cxxx_audio uart401)
Soundcore 4208 5 (via82cxxx_audio sound)
五 ALSA驱动
A:准备核心原代码
kernel-headers 和 kernel-source 是重新编译核心要使用到的两个文件如果你在第一次安装系统的时候没有选择Media Station,系统中将不会有声卡核心原码。幸运的是你可以在任何时候安装它。安装方法是使用Package Manager。其中Mandrake版本的linux路径是CD 2 /Mandrake/RPMS2/Kernel-source-2.4.8-26mdk.i586.rpm。
B:下载并解压ALSA包
到http://www.alsa-project.org/下载一个压缩文件
alsa-driver-0.5.12a.tar.bz2用下面的命令解压到你自己定义的一个文件中
# bzip2 -dc alsa-driver-0.5.12a.tar.bz2 | tar -xvf
C:创造声卡驱动
虽然在/usr/src/linux-2.4.8中有一个ALSA声卡驱动alsa-driver-0.5.11,我建议你检查是否有最新的可用声卡驱动代码。在这里我们用的是版本号0.5.12a做例子的。把路径设置到alsa-driver-0.5.12a,运行下面的程序来创建新的声卡驱动和探测声音控制器。
# ./configure --with-kernel=/usr/src/linux-2.4.8
# make
# make install
# ./snddevices
D:自动载入声卡module
在/etc/modules.conf文件中加入下面几行,并重新启动系统。
alias char-major-116 snd
alias snd-card-0 snd-card-via686a (for 686B, 8231)
alias snd-card-0 snd-card-via8233 (for 8233)
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
在你做完了上面的步骤后,声卡和声卡相关的module已经自动被载入核心中了,而且已经能使用声音播放软件了。为了你能顺利的安装,我们已经为你编译好了。
alsaconf-686 for VT82C686B/VT8231
alsaconf-8233 for VT8233/VT8233C
E:使用OSS mixer启动高级音效
使用ALSA声卡驱动的时候高级音效并没有启动,它需要用OSS mixer启动。因为OSS mixer的简单易用而被推荐。它使用一个GUI的接口来调节声音等级。运行Gnome Mixer GMIX来调节设置。但是当你从新启动时你必须使用它进行重新设置。否则声卡将不能使用。如果GMIX被激活,原来的设置就会自动生效。
F:了解ALSA mixer 的(issue)
在过去,你可能用的是OSS或ALSA mixer来控制你的音量。不幸的是在
alsa-lib-0.5.10b.tar.bz2和alsa-lib-utils-0.5.10.tar.bz2中没有这个功能。在Mandrake8.1中ALSA 声卡驱动不能被系统识别。我们建议在使用ALSA驱动的时候不使用OSS mixer来调节音量。
6 OSS声卡驱动
如果你在系统核心中用的是其他的声卡module或(third-party )module。OSS的应用程序会被中断。重要的是一定要在安装新的OSS声卡驱动之前删除原有的声卡驱动和module。运行下面的命令来解压和安装声卡驱动。
tar zxvf osslinux395f-2x.tar.gz
./oss-install
(Navigate through the GUI interface to install audio driver; choose the target directory located at the uncompressed OSS packages;)记得在退出前保存设置。接下来,在/usr/lib/oss目录下运行./soundon来载入相关的声卡module到核心中去。也可以运行./soundoff删除OSS的声卡module。这样重新启动的时候声卡module就不会载入系统了。
七: 驱动特性对照表(省略)
八: 已进行驱动测试的芯片(省略)
全文结束!谢谢!有不同意见欢迎来信讨论!