我的扬声器工作正常,但当我插入耳机时,它们不工作。我正在运行 Ubuntu 10.04。
我的声卡是 Realtek ALC259 我的笔记本电脑型号是 HP G62t a10em
在另一个线程有人修复了类似的问题(耳机可以工作,扬声器不工作),如下所示:
sudo vi /etc/modprobe.d/alsa-base.conf(或其他除 Vi 之外的编辑器)在文件末尾附加以下内容:
别名 snd-card-0 snd-hda-intel 选项 snd-hda-intel 模型=自动
重启
但它对我来说不起作用。
在对 alsa 进行更改之前,输出如下:
alsamixer 给了我这个:我所做的事情:关注此 HowTo但现在似乎没有硬件存在(之前列出了 2 项):
现在,alsamixer 给了我这个:
alsamixer:重定位错误:alsamixer:符号 snd_mixer_get_hctl,版本 ALSA_0.9 未在文件 libasound.so.2 中定义,并带有链接时间参考我猜测 alsa-driver 安装时出现了错误,所以我开始重新安装它。
cd alsa-driver* //这很好用// sudo ./configure --with-cards=hda-intel --with-kernel=/usr/src/linux-headers-$(uname -r) //这可以正常工作// sudo make //这不起作用。请参见下面的输出错误// 安装
sudo make 的最后一行:
hpetimer.c:在函数‘snd_hpet_open’中: hpetimer.c:41:警告:函数“hpet_register”的隐式声明 hpetimer.c:44:警告:函数“hpet_control”的隐式声明 hpetimer.c:44:错误:‘unsigned’ 之前需要表达式 hpetimer.c:在函数‘snd_hpet_close’中: hpetimer.c:51:警告:函数“hpet_unregister”的隐式声明 hpetimer.c:52:错误:无效使用未定义类型“struct hpet_task” hpetimer.c:在函数‘hpetimer_init’中: hpetimer.c:88:错误:‘EINVAL’未声明(在此函数中首次使用) hpetimer.c:99:错误:未定义类型“struct hpet_task”的使用无效 hpetimer.c:100:错误:无效使用未定义类型“struct hpet_task” hpetimer.c:在顶层: hpetimer.c:121:警告:结构初始化程序中存在过多元素 hpetimer.c:121:警告:(接近‘__param_frequency’的初始化) hpetimer.c:121:警告:结构初始化程序中存在过多元素 hpetimer.c:121:警告:(接近‘__param_frequency’的初始化) hpetimer.c:121:警告:结构初始化程序中存在过多元素 hpetimer.c:121:警告:(接近‘__param_frequency’的初始化) hpetimer.c:121:警告:结构初始化程序中存在过多元素 hpetimer.c:121:警告:(接近‘__param_frequency’的初始化) hpetimer.c:121:错误:初始化程序末尾有额外的括号组 hpetimer.c:121:错误:(接近‘__param_frequency’的初始化) hpetimer.c:121:警告:结构初始化程序中存在过多元素 hpetimer.c:121:警告:(接近‘__param_frequency’的初始化) make[1]: *** [hpetimer.o] 错误 1 make[1]: 离开目录 `/usr/src/alsa/alsa-driver-1.0.9/acore' make:*** [编译] 错误 1
然后 sudo make install 给我:
rm -f /lib/modules/0.0.0/misc/snd*.*o /lib/modules/0.0.0/misc/persist.o /lib/modules/0.0.0/misc/isapnp.o make[1]: 进入目录 `/usr/src/alsa/alsa-driver-1.0.9/acore' mkdir -p /lib/modules/0.0.0/misc cp snd-hpet.o snd-page-alloc.o snd-pcm.o snd-timer.o snd.o /lib/modules/0.0.0/misc cp: 无法统计‘snd-hpet.o’:没有这样的文件或目录 cp: 无法统计‘snd-page-alloc.o’:没有这样的文件或目录 cp: 无法统计‘snd-pcm.o’:没有此文件或目录 cp: 无法统计‘snd-timer.o’:没有这样的文件或目录 cp: 无法统计‘snd.o’:没有这样的文件或目录 make[1]: *** [_modinst__] 错误 1 make[1]: 离开目录 `/usr/src/alsa/alsa-driver-1.0.9/acore' make:*** [install-modules] 错误 1
[解决方案] 在把一切都搞砸之后,有人提到为什么不尝试使用 Synaptic 中的软件包 - 所以我就这么做了。 我已重新安装了以下软件包并重新启动程序: -alsa-hda-realtek-忽略-sku-dkms -alsa-模块-2.6.32-25-通用 -alsa-源 -alsa-实用程序 -linux-backports-模块-alsa-lucid-通用 Linux 反向移植模块 ALSA Lucid 通用 PAE -linux-声音库 -(我想我已经把它们都列出了) 重新启动后,扬声器和耳机中的音频都可以正常工作。 我不知道哪个软件包可以使我的音频正常工作,但它肯定是其中之一。 [/解决方案]
答案1
我的解决方案可能看起来最愚蠢,但对我来说效果很好:将笔记本电脑置于暂停状态,关闭盖子,再次打开它,就修好了。
答案2
HPG2t 帮助:扬声器不工作- 查看帖子#4:
我认为我已经解决了这个问题。至少目前我的扬声器可以正常工作。我所做的就是安装 realtek 网站上的驱动程序。具体来说,是他们页面上的高清音频编解码器 Unix 驱动程序。以下是链接:
http://218.210.127.131/downloads/dow...onn=3&DownType ID=3&GetDown=false
我下载了 tar 包,解压后按照文件 Readme.txt 中的说明操作。我之前已经安装了编译所需的软件包(“build-essential”)。我重启了一次,但仍然无法工作,但后来我发现我的 gnome-alsamixer 不见了,所以我重新安装了它,然后重启后扬声器开始工作。希望它能一直这样。
答案3
如果您有英特尔声卡,您可以尝试以下操作:
- 打开
/etc/modprobe.d/alsa-base.conf
- 在最后添加这一行
options snd-hda-intel model=z71v position_fix=1
- 重新启动并检查是否有效。
我在华硕笔记本电脑上遇到了这个问题,这个解决方案很有效。
答案4
这可能是我刚刚在笔记本电脑上修复的类似问题,请尝试一下,以下是修复的详细信息:
我想说首先撤消您所做的所有其他更改。
笔记本电脑上的声音没有从扬声器发出,只有耳机发出,已修复。
在我的笔记本电脑 Dell Studio XPS 1640 上尝试了多个模块和型号后,扬声器无法工作,我决定在 Windows 上尝试一下(应该早点尝试,如果您进行双重启动,请先尝试),我期望它们能够工作,但它们没有,这意味着这是硬件的问题,而不是编解码器、模块或型号的问题。
我的声卡编解码器在 ubuntu 11.10 上使用的“STAC92HD73”,我在 alsa-base.conf 文件中添加了以下选项并重新启动。
#在 /etc/modprobe.d/alsa-base.conf 末尾添加此内容
选项 snd-hda-intel model=no-jd
重启后,笔记本电脑扬声器和耳机插孔都会发出声音(同时发出声音,但没什么大不了的,只需进入声音设置,在只听耳机时选择“模拟耳机”作为输出,同时确保重启后选择模拟扬声器作为输出),似乎是耳机插孔检测坏了,这就是为什么扬声器没有发出声音的原因。添加 no-jd(无插孔检测)解决了这个问题。
希望这会有所帮助,过去两周它一直让我发疯。