3.5mm 사운드 잭이 갑자기 작동을 멈췄습니다. 컴퓨터를 다시 시작하는 것 외에는 무엇을 했는지 모르겠습니다. HDMI 오디오(및 비디오) 출력은 여전히 잘 작동합니다. 헤드폰을 3.5mm 포트에 연결했는데도 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
루트 대신 사용자로 실행하면 일부 출력이 제공됩니다. 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
알아보세요.
그렇다면 많은 컴퓨터가 헤드폰/스피커 간에 전환합니다. 당신도 이것을 할 수도 있고 하지 않을 수도 있습니다. 자세히 살펴보거나 alsamixer
전환 amixer
되지 않는 이유를 알아보세요.
또한 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.
그리고 이번에는 왜 작동하는지.