震惊了。无语了。dell1420+alsa无声?!

声卡/显卡/打印机/USB设备等硬件问题(网卡问题请发上面的网卡板块)
回复
rio
帖子: 43
注册时间: 2007-08-15 23:08
送出感谢: 0
接收感谢: 0
联系:

震惊了。无语了。dell1420+alsa无声?!

#1

帖子 rio » 2008-02-26 14:10

刚刚装好ubuntu710之后是有声的,因为和704一样没法录音(以前搞了好久,换成oss又换回alsa竟能录音了),我就从官网下载了最新的alsa-driver1.0.16/alsa-tools1.0.16/alsa-utils1.0.16/alsa-lib1.0.16,先用apt卸载掉自带的alsa-base之后,再编译安装,竟然没声了,好奇怪,坛子里的贴查了好多,都不行(我记得./snddevice了),而且alsaconf后有两个:hda-Intel intel corporation 82801H(ICH8 Fa...)和legacy Probe legacy ISA (non-PnP) chips ,当然选了第一个,Building card database..

Running update-modules...
Setting default volumes...
amixer: Mixer attach default error: No such file or directory
Saving the mixer setup used for this in /etc/asound.state.
/usr/sbin/alsactl: save_state:1497: No soundcards found...

===================
Now ALSA is ready to use.
For adjustment of volumes, use your favorite mixer.
Have a lot of fun!
用alsamixer会提示alsamixer: function snd_ctl_open failed for default: No such file or directory
真是怪了,为什么会 No soundcards found...啊,各位老大,帮帮偶哈,抓狂ing


////////////////////////////////////////////////////////////////////////////////////////////////
后来我也试过oss,顺便也说一下我用oss遭遇的窘境吧:
用oss后音箱喇叭没声,但耳麦有声,我猜测可能是因为这款电脑有两个耳麦插口,所以通常对应喇叭的/dev/oss/hdaudio0/pcm0现在变成了第一个耳机接口,而通过ossxmix设置(即把第一个fp-black从front调为centre/LFE)可以把/dev/oss/hdaudio0/pcm1变为指向耳机第一接口但喇叭仍然没声

另,/dev/oss/hdaudio0/pcm3被认成side,指向第二耳机接口一直好用
附上osstest的结果
/dev/oss/hdaudio0/pcm0 (audio engine 0): High Definition Audio front
- Performing audio playback test...
<left> OK <right> OK <stereo> OK <measured srate 47976.00 Hz (-0.05%)>
##默认这里插耳机第一口有声
/dev/oss/hdaudio0/pcm1 (audio engine 1): High Definition Audio center/LFE
- Performing audio playback test...
<left> OK <right> OK <stereo> OK <measured srate 47969.00 Hz (-0.06%)>
##通过ossxmix设置后这里耳机一口有声
/dev/oss/hdaudio0/pcm2 (audio engine 2): High Definition Audio rear
- Performing audio playback test...
<left> OK <right> OK <stereo> OK <measured srate 47972.00 Hz (-0.06%)>
##这里一直无声
/dev/oss/hdaudio0/pcm3 (audio engine 3): High Definition Audio side
- Performing audio playback test...
##这里是耳机第二口有声

喇叭一直无声

BTW,我的机器是dell1420,用lspci -v|grep Audio看声卡是“Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)”

拜托了救我啊,谢谢啦,不管alsa或oss哪个搞好也行啊。。。
rio
帖子: 43
注册时间: 2007-08-15 23:08
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 rio » 2008-02-26 14:16

对了,是不是我一开始卸alsa时误删过什么东西啊。。
头像
skyx
论坛版主
帖子: 9203
注册时间: 2006-12-23 13:46
来自: Azores Islands
送出感谢: 0
接收感谢: 1 次
联系:

#3

帖子 skyx » 2008-02-26 14:31

dell的好解决,网上找下,dell有ubuntu iso oem for dell专版下载的。

ubuntu英文论坛有dell专区,内容也很丰富。

另外,自己编译安装,要确保方法正确。
no security measure is worth anything if an attacker has physical access to the machine
rio
帖子: 43
注册时间: 2007-08-15 23:08
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 rio » 2008-02-26 14:37

哦,谢谢,可我不想再重装系统了哈,太麻烦了,而且应该不是bug,因为本来是有声的,唉,不该重装alsa驱动,后悔ing
rio
帖子: 43
注册时间: 2007-08-15 23:08
送出感谢: 0
接收感谢: 0
联系:

#5

帖子 rio » 2008-02-26 16:32

哈哈,总算好了,搞得好辛苦啊。。
先按http://www.alsa-project.org/main/index.php/Matrix:Module-hda-intel这里的仔细做了一遍,不行,又参考了http://forum.ubuntu.org.cn/viewtopic.php?t=90653的帖子,还有帖子的这一页:http://forum.ubuntu.org.cn/viewtopic.php?p=568872&sid=09d22a6e6b234f41fdb98b2e56feff2c

还是不行,alsamixer总提示alsamixer: function snd_ctl_open failed for default: No such device

最后还是看了https://help.ubuntu.com/community/HdaIntelSoundHowto才好的,主要是页面最后这几句:
Troubleshootinng
dmesg shows "disagrees about version of symbol" and "Unknown symbol" for snd_ctl_add, etc

if you reboot and have no sound, and check dmesg to find:

[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_ctl_add
[ 1058.932000] snd_hda_intel: Unknown symbol snd_ctl_add
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_pcm_new
[ 1058.932000] snd_hda_intel: Unknown symbol snd_pcm_new
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_pcm_limit_hw_rates
[ 1058.932000] snd_hda_intel: Unknown symbol snd_pcm_limit_hw_rates
[ 1058.932000] snd_hda_intel: disagrees about version of symbol snd_card_register
[ 1058.932000] snd_hda_intel: Unknown symbol snd_card_register

... etc. then you need to do a few extra steps.

ubuntu default snd-hda-intel.ko location: /lib/modules/2.6.22-14-generic/ubuntu/media/snd-hda-intel/snd-hda-intel.ko

alsa 1.0.15's installation location: /lib/modules/2.6.22-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko

so copy /lib/modules/2.6.22-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko to /lib/modules/2.6.22-14-generic/ubuntu/media/snd-hda-intel/snd-hda-intel.ko .

and put the modules/* in alsa's compile directory into /lib/modules/.../kernel/sound, you can use "find" to get their location. snd-hda-intel.ko snd-hwdep.ko snd.ko snd-mixer-oss.ko snd-page-alloc.ko snd-pcm.ko snd-pcm-oss.ko snd-rtctimer.ko snd-seq-device.ko snd-seq.ko snd-seq-midi-event.ko snd-seq-oss.ko snd-timer.ko

then, depmod -a

reboot, try again.


即ubuntu的默认snd-hda-intel.ko的地址是在/lib/modules/2.6.22-14-generic/ubuntu/media/snd-hda-intel/snd-hda-intel.ko,而alsa1.0.15的安装地址是在/lib/modules/2.6.22-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko,所以要将 /lib/modules/2.6.22-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko拷贝到/lib/modules/2.6.22-14-generic/ubuntu/media/snd-hda-intel/snd-hda-intel.ko .
另外,还要把alsa的编译目录下的modules文件夹中的东东拷到 /lib/modules/.../kernel/sound下,你可以用find命令找如下文件的地址:snd-hda-intel.ko snd-hwdep.ko snd.ko snd-mixer-oss.ko snd-page-alloc.ko snd-pcm.ko snd-pcm-oss.ko snd-rtctimer.ko snd-seq-device.ko snd-seq.ko snd-seq-midi-event.ko snd-seq-oss.ko snd-timer.ko

这里说的是alsa1.0.15,其实对我的1.0.16也管用,我也没find,直接sudo cp -r /usr/src/alsa/alsa-driver1.0.16/modules /lib/modules/2.6.22-14-generic/kernel/sound了,然后就好了,嘎嘎嘎
回复

回到 “常用硬件支持”