代码:
[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/kernel/
arch/ crypto/ drivers/ fs/ lib/ net/ sound/其中,sound 就是声卡模块存放目录,大多数的硬件驱动放在 drivers目录,fs 是文件系统模块的目录;net是与网络有关的存放目录,比如一些网络协议支持的模块、防火墙支持的模块等;arch 是cpu方面 ... ...
如果我们想自己加载模块,就到这些目录中查看相应模块的信息,然后用 modprobe 来加载;
代码:
[root@localhost beinan]# modinfo snd-intel8x0
查看一个模块的信息,我们用 modinfo 来查看,所要查看的模块不要带 .ko 或者.o 之类的;比如查看到类似下面的信息;
description: Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7012; Ali 5455
通过这个我们足可以知道这是Intel 集成声卡,通过lspci -v 得到的声卡信息,感觉他们很相近;所以就能尝试用这个模块来驱动;
代码:
[root@localhost beinan]# modprobe snd-intel8x0
用 modprobe 加载了模块,然后我们通过 lsmod 就能看到了;对于声卡模块是这么加载的,其它设备的驱动模块也是如此;
<font color=red>注意:[/b][/size]这些只是教您一点基础知识,遇到什么问题,知道怎么去查看解决;如果您在论坛求助的时候,是必须把 lsmod 输入内容以及 /etc/modprobe.conf 或 modules.conf 的内容帖出来。这样能节省很多时间,否则大家不会明白问题出在哪里;
三、针对自己系统的声卡不发声,我是否有必要来升级内核解决;
可能存在这样的情况,比如有时我在Mandriva Linux时,声卡是有声音的,但安装好Fedora 系统后却没有声音了;所以我们有必要弄清楚如下的几个问题;可能声卡已经驱动起来了,只是我们不太了解系统的原因所致;下面我们以Fedora 为例;
1、声卡是不是被系统识别支持了;
我们可以用Fedora 提供的配置工具 system-config-soundcard 来测试;
代码:
[beinan@localhost ~]# system-config-soundcard
通过测试,如果能听到声音,证明声卡已经驱动好了;如果听不到声音,但反应在也不迟钝,不是打开 system-config-soundcard ,按测试播放声音时会出现假死的情况;可能是声量没有打开;
2、是否把声卡的音量打开了,比如PCM 和MASTER等;
我们可以用下面几个工具;
代码:
[beinan@localhost ~]# gnome-volume-control
[beinan@localhost ~]# kmix
[beinan@localhost ~]# alsamixer
[beinan@localhost ~]# aumix
上面的四个工具,可以尝试一下,有时这几个工具存在BUG的事;所以我们还要引入一个工具 aumix ,目前已经被Fedora 删除了;我们自己安装上就行了;
3、我的声卡是测试时是有声音的,但我为什么不能播放CD和听mp3呢?
自从Redhat 8.0以后,也就是说 Redhat 9.0 ,Fedora 1.0,Fedora 2.0,Fedora 3.0 ,Fedora 4.0的媒体播放软件不再对mp3提供支持;究其原因是版权方面的原因;但这不是意味着我们不能在Fedora 系统中让播放软件支持 mp3;我们可以安装mp3支持补丁或者下载全新的播放器;而这一切都离不开在线安装工具 apt或yum ;
至于CD为什么不能播放的问题,在论坛上已经说过多次了;首先要保证CDROM的音频线和主板相连接;有的弟兄会问,Windows为什么就能直接播放,我也没有把CDROM的音频线接在主板上;我答复您的是:咱们得转换观念,咱们是在用Linux,而不是Windows;
4、查看声卡是否有模块冲突;
比如Intel 主板集成了猫和声卡、网卡等,这时可能猫的蜂鸣器会被系统识别为声卡,所以要通过 lsmod 来查看,是否有 snd-intel8x0m;如果有则要处理一下;把在/lib/modules/内核的版本/kernel/sound/pci 中或 /lib/modules/内核的版本/kernel/drviers/sound/pci中的 snd-intel8x0m.ko改名为 snd-intel8x0m.koBAK ;
还有类似的主板,比如 VIA 主板集成了声卡和猫的, 如果声卡不发声,大多也与这有关,比如内核模块有snd-via82xx.ko 和snd-via82xx-modem.ko,可能系统会把 snd-via82xx-modem.ko模块当成是声卡的驱动。如果您出现这样的情况,也要改名;
5、通过 alsaconf 来配置声卡;
一般的情况下,系统在安装的时候,会自动把声卡配好;如果能识别的,就基本没有问题了;但如果出现识别了,但还是不发声;或者识别成猫的蜂鸣器;所以我们除了要把前面所说的猫的蜂鸣器模块改名后,还要重新运行一下声卡配置工具 alsaconf ;可能我们还需要前面的一点知识,比如 modprobe 、lsmod等;有必要的时候还要启新启动机器;
如果我没有alsaconf 这个命令怎么办?
代码:
[root@localhost beinan]# /usr/sbin/alsaconf
比如在Fedora Core 4.0 中,可能您不能发现这个命令;您采取的办法只能是重新编译 alsa-utils ;但也要保守编译;不能把alsa相关的包全都删除,只能是选择对应版本来编译;现在的Fedora 通过yum和apt升级,如果系统所依赖的包出被移除,比较重要的,alsa 就是其中的一个;会导致一些程序不能用;因为有版本对应关系;我们不能把系统整体的依赖关系打破;当然无关紧要的,比如这个软件包是依赖于其它包,而这个包不为其它包提供依赖的包,这样的包是可以移除的;
自己编译alsa-utils 的办法是:
首先,确认系统alsa软件包的版本;
代码:
[root@localhost alsa]# rpm -qa |grep alsa
alsa-utils-1.0.9rf-2.FC4
alsa-lib-1.0.9rf-2.FC4
alsa-tools-1.0.9-1.fc4
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论