debian7 , 内核3.2.0.4-amd64
主板是技嘉的,集成了realtek 887的声卡, 初始安装debian后没有声音。
查看声卡型号
#lspci | grep Audio
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
#alsactl init
Found hardware: "HDA-Intel" "Realtek ID 887" "HDA:10ec0887,1458a002,00100302" "0x1458" "0xa002"
查看系统启动日志/etc/log/syslog
发现报错
debian pulseaudio[4448]: [pulseaudio] alsa-util.c: Unable to load mixer: Invalid argument
先
#echo "options snd-hda-intel model=generic" >> /etc/modprobe.d/alsa-base.conf
然后 执行下面的,分别提示了如下的内容
#/etc/init.d/alsa-utils stop
Shutting down ALSA...warning: 'alsactl store' failed with error message 'alsactl: get_control:239: Cannot read control info '2,0,0,Front Playback Volume,0': Invalid argument'...failed.
#alsa force-reload
Unloading ALSA sound driver modules: snd-hda-codec-realtek snd-hda-intel snd-hda-codec snd-hwdep snd-pcm snd-seq snd-timer snd-seq-device snd-page-alloc (failed: modules still loaded: snd-hda-codec-realtek snd-hda-codec snd-hwdep snd-pcm snd-timer snd-page-alloc).
Loading ALSA sound driver modules: snd-hda-codec-realtek snd-hda-intel snd-hda-codec snd-hwdep snd-pcm snd-seq snd-timer snd-seq-device snd-page-alloc.
#/etc/init.d/alsa-utils start
Setting up ALSA...warning: 'alsactl restore' failed with error message 'No state is present for card Generic_1
Unknown hardware: "HDA-Intel" "Realtek ALC887" "HDA:10ec0887,10438444,00100302" "0x1043" "0x8444"
Hardware is initialized using a guess method
/usr/share/alsa/init/default:26: control element not found
/usr/share/alsa/init/default:26: control element not found
/usr/share/alsa/init/default:41: control element not found
No state is present for card Generic_1'...amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
amixer: Mixer hw:1 load error: Invalid argument
done.
报了一堆error。应该是驱动无效。
打开
http://www.alsa-project.org/snapshot/
找到alsa-driver ,下latest version 里面对应的版本,这里我的对应的是
http://www.alsa-project.org/snapshot/files/alsa-driver-1.0.25.3584.gb044d.tar.bz2
#tar -xjf alsa-driver-1.0.25.3584.gb044d.tar.bz2
#cd alsa-driver-1.0.25.3584.gb044d
#./configure --with-cards=hda-intel --with-card-options=all
#make -j5
#make install
然后去看看snd-hda-intel.ko 是否是刚编译进内核驱动里面了
#ls -al `locate snd-hda-intel.ko`
-rw-r--r-- 1 root root 711914 [2013-10-21 11:33] /lib/modules/3.2.0-4-amd64/kernel/sound/pci/hda/snd-hda-intel.ko
重启。打开
#alasmixter 控制总的输出,方向键可以加减,先加到50%吧,免得声音太大。
可以右上角添加声音那里选择alsa mixer , sound card 这里选 HDA Intel PCH (Alsa mixer)
然后下面的select controls 全勾上
就可以了。
如果想要键盘来定义声音+ - 静音
在keyboard 键盘那里加快捷键
升高音量: amixer set Master 5%+ 降低音量: amixer set Master 5%- 静音: amixer set Master toggle
快捷键就看你自己喜好了,我定义的是 alt + 方向键
保存音量, 先去alsamixer设置下用哪个声卡控制, 然后选择完音量后
#alsactl store 就可以了,这样就不用每次重启后需要去重设音量到合适的位置
###########从debian7.2 升级到7.3的时候, 声卡驱动又丢了. 这次更好, 直接就找不到声卡.#######
解决办法, 重新把alisa-drivers 编译安装一次就可以了, 然后
#lspci -v 就可以找到 Kernel driver in use: snd_hda_intel 了