3.5mm 音频插孔在 Debian 中不工作(测试)

3.5mm 音频插孔在 Debian 中不工作(测试)

我的 3.5 毫米声音插孔突然停止工作。我不知道除了重新启动计算机之外我还做了什么。 HDMI 音频(和视频)输出仍然可以正常工作。即使我的耳机插入 3.5 毫米端口,Gnome 声音设置中也仅显示 HDMI 输出。我还尝试插入一对扬声器,以确保耳机不是问题。

在此输入图像描述

我的内核版本:

Balancar# uname -a
Linux Balancar 5.8.0-2-amd64 #1 SMP Debian 5.8.10-1 (2020-09-19) x86_64 GNU/Linux

我尝试了我碰巧安装的三个不同的内核版本。对于 5.7.0-3,结果是相同的,而对于 5.8.0-1,有趣的是,我什至无法显示 HDMI 输出。

访问alsamixer和取消静音所有输出不起作用(如此处类似问题中所建议的)。我在这里看到两个声卡,Realtek ALC892(我主板上的那个)和 Nvidia GPU 71 HDMI/DP(我显卡上用于 HDMI 输出的那个),以及所有声音输出,但取消静音或更改音量级别不会使它们出现在声音设置中。

示例pacmd输出:

    Balancar# pacmd list-cards
    No PulseAudio daemon running, or not running as session daemon.

更新:pacmd以用户身份而不是 root 身份运行会给我一些输出。list-cards正确列出了两个声卡,其中list-sinks仅列出了 HDMI 输出。

lspci输出:

    Balancar# lspci|grep Audio
    00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
    01:00.1 Audio device: NVIDIA Corporation GM204 High Definition Audio Controller (rev a1)

更新:

dmesg这是@dirkt 的答案中建议的一些输出。我不确定我在寻找什么,所以我尝试查找一些看起来相关的关键字。我在这里找不到任何表明存在问题的内容:

Balancar# dmesg|grep Audio  
[    0.185862] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Balancar# dmesg|grep audio
[   22.873042] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[   23.046498] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC892: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line
[   23.046573] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   23.046651] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[   23.046722] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   23.046789] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   23.046852] snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
[   23.046915] snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
[   23.046978] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a
Balancar# dmesg|grep realtek
[   23.046498] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC892: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line
[   23.046573] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   23.046651] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[   23.046722] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   23.046789] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   23.046852] snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
[   23.046915] snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
[   23.046978] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a
Balancar# dmesg|grep PCH    
[    0.246713] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR]
[    0.253513] pci 0000:00:1c.0: Intel SPT PCH root port ACS workaround enabled
[    0.253935] pci 0000:00:1d.0: Intel SPT PCH root port ACS workaround enabled
[   22.799586] iTCO_wdt: Found a Intel PCH TCO device (Version=4, TCOBASE=0x0400)
[   23.094955] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input25
[   23.095081] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input26
[   23.095983] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1f.3/sound/card0/input27
[   23.096086] input: HDA Intel PCH Line Out Front as /devices/pci0000:00/0000:00:1f.3/sound/card0/input28
[   23.097163] input: HDA Intel PCH Line Out Surround as /devices/pci0000:00/0000:00:1f.3/sound/card0/input29
[   23.097264] input: HDA Intel PCH Line Out CLFE as /devices/pci0000:00/0000:00:1f.3/sound/card0/input30
[   23.097359] input: HDA Intel PCH Line Out Side as /devices/pci0000:00/0000:00:1f.3/sound/card0/input31
[   23.100062] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input32

aplay这是和命令的输出arecord。我看不出有什么异常:

Balancar# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Balancar# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC892 Alt Analog [ALC892 Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

答案1

部分答案,快速概述声音的工作原理:

ALSA 由内核驱动程序、库和工具组成。内核驱动程序获取硬件。启动后查看dmesg一下它们做了什么,以及是否存在问题。

aplay -l您可以使用和列出 ALSA 级别上的可用输出设备arecord -l。看看您的 Intel HDA 声音硬件是否在其中。

如果没有,则 ALSA 驱动程序级别出现问题,因此请阅读dmesg以找出问题所在。

如果是,许多电脑会在耳机/扬声器之间切换。你的也可以这样做,也可以不这样做。仔细查看alsamixeramixer找出它不切换的原因。

此外,在大多数现代发行版上,Pulseaudio 都是默认运行的。 Pulseaudio 比 ALSA 高一级,提供设备、程序等之间的声音传输。如果您不是故意禁用它,请弄清楚您做了什么(卸载一些软件包?)使其消失,然后撤消它。


好的,HDA 卡检测正常,并且耳机具有正确的自动配置信息。这意味着它可能是混音器设置。

再次关闭 Pulseaudio ( pulseaudio --kill)。我们只想在 ALSA 级别进行调试,以使事情变得更简单。

找到一些 WAV 文件,尝试类似的操作

aplay -D plughw:CARD=PCH xxx.wav

开始alsamixer,选择带有 的卡F6,确保查看所有设置(左/右光标键),并查看是否需要取消静音或切换到耳机。

如果这不起作用,请尝试

amixer -D hw:0 info

确保它是 ALC892(或更改 中的数字hw:0),然后执行

amixer -D hw:0 contents

并将输出上传到pastebin等中,从问题链接到它,这样我就可以看一下。

还要弄清楚为什么上次 Pulseaudio 没有运行

No PulseAudio daemon running, or not running as session daemon.

以及为什么这次会运行。

相关内容