之前在机器上安Gentoo,声卡模块加载了去没有正常工作,查了些资料终于搞定。总结一下。
-1.安装alsa驱动,内核带的alsa驱动可能版本不够,可先不做这个,还是不工作可尝试这个。
0.重启让udev自动检测或运行alsaconf检测声卡。用
lsmod|grepsnd
查看声卡模块是否被加载,如果没有跳至-1步,如果还没有就搜索或去BBS/IRC/论坛问。
1.安装alsa-utils。
2.运行alsamixer,查看芯片型号,即Chip后面的内容。
3.从下载alsa-driver,找到ALSA-Configuration.txt,从中用Chip型号中的关键字,一般是最后一段搜索,或lsmod得到的声卡模块名搜索,再用Chip型号定位。查出可用的参数。如我的声卡:Chip:AnalogDevicesAD1986A,模块是snd-hda-intel。
4.尝试里面的参数,加在/etc/modprobe.conf或/etc/modprobe.d/options中,具体取决于发行版,一般说来前一个总是可用的,如在gentoo中,在ubuntu里后面的是标准的位置,别的发行版可能略有不同。
如我的声卡,在ALSA-Configuration.txt中相关的内容:
model-forcethemodelname
position_fix-FixDMApointer(0=auto,1=none,2=POSBUF,3=FIFOsiz
e)
single_cmd-Usesingleimmediatecommandstocommunicatewith
codecs(fordebuggingonly)
enable_msi-EnableMessageSignaledInterrupt(MSI)(default=off)
AD1986A
6stack6-jack,separatesurrounds(default)
3stack3-stack,sharedsurrounds
laptop2-channelonly(FSCV2060,SamsungM50)
laptop-eapd2-channelwithEAPD(SamsungR65,ASUSA6J)
经过测试知道,以下的参数是可以工作的。
optionssnd-hda-intelsingle_cmd=1model=laptop-eapd
测试时可杀掉占用声卡的程序,重新加载声卡模块。
有些系统的/etc/init.d/或/etc/rc.d下有alsas相关的init脚本,可直接使用,如果没有可用lsof/dev查看一下声卡相关的设备是什么设备打开的,杀掉即可。
Linux下的声卡问题Linux下的声卡问题Linux下的声卡问题Linux下的声卡问题Linux下的声卡问题Linux下的声卡问题Linux下的声卡问题Linux下的声卡问题Linux下的声卡问题Linux下的声卡问题
阅读(437) | 评论(0) | 转发(0) |