




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用最新 ALSA 驱动解决 UBUNTU LINUX INTEL 集成声卡问题 目前用户所抱怨的 Ubuntu 系列的声卡问题,基本上归结为几类:一,找不到声音设备; 二,不发声;三,耳机和音箱同时发声;四、话筒没声。大部分这种问题都是由笔记本上 Intel 集成声卡驱动引起的,关于这个问题的具体描述和解决方案,可以查看下面两个页面: BUG: /ubuntu/+source/linux-source-2.6.22/+bug/131133 SOLUTION: /Gutsy_Intel_HD_Audio_Controller 其实大部分问题都可以通过自己动手编译安装最新 ALSA 驱动解决,解决方法上面两个 链接中已经解释得很清楚了,我这里介绍一下我的思路: 第一,查看 ALSA 版本,如果最新,就不用重新安装了,仔细查看一下配置吧。 $ alsactl -v 如果打印出: alsactl version 1.0.20,那么 ALSA 已经是最新了。 第二,在 ALSA 官方网站 上,下载最新的 ALSA 驱动,怎么 解压我就不说了吧。 $ wget /pub/driver/alsa-driver-1.0.20.tar.bz2 $ wget /pub/lib/alsa-lib-1.0.20.tar.bz2 $ wget /pub/utils/alsa-utils-1.0.20.tar.bz2 第三,查看自己的内核版本和声卡解码芯片是否被支持。 查看支持的内核版本 $ less alsa-driver-1.0.15/SUPPORTED_KERNELS 查看自己声卡解码芯片(如果系统不能识别声卡,可能无法由下面两个查到,那么查看你 电脑配置单吧) $ tail -2 /proc/asound/oss/sndstat 或 $ head -1 /proc/asound/card0/codec#0 比如我的 DELL D630 就显示的是下面这个 Codec: SigmaTel STAC9205 在 alsa-driver-1.0.20/sound/Documentation/ALSA-Configuration.txt 中查找自己声卡解码芯片 对应的 model 名字,比如我的 STAC9205 对应的就是: STAC9205/9254 ref Reference board dell-m42 Dell (unknown) dell-m43 Dell Precision dell-m44 Dell Inspiron 如果存在对应的 model,恭喜你可以继续安装了。 第四,准备好编译环境,安装 gcc, libc 等等工具,还需要下载 Linux header,这是编译 ALSA 驱动必须的。 $ sudo apt-get install build-essential linux-headers-2.x.xx-xx(你的内核版本) 第五,编译安装,一般的 ./configure, make, make install 流程。注意的是驱动编译时候需要 module 名字,就是第三步中找到的 modle 对应的 module 名字,去掉 snd-即可。比如我 的 STAC9205 对应的 modle 是 dell-m44,对应的 module 是 snd-hda-intel,那么 configure 时候需要加上 -with-cards=hda-intel。编译安装时遇到问题请仔细阅读源码附带 的 INSTALL。 $ cd alsa-driver-1.0.15 $ ./configure -with-cards=MODULE_NAME $ make $ sudo make install $ cd /alsa-lib-1.0.15 $ ./configure $ make $ sudo make install $ cd /alsa-utils-1.0.15 $ ./configure $ make $ sudo make install 第六,配置 ALSA。 如果以前系统中没有使用 ALSA 驱动,可能需要 alsaconf 来配置,还要将 ALSA 加入 内核模块中,我没有经验; 如果系统原来已经有 ALSA 驱动,但是没有识别声卡或者声音驱动有问题。那么理论上 只需要在两个地方做改动: 添加 /etc/modprobe.d/sound 文件,内容为: alias snd-card-0 snd-MODULE_NAME alias snd-slot-0 snd-MODULE_NAME 比如我的就是: alias snd-card-0 snd-hda-intel alias sound-slot-0 snd-hda-intel 在 /etc/modprobe.d/alsa-base 中最后一行添加: options snd-MODULE_NAME model=MODEL_NAME 比如我的就是: options snd-hda-intel model=dell-m44 第七,重新启动查看效果,可以使用 alsamixer 调节声音设置。 其它都好,话筒没声其它都好,话筒没声 如果您已经安装了 alsa 驱动,话筒没声的问题可以通过设置解决。命令行输入 alsamixer: 1. Digital 那列,设置为 Analog I。 2. 点击 tab 制表键,在第一个 Capture 上点空格,显示出来红色的 “Capture, LR“字样表 示选中,并把音量设置为 0。 3. Digital 那列,将音量设置为 67,这样能减少杂音。 由于各种各样的问题,比如 ALSA 驱动重复安装,内核版本,内核模块添加不全等等, 本文并不保证能完美解决声卡问题。本人不是声卡驱动专家,本文只是阐述我解决声卡问 题的做法,如果您在本文指导下仍然不能解决声卡问题,请您到熟悉的论坛上寻求帮助。 alsaalsa ubuntuubuntu 声卡驱动重新安装声卡驱动重新安装 第一步,删除原来安装 alsa 或者安装错的 alsa 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 驱动 下载下面这三个文件 alsa-driver-1.0.16.tar.bz2 alsa-lib-1.0.16.tar.bz2 alsa-utils-1.0.16.tar.bz2 下载地址: 就找到这么多,有兴趣可以试试,我得周末才能试。 安装步骤: 升级之前,我们必须现要确定当前系统的 alsa 版本,命令如下: cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.18rc3. 为确保在升级 Alsa-utils 时候不会出现问题,我们先要用下面命令停止它: sudo /etc/init.d/alsa-utils stop 安装驱动前我们必须要先安装编译内核必须的工具组件,如下: sudo apt-get -y install build-essential ncurses-dev gettext xmlto sudo apt-get -y install linux-headers-uname -r libncursesw5-dev 接着,我们进入到个人的根目录下下载这三个包:alsa-driver、alsa-lib 和 alsa-utils: cd rm -rf /alsa* wget /pub/driver/alsa-driver-1.0.21.tar.bz2 wget /pub/lib/alsa-lib-1.0.21a.tar.bz2 wget /pub/utils/alsa-utils-1.0.21.tar.bz2 之后,我们需要创建编译它们所需要的目录。然后,移动下载的这三个文件到 刚创建的目录中: sudo rm -rf /usr/src/alsa sudo mkdir -p /usr/src/alsa cd /usr/src/alsa sudo cp /alsa* . 解压这三个文件: sudo tar xjf alsa-driver* sudo tar xjf alsa-lib* sudo tar xjf alsa-utils* 开始编译安装 alsa-driver: cd alsa-driver* sudo ./configure sudo make sudo make install 编译安装 alsa-lib: cd /alsa-lib* sudo ./configure sudo make sudo make install 编译安装 alsa-utils: cd /alsa-utils* sudo ./configure sudo make sudo make install 如果你像我一样,运行最后一次 “sudo ./configure” 遇到下面提示错误: checking form.h presence. yes checking for form.h. yes checking for new_panel in -lpanelw. no configure: error: panelw library not found 你需要添加下面文件映射链接(没有出错的跳过这步)并重新运行最后一个 “sudo ./configure” 命令: sudo ln -s libpanelw.so.5 /usr/lib/libpanelw.so sudo ln -s libformw.so.5 /usr/lib/libformw.so sudo ln -s libmenuw.so.5 /usr/lib/libmenuw.so sudo ln -s libncursesw.so.5 /lib/libncursesw.so 然后,安装下载的这三个不需要的文件: rm -f /alsa-driver* rm -f /alsa-lib* rm -f /alsa-utils* 最后,只需要重新启动你的电脑,你的 Alsa 应该已经是 1.0.21 版本了! 你可以用下面命令确定你系统当前的 alsa 版本: cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.21. Compiled on Aug 31 2009 for kernel 2.6.28-15-generic (SMP). 确定所有都配置好以后,退出这个命令对话: sudo alsaconf 最后祝你好运,遇到问题请参照作者网站原文的评论。原文 Upgrade Alsa (1.0.21) on Ubuntu Jaunty 9.04。 【原创】Ubuntu 系统没声解决方法 编译安装最新的 alsa 驱动 昨晚帮群里人解决的问题,呵呵,严格的说,不是我一个解决的,还有大牛 Felix 的帮忙。 给人解决问题的过程,也是自己学习知识的过程。 有些新人,在安装 ubuntu 后,系统没有声音,多半是因为 Ubuntu 的“声音控制驱动:Alsa” 没有正确识别出电脑的声卡。这个问题的解决方法,虽然有点复杂,但还有值得去尝试的, 毕竟没有人想在 Ubuntu 的世界里,过没声音的日子 解决方法:去 Alsa 的官方网站,分别下载 3 个 声卡驱动控制程序安装包,来安装。 一. 声卡驱动控制程序: Alsa 的下载 1. 下载网站: /main/index.php/Main_Page 这里,我们要下载的是,Alsa 最新版本的 3 个安装包。从上面的网页里面,右边就能看到 有“Download a package” “current version”字样。 注意:Alsa 驱动是在不断更新的,我们要做的,就是从网上下载最新版本的,上面的网页 位置,就直接提供最新版本的直接下载。这次的教程,我以目前最新的:1.0.20,为例子来 讲解。可能当你看到这篇教程的时候,版本已经更新了(比如 1.0.21,22,23 这样) 。去照猫 画虎的下载就行了。安装方法,过程,也是完全通用的。 我们需要下载如下 3 个安装包: (1) alsa-driver-1.0.20 (2) alsa-lib-1.0.20 (3) alsa-utils-1.0.20 看图,在这个位置,不管以后版本怎么更新,都直接点击这里就行。 二. 安装 下载好的 3 个软件包,分别是:alsa-driver-1.0.20.tar.bz2 和 alsa-lib-1.0.20.tar.bz2 和 alsa- utils-1.0.20.tar.bz2 这 3 个软件包,安装方法,安装过程,安装步骤,完全相同,都是 linux 系统下,最原始 的:“编译安装 3 步走”。因此,我这次的教程,以第一个软件包:alsa-driver- 1.0.20.tar.bz2,来讲述具体的安装实践过程,后面的,自己照猫画虎即可。特别注意,这 3 个软件包,安装有先后顺序的,按照:driver lib utils 进行。行了,我们开始吧 1. 先在终端里面,下载: xmlto,这个软件包并安装 方法: 从“应用程序”“附件“,打开”终端“,输入: sudo apt-get install xmlto。这样来下 载安装。安装好就把终端窗口放一边,我们后面会用到。 2. 找到你下载好的:alsa-driver-1.0.20.tar.bz2,双击打开它,我们能看到里面有一个文件夹, 用鼠标左键,托拽到”桌面“上。稍等一会儿,你就会看到桌面上有:alsa-driver-1.0.20,这 个名字的文件夹了。 3. 在终端里面,我们输入: cd 桌面/刚才那个文件夹的名字,应该就是:cd 桌面/alsa- driver-1.0.20(你后面安装 lib 包的时候,自己想想这里是什么吧) 。 4. 回车后,继续输入: ./configure 回车 说明:这个步骤,就是传说中的,编译、配置源代码,根据操作系统的不同,根据其所附 带的软件包不同,因此,这个 configure 过程也不尽相同。因此,没人能够预知会出现什么 问题。但是有个前提,就是,你按回车后,屏幕就开始滚动,直到完成,你要看看有没有 出现: error(错误) ,这个词。如果没有,你就能继续下面的步骤了,如果中途出现了”错 误“,那就必须先根据终端里面给出的错误提示信息,来上网搜索,解决这个错误。解决后, 再回过头来,重新“./configure” lsa 声卡驱动程序的”configure“,一般不会遇到什么错误,在”buntu linux 9.04 esktop“下测试可以通过。看图吧,最后出现: Hacking autoconf.h.,就算完成了。 5.完成后回到提示符,就可以继续输入: make,进行下一步了。回车,屏幕继续开始滚动, 同样道理,要观察有没有”error(错误) “出现 这个过程,会有一个”警告(warnning):警告: 格式字符串不是一个字面字符串而且没 有待格式化的实参“,这个没事,不用理会它。看图吧。make 的过程比较长,大约 20 分钟 左右,最后会出现图里面的:”lsa modules were successfully compiled“,就代表成功了。 6. 完成后返回命令提示符,输入: sudo make install ,回车即可开始安装驱动。 因为我的系统已经安装过了,所以这部分没发截图了。前两步如果不出现什么明显的” error(错误) “,那这最后一部,80以上都不会再有问题了。 三. 后面的两个软件包的安装。 刚才说了,3 个包,安装的步骤,过程,完全一样。我就简述下了。 1. 对于:alsa-lib-1.0.20 双击下载的软件包,把里面的文件夹解压缩到桌面上,然后终端里面: cd 桌面/alsa-lib-1.0.20 ./configure make (注意看上面 2 个步骤,有没有 error,应该是没有,警告什么的,不需要管它) sudo make install 最后完工。其实第一个 driver,是 3 个包里面最最最重要的,它成功了,后面 2 个几乎就 不会有什么问题的。 2. 对于 alsa-utils-1.0.20 双击下载的软件包,把里面的文件夹解压缩到桌面上,然后终端里面: cd 桌面/alsa-utils-1.0.20 ./configure make (注意看上面 2 个步骤,有没有 error,应该是没有,警告什么的,不需要管它) sudo make install 这样,3 个软件包彻底安装完成。你可以重新启动电脑了。对于目前流行的大部分声卡, 你就能听到动听的声音了。 四.已知的存在的其他小问题 1. 重新启动电脑后,你可能听不到 ubuntu 系统启动的声音,不要着急,找个音乐来播放试 试看,应该就有了。音乐有了就代表声卡工作正常了。后面,你还可以播放视频试试看 2. 关于视频,如果你播放视频的时候,在”暂停“的时候,声音”却不暂停“,那就更换一个 视频播放器,我推荐大家用 smplayer,这个。 3. 如果你在播放音乐,视频的时候,声音出现”卡“的情况,可以尝试更换媒体播放器。因 为这种问题,可能不是驱动程序的问题,而是媒体播放器设置不当,所造成的。 4. 在 linux 系统下, “源代码”软件包,这种安装方式,一般在它的文件夹里面,都附带 2 个文件:分别是 readme(是软件的介绍说明)和 install(安装方法的详细说明) 。但是鉴 于大部分软件都是外国人开发的,因此这 2 个文件,一般都是英文版本的。所以,如果你 英语还行,建议在安装前,认真的看看这 2 个文件,对于你编译安装任何软件,都是大有 帮助的。看图,就是这两个: 行了,这次的文章就这样了,这篇文章不仅仅是教”alsa 声卡驱动程序“的编译安装。其实 这个”编译安装的过程:解压缩文件夹,进入文件夹,./configure,make,sudo make install“, 是对于 linux 世界所有”源代码“形式的安装包(比如:XXXXX.tar.gz 这种格式)的一次教学。 浅析 ubuntu 9.10 编译安装 alsa-1.0.21 驱动 alsa-driver 和 alsa-lib / 1. 查看当前 alsa 版本 luthergliethttp:$ cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.20. 2. 下载 driver 和 lib luthergliethttp:$ wget /pub/driver/alsa-driver-1.0.21.tar.bz2 luthergliethttp:$ wget /pub/lib/alsa-lib-1.0.21a.tar.bz2 luthergliethttp:$ wget /pub/utils/alsa-utils-1.0.21.tar.bz2 3. 首先关闭 alsa,以防安装时出现异常错误 luthergliethttp:$ sudo /etc/init.d/alsa-utils stop 4. 编译 alsa-lib 库,应该保持 alsa-driver 和 alsa-lib 版本一致 luthergliethttp:/alsa-lib-1.0.21a$ ./configure luthergliethttp:/alsa-lib-1.0.21a$ make -j4 luthergliethttp:/alsa-lib-1.0.21a$ sudo make install 5. 编译 alsa-driver 驱动 luthergliethttp:/alsa-driver-1.0.21$ ./configure luthergliethttp:/alsa-driver-1.0.21$ make -j4 luthergliethttp:/alsa-driver-1.0.21$ sudo make install 6. 编译 alsa-utils-1.0.21 luthergliethttp:/alsa-driver-1.0.21$ cd /usr/lib luthergliethttp:/usr/lib$ sudo ln -s libpanelw.so.5 libpanelw.so = 安装 libncursesw5 库,经过对 configure 的 log 输出,发现编译测试 libpanelw 库时,连接了 lncursesw,所以只要 gcc -o conftest -g -O2 -I/usr/include/ncursesw -L/usr/lib conftest.c -lpanelw -lncursesw -lasound -lm -ldl -lpthread 上面其中 1 个库不存在都会导致:configure: error: panelw library not found = luthergliethttp:$ sudo apt-get install libncursesw5-dev luthergliethttp:/alsa-utils-1.0.21$ ./configure -disable-xmlto 直接禁用 xmlto 即可,不用安装 了 = 安装 xmlto 否则提示:xmlto: command not found luthergliethttp:$ wget /debian/pool/main/x/xmlto/xmlto_0.0.20.orig.tar.gz luthergliethttp:/xmlto-0.0.20.orig$ ./configure luthergliethttp:/xmlto-0.0.20.orig$ make -j4 luthergliethttp:/xmlto-0.0.20.orig$ sudo make install = luthergliethttp:/alsa-utils-1.0.21$ make -j4 luthergliethttp:/alsa-utils-1.0.21$ sudo make install 7. 重新启动 pc luthergliethttp:$ sudo reboot 8. 查看 alsa 版本 luthergliethttp:$ cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.21. Compiled on Dec 8 2009 for kernel 2.6.31-14-generic (SMP). 9. 使用 speaker-test luthergliethttp:$ speaker-test -Dplug:front -c2 但是出现如下错误提示: ALSA lib pcm_dmix.c:1010:(snd_pcm_dmix_open) unable to open slave Playback open error: -16,Device or resource busy 原因:VirtualBox 中 winxp 起来之后,占用了声音,所以出现这样的提示,将 VirtualBox 中 winxp 关闭即可正常,由此可以看出来 speaker-test 和 aplay 使用的 OSS 架构通过/dev/dsp 设备节点操作声卡 10. 使用 aplay 播放 wav 文件-aplay 能够自适应 wav 格式,这远比/dev/dsp 的 oss 方便多,免去 了 cat 8k_8bits_mon.wav /dev/dsp 默认格式数据制作的麻烦luther.gliethttp. luthergliethttp:/.wine/drive_c/AudioConverter$ ll total 459M -rw-r-r- 1 luther luther 75M 2009-12-08 13:39 chujia.wav -rw-r-r- 1 luther luther 75M 2009-12-08 13:40 chujia_48000.wav -rw-r-r- 1 luther luther 206M 2009-12-08 13:40 出嫁.mp3 -rw-r-r- 1 luther luther 103M 2009-12-08 13:42 chujia-1.wav -rw-r-r- 1 luther luther 206M 2009-12-08 13:43 出嫁.wav luthergliethttp:/.wine/drive_c/AudioConverter$ aplay 出嫁.wav Playing WAVE chujia-2.wav : Signed 24 bit Little Endian in 3bytes, Rate 44100 Hz, Channels 6 Invalid rate plugin version 10002 或者使用 luthergliethttp:/.wine/drive_c/AudioConverter$ aplay -Dplug:dmix 出嫁.wav 11. alsa 测试 5.1 声道 luthergliethttp:$ speaker-test -Dplug:surround51 -c6 -twav speaker-test 1.0.21 Playback device is plug:surround51 Stream parameters are 48000Hz, S16_LE, 6 channels WAV file(s) Rate set to
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电动机制造中的生产计划与库存管理考核试卷
- 肥料制造的智能监控与远程操作考核试卷
- 海洋气象科学研究计划考核试卷
- 管道工程生态环境影响评价考核试卷
- 稀土金属提炼过程中的行业趋势与市场前景分析考核试卷
- 篷布生产环保措施考核试卷
- 票务市场趋势考核试卷
- 抖音社交关系终止及违规用户处理协议
- 二手房抵押交易债务结算专项协议
- 互联网教育平台投资合作协议
- 2025-2030纳米银行业市场深度调研及前景趋势与投资研究报告
- 全媒体运营师运营管理技能试题及答案
- 六年级道德与法治教育
- 职业教育“双师型”教师队伍建设路径与质量提升研究
- 青年红色筑梦之旅活动
- 高中主题班会 常规管理促状态规范月课件-高二上学期主题班会
- 拓扑结构特征提取-深度研究
- 家具鉴赏知到智慧树章节测试课后答案2024年秋东北林业大学
- 统编版语文七年级下第18课《井冈翠竹》公开课一等奖创新教学设计
- 针刺伤预防与处理-2024中华护理学会团体标准
- 基装合同范例版
评论
0/150
提交评论