LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 901|回复: 1

ALC888 No Sound 记录

[复制链接]
发表于 2011-5-15 01:46:45 | 显示全部楼层 |阅读模式
Acer 4535G
testing 2.6.38-2
KDE 4.X

  还是这个机子,也还是刚升级到比较新的内核,某次开机后在Kmix看到只有一个ATI RV70可以选择时,明白又要崩溃了,再次没有声音了,因为去年也曾经升级到 2.6.32-trunk 时试过没有声音。

  于是再次漫长的Google过程,记录一下,希望对大家有帮助。

  首先GG给我的答案是ubuntu,在 http://ubuntuforums.org 可以看到无数个类似这样的问题,这里得到的信息就是在 /etc/modprobe.d/alsa-base.conf 加入类似这样的参数
Code:
options snd-intel8x0 model=asus
  显然这样是无法解决问题的。

  一晃又是几天,没事就去上面论坛转悠,发现这个问题还挺热门的。问题没有解决当然又是漫长的GG,突然GG带我来到Gentooforums,也突然想起:Gentoo的什么问题,都可以在论坛解决,于是乎精神来了,果然发现还真有这事,结果又是几天,得到这样的信息:
要检查下 /dev/dsp 和 /dev/snd/* 的权限
再检查下 /var/log/messages 相关声卡模块是否装载,比如snd_hda_intel...,
还要再检查下自己是否在audio组,

  到这时才发现用了Linux几年还不会看属组,于是狂补 id 用法...当然,这台机子只会跑KDE,怎么可能会有这些问题呢,带着遗憾,离开了Gentoofourm。

  无聊的GG带我来到suse wiki,猛地看到这话:外面的声卡很多,有时候ALSA或者系统没有办法自动帮你正确配置,所以,我们来学习学习正确配置...顿时眼睛一亮,这不正是我所需么!
http://en.opensuse.org/SDB:Intel-HDA_sound_problems
  尤其是这段,还不是和上面的ubuntu类似么,真是希望啊..

In the file /usr/src/KERNEL_VERSION/Documentation/sound/alsa/ALSA-Configuration.txt search for the codec, in this example again ACL883.

  ALC883/888
          3stack-dig        3-jack with SPDIF I/O                                               
          6stack-dig        6-jack digital with SPDIF I/O                                       
          3stack-6ch    3-jack 6-channel                                               
          3stack-6ch-dig 3-jack 6-channel with SPDIF I/O                               
          6stack-dig-demo  6-jack digital for Intel demo board                               
          acer                Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)               
          medion        Medion Laptops                                                       
          medion-md2        Medion MD2                                                       
          targa-dig        Targa/MSI                                                       
          targa-2ch-dig        Targs/MSI with 2-channel                                       
          laptop-eapd   3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE)               
          lenovo-101e        Lenovo 101E                                                       
          lenovo-nb0763        Lenovo NB0763                                                       
          lenovo-ms7195-dig Lenovo MS7195                                               
          6stack-hp        HP machines with 6stack (Nettle boards)                               
          3stack-hp        HP machines with 3stack (Lucknow, Samba boards)                       
          auto                auto-config reading BIOS (default)

  忙乎半天,发现自己原来kernel-souce都没有一个,虽然到处都是官方的kernel源码包,但生怕debian的维护者们改了什么,还是下个debian的source好。于是去packages.debian.org 倒腾,忙活几个小时还终于找到一个linux-source-2.6.38,赶紧用超级牛力的aptitude install一个先,70M的source终于又花上一个小时下载后,迫不及待的去 /usr/src 找这个ALSA config文件半天,后来发现原来在 /usr/doc 哪里,当然,那个强大的 vim / 永远都无法在这个文件里搜索到任何的 alc883 alc888 alc880 ...连个realtek都没有。

  虽然debian水平不高,不过韧性还有,赶紧去realtek的官方down一个Linux驱动,因为上次的缘故也下载过一次,知道是某个版本的alsa源码包,肯定也有这个config文件,打开一看,也没啥差别,再次失望。

  不过这个世界发行版还真多,bbs.archlinux.org有个家伙说关掉OSS相关的模块就行了,于是眼睛再次亮起,机子 modconf 还是有的,不怕不怕,再试一次...

  终于冷静的时候到了,准备睡觉了,进入恢复模式再试试 aplay /usr/share/sounds/xxx.wav 吧,还真没用过这个命令呢,

  喇叭传来美妙的音乐...

  真是傻眼了,哪位能帮帮忙呢...


贴一下各种信息
alsactl init
Unknown hardware: "HDA-Intel" "Realtek ALC888" "HDA:10ec0888,1025021b,00100202 HDA:14f12c06,1025021b,00100000" "0x1025" "0x021b"
Hardware is initialized using a guess method

aplay(正常模式)
设备或资源忙

aplay(恢复模式)
无响应

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC888 Analog [ALC888 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC888 Digital [ALC888 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=SB
    HDA ATI SB, ALC888 Analog
    Default Audio Device
front:CARD=SB,DEV=0
    HDA ATI SB, ALC888 Analog
    Front speakers
surround40:CARD=SB,DEV=0
    HDA ATI SB, ALC888 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
    HDA ATI SB, ALC888 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
    HDA ATI SB, ALC888 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
    HDA ATI SB, ALC888 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
    HDA ATI SB, ALC888 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=SB,DEV=0
    HDA ATI SB, ALC888 Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=HDMI
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output

虽然在恢复模式下aplay可以发声,并且alsamixer在任何情况下都是可以看到ALC888,各种音量调节正常但KDE下+alsactl init依然还是不正常的。
 楼主| 发表于 2011-5-15 01:52:05 | 显示全部楼层
刚刚aptitude update,发现内核升级了,也升级了linux-sound-base,估计问题会解决吧,但还是希望在当前环境下解决这个问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表