QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16187|回复: 36

alsa声卡驱动的安装(解决RH8中VIA8233声卡问题)

  [复制链接]
发表于 2002-11-9 11:25:44 | 显示全部楼层 |阅读模式
首先当然要以ROOT用户登录(或在终端下su到ROOT用户)。
解压缩alsa-driver-0.9.0rc5.tar.bz2:
#tar jxvf alsa-driver-0.9.0rc5.tar.bz2
进入刚刚解压得到的目录:
#cd alsa-driver-0.9.0rc5
执行:
1、#./configure
INSTALL原文如下:
Run './configure' script.
   If you have ISA Plug & Play soundcard, use --with-isapnp=yes switch.
   If you want sequencer support, use --with-sequencer=yes switch.
   If you do not want OSS/Free emulation, use --with-oss=no switch.
   If you want turn on debug mode use --with-debug=full switch.
   If you want debug soundcard detection try --with-debug=detect switch.
   If you have kernel source code in another directory than /usr/src/linux,
   use --with-kernel=<kernel_directory>

请大家根据自己的的实际情况加入相应的参数(主板自带的VIA8233声卡不用加参数,直接configure就行了)。
2、#make install
3、./snddevices
INSTALL原文:
Run the './snddevices' script to create new sound devices in /dev directory.
   Skip this step, if you have a kernel with the DEVFS support.(执行./snddevices脚本以在/dev目录下创建新的声卡设备。
如果你的内核支持DEVFS(什么东东?我不知道。),可以跳过这一步。)

呵呵,因为我不知道DEVFS是什么,所以我不管它,直接就执行snddevices。
4、编辑/etc/modules.conf。如果你知道该怎么编辑那就最好了,如果不知道,呵呵,不要紧,你可以运行./utils/alsaconf,让它来帮你编辑,你所需要做的就只是选择你的声卡就行了。(原来我并不知道alsa-driver-0.9.0rc5已经自带了这个东东,所以在公社提供的ALSA包里又给出了这个程序)。
下面请看我的modules(VIA8233声卡):
alias parport_lowlevel parport_pc
alias eth0 8139too
alias sound-slot-0 via82cxxx_audio
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :

alias usb-controller usb-uhci
alias char-major-116 snd
alias snd-card-0 snd-card-x
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
options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0666 snd_device_gid=0 snd_device_uid=0
options snd-card-x snd_index=0 snd_id=CARD_0 snd_mpu_port=0x300 snd_joystick=0x300 snd_pbk_frame_size=128 snd_cap_frame_size=128

alias char-major-195 NVdriver

5、modprobe snd-xxxx。xxxx是你的声卡模块,在alsa-driver-0.9.0rc5中VIA8233的模块是via82xx(在以前版本中是via8233),所以如果用VIA8233声卡的朋友应该用下面的命令:
modprobe snd-via82xx
用其它声卡的朋友可以在/lib/modules/(内核版本目录,比如2.4.18-17.8.0)/kernel/sound/看看自己的声卡模块是什么(当然,你的声卡得是ALSA支持的才行)。


OK,如果这个过程中没有什么错误的话,驱动到此就装完了。
然后把音量都调高,“音量控制”、kmix等等都可以。不过在这里我有一个问题,那就是在KDE中音量可以保存,而在GNOME中,音量总是无法保存,每次启动都得调一下音量。
呵呵,打开播放器,来点MUSIC吧!!!(这个驱动的音质已经相当不错了,感觉跟WINDOWS下的差不多甚至更好。)
最后我们做点善后工作,让系统启动时自动加载ALSA声卡模块:
ln /etc/rc.d/init.d/alsasound /etc/rc.d/rc5.d/S87alsasound(S87听说是启动顺序,我对这个不大清楚,随便弄了一个S97也很正常,呵呵。)
然后在ntsysv中选中它就可以了。
保险一点的话,再在/etc/rc.local中加入下面一行命令:
modprobe snd-via82xx(其它声卡请作相应修改)。



好了,安装过程就是这样,如果有什么问题请跟贴,我们一起讨论。
发表于 2002-11-9 11:52:21 | 显示全部楼层
alsa0.9pre5已经上传到"自由软件"-"驱动"栏目,大家可以去下载
回复

使用道具 举报

发表于 2002-11-10 10:09:39 | 显示全部楼层
版主帮帮忙,我还是有问题!
按照版主的做法,第一,二两步成功
到第三步的时候,直接编辑/etc/modules.conf
然后在终端输入modprobe snd-via82xx
它就显示modprobe: can't locate  module snd-via82xx
**********************************************************
如果在第三步 用./utils/alsaconf 命令
它就开始搜索声卡,然后它就显示   no support    PnP or PCI card  found
然后就开始搜索ISA声卡^...........................
************************************************************************
可是系统里面的声卡检测菜单里检测到了我的声卡,模块为VIA 8233cxxx_audio
请版主帮忙
我很菜,轻版主详细点
谢谢
回复

使用道具 举报

发表于 2002-11-10 13:26:37 | 显示全部楼层
modprobe snd-via82xx
这个命令你不会真的连“xx”的字样也照打吧?
回复

使用道具 举报

 楼主| 发表于 2002-11-10 14:29:20 | 显示全部楼层
alsa-driver0.9.0rc5中倒真的是的snd-via82xx了。
不过你看看你第三步的./snddevices 做了没有?
回复

使用道具 举报

发表于 2002-11-10 15:33:57 | 显示全部楼层
版主Dalin请进来!
我很菜,版主请见脸谅!
我给出我的运行过程:
************************************************
[root@localhost root]# ./configure
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for ranlib... ranlib
checking for a BSD compatible install... /usr/bin/install -c
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for gcc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking whether time.h and sys/time.h may both be included... yes
checking whether gcc needs -traditional... no
checking for current directory... /root
checking cross compile...
checking for directory with kernel source... /lib/modules/2.4.18-14/build
checking for kernel version... The file /lib/modules/2.4.18-14/build/include/linux/version.h does not exist.
Please, install the package with full kernel sources for your distribution
or use --with-kernel=dir option to specify another directory with kernel
sources (default is /usr/src/linux).
[root@localhost root]#
以上为第一步
***************************************************
[root@localhost root]# make install
make dep
make[1]: Entering directory `/root'
make[2]: Entering directory `/root/acore'
Makefile:4: ../Makefile.conf: No such file or directory
Makefile:11: /alsa-kernel/core/Makefile: No such file or directory
make[2]: *** No rule to make target `/alsa-kernel/core/Makefile'.  Stop.
make[2]: Leaving directory `/root/acore'
make[1]: *** [dep] Error 1
make[1]: Leaving directory `/root'
make: *** [include/sndversions.h] Error 2
[root@localhost root]#
*****************************************************************
然后第三步
************************************************
[root@localhost root]# ./snddevices
Creating /dev/mixer?... done
Creating /dev/sequencer... done
Creating /dev/midi?... done
Creating /dev/dsp?... done
Creating /dev/audio?... done
Creating /dev/sndstat... done
Creating /dev/music... done
Creating /dev/dmmidi?... done
Creating /dev/dmfm?... done
Creating /dev/amixer?... done
Creating /dev/adsp?... done
Creating /dev/amidi?... done
Creating /dev/admmidi?... done
create symbolic link `/dev/mixer' to `/dev/mixer0'
create symbolic link `/dev/midi' to `/dev/midi0'
create symbolic link `/dev/dsp' to `/dev/dsp0'
create symbolic link `/dev/audio' to `/dev/audio0'
create symbolic link `/dev/sequencer2' to `/dev/music'
create symbolic link `/dev/adsp' to `/dev/adsp0'
create symbolic link `/dev/amidi' to `/dev/amidi0'
ALSA dynamic sound device filesystem
create symbolic link `/dev/snd' to `/proc/asound/dev'
ALSA loader devices
Creating /dev/aload?... done
Creating /dev/aloadSEQ... done
[root@localhost root]#
******************************************************
然后第四步   编辑文件  或者用公社的/modules.conf
也成功了
*******************************************
然后第五步
modprobe snd-via82xx
modprobe: Can't locate module snd-via82xx
***********************************************************
请版主认真指教!谢谢!
回复

使用道具 举报

发表于 2002-11-10 17:08:07 | 显示全部楼层
我觉得应该是modprobe via82cxxx_audio才对(或:modprobe sound-slot-0)
回复

使用道具 举报

 楼主| 发表于 2002-11-10 17:46:14 | 显示全部楼层
checking for kernel version... The file /lib/modules/2.4.18-14/build/include/linux/version.h does not exist.
Please, install the package with full kernel sources for your distribution
or use --with-kernel=dir option to specify another directory with kernel
sources (default is /usr/src/linux).

原因是你没有装内核源程序。
请选把内核源文件装上(光盘里所有以kernel开头的RPM包都装上吧)。

其实在你第一步的时候就失败了。
回复

使用道具 举报

发表于 2002-11-12 00:39:19 | 显示全部楼层
RH8,815EP,ALC201A,安装同上,在第5步用modprobe snd-intel8x0,安装成功.
按照INSTALL的说明* Intel i810/810E, i815, i820, i830, i840, MX440(什么东西,geforce?)* SiS 7012 (SiS 735)        * NVidia NForce,都是用的snd-intel8x0.详见INSTALL文件.希望帮到大家
回复

使用道具 举报

 楼主| 发表于 2002-11-12 00:51:35 | 显示全部楼层
是啊,其实INSTALL文件里说得相当详细了啊。

希望大家以后养成这样的一个好习惯:装软件前先看看INSTALL文件,会有帮助。
回复

使用道具 举报

发表于 2002-11-13 13:59:49 | 显示全部楼层
我装好驱动后运行modprobe出现如下的错误信息:
[root@Ham alsa-utils-0.9.0rc5]# modprobe snd-via82xx
/lib/modules/2.4.18-14/misc/snd.o: kernel-module version mismatch
        /lib/modules/2.4.18-14/misc/snd.o was compiled for kernel version 2.4.18-14custom
        while this kernel is version 2.4.18-14.
/lib/modules/2.4.18-14/misc/snd.o: insmod /lib/modules/2.4.18-14/misc/snd.o failed
/lib/modules/2.4.18-14/misc/snd.o: kernel-module version mismatch
        /lib/modules/2.4.18-14/misc/snd.o was compiled for kernel version 2.4.18-14custom
        while this kernel is version 2.4.18-14.
/lib/modules/2.4.18-14/misc/snd.o: insmod /lib/modules/2.4.18-14/misc/snd.o failed
请问是怎么回事?
回复

使用道具 举报

 楼主| 发表于 2002-11-13 14:05:00 | 显示全部楼层
说的好像是内核版本跟编译时的内核版本不符合。
你在做以前的步骤有没有错误或你在做这些时是不是连贯的(因为怀疑在编译后你又对内核做了什么更改)。

如果可能的话,你再重新编译一下看看?我从来没有遇到过这样的情况。

BTW:你是什么声卡?
回复

使用道具 举报

发表于 2002-11-13 14:44:39 | 显示全部楼层
dalin兄,我是连着编译的,其间没有过间断,不过前几天我重新编译了一次内核,但没成功,之后就没再管它,是不是和这个有关系?我的声卡是via8233的
回复

使用道具 举报

 楼主| 发表于 2002-11-13 18:11:48 | 显示全部楼层
嗯,可能跟这个有关系,你重新编译之前先make clean一下试试看?
回复

使用道具 举报

发表于 2002-11-13 19:40:50 | 显示全部楼层
哈哈,终于搞定了,太高兴了,还得谢谢dalin的文章!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-17 16:37 , Processed in 0.068701 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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