linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux入门与提高 > 使用与技巧 >
栏目导栏
资料搜索
热门文章
·VMware Tools的安装步骤
·应用Linux下两种中文输入法
·GRUB FOR DOS 引导安装LINUX和
·linux下BT软件介绍
·Linux中用ALSA驱动声卡流程详解
·Linux 170个常见问题的详细解答
·什么是ISO文件?
·虚拟机软件vmware使用教程--使
·BabyLinux制作过程详解
·Linux挂接(mount)命令的使用方
·Linux必学的网络操作命令
·ffmpeg命令使用详解
·Linux操作系统Ifconfig命令详细
·在Linux下制作工资表
·vmware下的fedora 6的vmware t
最新文章
·CentOS5安装apache和svk使用域
·Ubuntu Linux系统Sudo命令无效
·Uboot对非Linux kernel的引导
·Fedora和XP双系统中网卡Realte
·解决Linux操作系统下部分文件乱
·双系统安装Linux之后找不到Win
·Linux操作系统上安装Flash Med
·设置Tomcat在Linux操作系统中自
·Linux操作系统下创建DBCA报错的
·Redhat Enterprise Linux磁带机
·Linux系统下用一条命令批量修改
·实用技巧:Linux下命令排列、调
·关于Linux操作系统中VI编辑器字
·Linux VI编辑器中的复制与粘贴
·Linux系统下触摸屏的简单使用和
Google
 
Linux中用ALSA驱动声卡流程详解
[ 作者:Linux联盟收集  加入时间:2005-12-30 12:37:01  来自:中国IT实验室 ]

  代码:
  [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论坛讨论
分页:1 [2] 3 4 5
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息