鉴于自己痛苦无助的经历,写此篇以帮助那些跟我有相同遭遇的朋友们。
在此感谢所有帮助过我的朋友们,尤其是shely和chris666。
--------
根据好多朋友的求助回贴,我觉得首先应该按照
声卡排障步骤和 SondTroubleshooting先把错误都排除
声卡的参数信息请看ALSA-Configuration,在其中查找自己声卡对应型号
--------
一些需要的查看系统信息的命令
代码: 全选
查看内核
uname -r
代码: 全选
查看alsa版本
cat /proc/asound/version
我的具体声卡信息请看,viewtopic.php?t=89989&highlight=
参考
SoundTroubleshooting
7.04识别了声卡 喇叭显示正常 没声音的进来(仅针对intel声卡)
首先找到你的声卡chip类型
代码: 全选
lspci -v|grep audio
代码: 全选
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 04)
intel声卡应该在这里Matrix:Module-intel8x0
首先我建议先用源里的驱动
1. 如果你已经试了好多种方法,系统设置已经乱了,建议把声卡相关驱动全部删除,然后重新安装。
删除alsa
代码: 全选
sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils
代码: 全选
sudo apt-get install linux-sound-base alsa-base alsa-utils
这一步很重要,在删除alsa-utils的时候会同时删除gdm和ubuntu-desktop,意味着将失去桌面,所以得重新安装桌面
代码: 全选
sudo apt-get install gdm ubuntu-desktop
2. 在alsamixer中取消静音,显示MM的即是被静音的
3. 打开一个声音文件看能不能出声,如果没有声音,进行下一步
3.1测试"ac97_quirk="的值
我的问题就是这个值,我想大多数没声音的问题也是因为这个。这个值是-1~6之间的一个整数值
3.1.1 在这一步需要我们测试这七个值中哪一个值适合你的声卡,为了避免重复重启电脑,我们可以用命令卸载内核模块,然后重新加载
3.1.1a 卸载内核模块
代码: 全选
sudo /sbin/rmmod snd_MODEL
所以我用
代码: 全选
sudo /sbin/rmmod snd_intel8x0
代码: 全选
ERROR: Module snd_intel8x0 is in use
然后再运行上面的命令。
3.1.1b 加载内核模块,这里要加上ac97_quirk=*的参数
代码: 全选
sudo /sbin/modprobe snd-intel8x0 ac97_quirk=*
所以我们现在运行
代码: 全选
sudo /sbin/modprobe snd_intel8x0 ac97_quirk=6
3.2 找到ac97_quirk的值后,在/etc/modprobe.d/alsa-base中添加一个选项
代码: 全选
$sudo gedit /etc/modprobe.d/alsa-base #打开文本编辑器
添加 options snd-intel ac97_quirk=*
代码: 全选
options snd-intel8x0 ac97_quirk=6
如果还是没声,就参照7.04识别了声卡 喇叭显示正常 没声音的进来(仅针对intel声卡),重新编译驱动,然后重复上面的步骤,不过ac_quirk的参数值就不用重复了。
注意置顶贴中的驱动链接地址已经不在了,到Alsa-project 主页上下载最新的驱动,现在已经是1.0.15版了
-----------
好了,基本算是总结完了,见笑了。
如果有什么问题或者有不周到的地方,欢迎指点。
我也只是个新手,只是因为这个问题我学了好多。
-----------
谢谢chenqingzhi的补充
有关耳机有声,音箱没声的问题请看
viewtopic.php?p=615696#615696
----------
aqidesign(79楼)测试
机型HPB3800参数
代码: 全选
snd-intel8x0 ac97_quirk=6