您的位置:首页 > 其它

Ubuntu 8.10 下Dell D630 声卡驱动解决办法

2010-03-09 20:22 309 查看
首先,采用网上一种比较流行的做法

 

因为dell d630的声卡驱动比较新,故现行的ubuntu自带alsa驱动并不能使其发声

[ 解决声卡驱动问题 ]

因 为 Dell Latitude D630 声卡版本比较新,用 Ubuntu 自带的 ALSA 驱动无法配置。解决办法是手工安装 ALSA
最新版本的 driver, lib 和 utils。你可以使用一个脚本 d630alsa.sh 来自动完成整个过程。

$ wget http://www.iki.fi/kuparine/comp/d630/d630alsa.sh
$ sudo sh d630alsa.sh

参考网址: https://wiki.ubuntu.com/Gutsy_Intel_HD_Audio_Controller
如果以上步骤不能解决,请使用以下方法:

$ sudo apt-get install module-assistant

$ sudo m-a update

$ sudo m-a prepare

$ sudo m-a a-i alsa

$ sudo cp /etc/modprobe.d/alsa-base /etc/modprobe.d/alsa-base.bak

$ sudo echo " options snd-hda-intel model=dell-m44" >> /etc/modprobe.d/alsa-base

 

但是,失败了,所以打算手工编一下ALSA

 

 

以下内容来自
http://hi.baidu.com/alilang/blog/item/ea0850e7da6c2524b83820c8.html
 

其实大部分问题都可以通过自己动手编译安装最新 ALSA 驱动解决,我这里介绍一下我的思路:

查看 ALSA 版本,如果最新,就不用重新安装了,仔细查看一下配置吧。

$ alsactl -v

如果打印出: alsactl version 1.0.19,那么 ALSA 已经是最新了。如果不是最新就要先安装最新的alsa驱动。

第一步,首先停止当前的ALSA服务:

sudo /etc/init.d/alsa-utils stop

第二步,卸载原有驱动

sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils

第三步,(*由于在删除alsa-utils的时候会同时删除gdm和ubuntu-desktop,所以得重新安装,否则会无法进入桌面,请大家不要漏过此步)

sudo apt-get install gdm ubuntu-desktop

我在执行以上两步 后,声音又出来了,感觉应该是前些天升级 alsa-lib 到 1.0.22引起的问题,重新安装后,又恢复了过来。后来,我又查看了一下/etc/modprobe.d/alsa-base /etc/modprobe.d/alsa-base, 发现里面并没有什么 snd-hda-intel 的设置。


编译安装alsa

第一,在 ALSA 官方网站 http://www.alsa-project.org 上,下载最新的 ALSA 驱动,用tar -jxvf alsa-*-1.0.19.tar.bz2和tar xvf alsa-*.1.0.19.tar解压缩。

$ wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.19.tar.bz2
$ wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.19.tar.bz2
$ wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.19.tar.bz2
第二,查看自己的内核版本和声卡解码芯片是否被支持。

查看支持的内核版本

$ less alsa-driver-1.0.19/SUPPORTED_KERNELS

查看自己声卡解码芯片(如果系统不能识别声卡,可能无法由下面两个查到,那么查看你电脑配置单吧)

$ tail -2 /proc/asound/oss/sndstat



$ head -1 /proc/asound/card0/codec#0

D630 的声卡型号 SigmaTel
STAC9205

第三,准备好编译环境,安装 gcc, libc 等等工具,还需要下载 Linux header,这是编译 ALSA 驱动必须的。

$ sudo apt-get install build-essential libncurses5-dev gettext kernel-package gcc make libc6 libc6-dev

$ sudo apt-get install linux-headers-`uname -r`

第四,编译安装,一般的 ./configure, make, make install 流程。注意的是驱动编译时需要加上 --with-cards=hda-intel。编译安装时遇到问题请仔细阅读源码附带的
INSTALL。

$ cd alsa-driver-1.0.19

$ ./configure --with-cards=hda-intel   D630是hda-intel

$ make

$ sudo make install

$ cd ../alsa-lib-1.0.19

$ ./configure

$ make

$ sudo make install

$ cd ../alsa-utils-1.0.19

$ ./configure

$ make

$ sudo make install

第五,配置 ALSA。

如果以前系统中没有使用 ALSA 驱动,可能需要 alsaconf 来配置,还要将 ALSA 加入内核模块中,我没有经验;

如果系统原来已经有 ALSA 驱动,但是没有识别声卡或者声音驱动有问题。那么理论上只需要在两个地方做改动:

在 /etc/modprobe.d/alsa-base 中最后一行添加:

options snd-hda-intel model=dell-m44

第六,重新启动查看效果,可以使用 alsamixer 调节声音设置。

 

 

我自己的实践结果


 

以下编译配置是采用第一种自动编译ALSA方法时,config.log里面记录的信息

./configure --prefix=/usr --with-kernel=/usr/src/linux-headers-2.6.27-9-generic --with-build=/usr/src/linux-headers-2.6.27-9-generic --with-moddir=/lib/modules/2.6.27-9-generic/updates/alsa --with-sequencer=yes --with-isapnp=yes --with-cards=hda-intel

 

以上编译失败,问题出在 alsa driver和 Ubuntu 8.10系统的头文件不匹配。暂时没有精力分析具体原因,好在经过前面的折腾,声音已经出来了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu dell gcc header audio less