오디오가 제대로 작동하지 않음

오디오가 제대로 작동하지 않음

저는 데비안 11을 사용하고 있습니다. 헤드셋과 오디오를 동시에 사용할 수 없습니다. 명령을 실행할 때 initframs(이것과 관련되지 않은) 몇 가지 오류를 발견했고 일부 Realtek 펌웨어(내 온보드 마더보드 사운드 카드)가 누락된 것을 발견했습니다. 그래서 Realtek을 이용해서 Realtek 펌웨어를 설치했고 sudo apt-get install firmware-realtek, 재부팅 후 다른 두 가지 옵션을 볼 수 있었습니다. 나는 Stereo Duplex그것을 사용했고 컴퓨터를 다시 시작할 때까지 작동했고 이제 초기 부분으로 돌아갔습니다. 이러한 옵션이 없으며 패키지가 이미 설치되어 있습니다. 나는 무엇을 해야 합니까?

편집하다:

이는 다음의 출력입니다.sudo dmesg -H |grep snd_

[  +0.000007] snd_hda_intel 0000:26:00.1: Handle vga_switcheroo audio client
[  +0.000078] snd_hda_intel 0000:28:00.4: enabling device (0000 -> 0002)
[  +0.003414] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC892: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line
[  +0.000002] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:      Front Mic=0x19
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:      Rear Mic=0x18
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:      Line=0x1a

또한 다음을 실행하여 동일한 출력을 얻습니다.journalctl -xb |grep snd

도움이 될까봐 grep으로 편집했습니다.journalctl -xb |grep Audio

Mar 03 11:26:26 Deb-PC kernel: ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Front Mic as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input30
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Rear Mic as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input31
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input32
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line Out Front as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input33
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line Out Surround as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input34
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line Out CLFE as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input35
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line Out Side as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input36
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Front Headphone as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input37
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Front Mic (/dev/input/event19)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Rear Mic (/dev/input/event20)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line (/dev/input/event21)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line Out Front (/dev/input/event22)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line Out Surround (/dev/input/event23)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line Out CLFE (/dev/input/event24)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line Out Side (/dev/input/event25)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Front Headphone (/dev/input/event26)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Front Mic (/dev/input/event19)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Rear Mic (/dev/input/event20)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line (/dev/input/event21)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line Out Front (/dev/input/event22)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line Out Surround (/dev/input/event23)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line Out CLFE (/dev/input/event24)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line Out Side (/dev/input/event25)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Front Headphone (/dev/input/event26)

.

답변1

나는 마침내 이 문제를 "해결"했습니다. 통신사에서 제안한 대로 이는 PulseAudio 문제일 수 있습니다(장치가 아직 초기화되지 않았을 수 있음). 그래서 고치는 부분은 쉽습니다. 나는 이것을 발견했거나 systemctl --user restart pulseaudio.service일시적 pulseaudio -k으로 내 문제를 해결하고 있었기 때문에 방금 추가했습니다 pulseaudio -k. (테스트되지 않음) ~/.profile.systemctl --user restart pulseaudio.service

참고: 추가 crontab(사용자별)는 효과가 없습니다. 사용자가 로그인한 후 즉시 실행되어야 합니다 ~/.profile. 그렇지 않으면 로그인 후 오디오 장치가 다시 손상됩니다. 누구든지 이 문제가 발생하면 이것이 도움이 되기를 바랍니다!

답변2

Google은 Realtek ALC892 및 유사한 문제에 대한 몇 가지 토론을 발견했습니다.

이 영상은 많은 정보를 수집합니다: https://www.youtube.com/watch?v=68jOe2rh6jE

이를 바탕으로 를 실행해 보면 alsamixer -c 0터미널 기반 믹서 표시가 표시됩니다. 왼쪽 상단에 현재 조정 중인 사운드 장치가 표시됩니다. 이 이외의 항목이 표시되면 를 Card: HD-Audio Generic눌러 F6다른 사운드 장치를 선택하거나 종료를 누르고 다른 사운드 장치를 찾으려면 Esc옵션 뒤의 숫자를 늘립니다 .-c

표시되면 Card: HD-Audio Generic화살표 키를 사용하여 항목 사이를 이동하세요. 창이 매우 넓지 않은 경우 가장자리를 터치하면 디스플레이가 왼쪽/오른쪽으로 스크롤될 수 있습니다. "자동 음소거" 및 "루프백"이라는 설정을 찾아 둘 다 있는지 확인합니다 Disabled(위/아래 화살표를 사용하여 설정을 전환합니다).

자동 음소거는 일반적으로 헤드폰 연결에 무언가가 연결될 때마다 스피커를 음소거합니다. 자동 음소거를 끄면 헤드폰과 스피커가 동시에 작동할 수 있습니다. 그러나 자동 음소거 기능이 스피커 채널을 음소거한 경우 왼쪽/오른쪽 커서 키를 사용하여 채널로 이동하고 을 눌러 M음소거를 전환하여 수동으로 음소거를 해제해야 할 수도 있습니다. Playback보기(=기본 보기, 키)에서는 헤드폰/스피커의 음소거를 해제 해야 하지만 F3보기(키)에서는 마이크의 음소거를 해제해야 합니다.CaptureF4

hdajacksensetest(패키지에서 ) 을 실행하여 alsa-tools결과가 적합한지 확인할 수도 있습니다. present = No실제로 연결된 오디오 잭이 표시되면 시스템 BIOS의 잭 감지 매핑이 잘못된 것일 수 있습니다. 그런 다음 hdajackretask(패키지에서 )을 사용하여 alsa-tools-guiBIOS 제공 잭 감지 매핑을 재정의 할 수 있습니다 . 이 작업을 수행해야 하는 경우 시스템 펌웨어(BIOS/UEFI)를 업데이트하여 문제가 지속되는지 확인해야 합니다. 그렇지 않은 경우 Linux 사운드 드라이버 개발자에게 사용해야 하는 시스템/마더보드 모델과 옵션을 보고하여 hdajackretask향후 커널 버전이 자동으로 수정 사항을 적용할 수 있도록 해야 합니다.

일부 Realtek 칩 모델의 경우,운전사커널 모듈에 대한 다양한 model=<something>옵션을 지원합니다 snd_hda_intel. 그러나 ALC892의 경우 유일하게 지원되는 옵션(적어도 Debian 11의 5.10 커널에서는)은 다음과 같습니다.model=asrock-mobo,얻다ASRock B150M 자동 활성화. 귀하의 마더보드가 ASRock B150M(예: Asus/ASRock에서 설계 및/또는 Intel B150 칩셋 사용)과 유사하다고 생각되면 이 모듈 옵션을 사용해 볼 수 있습니다.


pulseaudio -k또는 를 사용하여 문제를 해결할 수 systemctl --user restart pulseaudio.service있다면 문제는 모든 사운드 장치가 준비되기 전에 PulseAudio 데몬이 시작되는 것 같습니다. 이 경우 PulseAudio 사용자 서비스에 오디오 장치의 명시적인 종속성을 추가하는 것이 도움이 될 수 있습니다.

먼저 오디오 장치의 시스템 장치 이름을 찾아야 합니다. 이 명령은 다음을 출력해야 합니다.

systemctl --user | awk '/sound-/{ print $1; }'

예를 들어, 내 시스템에서는 한 줄에 하나씩 세 개의 (긴) 장치 이름이 출력됩니다.

sys-devices-pci0000:00-0000:00:01.0-0000:01:00.1-sound-card1-controlC1.device
sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d4-1\x2d4.4-1\x2d4.4.1-1\x2d4.4.1:1.2-sound-card2-controlC2.device
sys-devices-pci0000:00-0000:00:1f.3-sound-card0-controlC0.device

테스트하기 위해 다음 내용이 포함된 파일을 추가했습니다 ~/.config/systemd/user/pulseaudio.service.d/override.conf(디렉터리를 먼저 생성).pulseaudio.service.d

[Unit]
Wants=sys-devices-pci0000:00-0000:00:01.0-0000:01:00.1-sound-card1-controlC1.device
Wants=sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d4-1\x2d4.4-1\x2d4.4.1-1\x2d4.4.1:1.2-sound-card2-controlC2.device
Wants=sys-devices-pci0000:00-0000:00:1f.3-sound-card0-controlC0.device
After=sys-devices-pci0000:00-0000:00:01.0-0000:01:00.1-sound-card1-controlC1.device
After=sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d4-1\x2d4.4-1\x2d4.4.1-1\x2d4.4.1:1.2-sound-card2-controlC2.device
After=sys-devices-pci0000:00-0000:00:1f.3-sound-card0-controlC0.device

systemd이렇게 하면 이 세 가지 사운드 장치가 필요 pulseaudio.service하며 서비스가 시작되어야 한다는 것이 분명해집니다.뒤쪽에장치가 준비되었습니다.

특정 사운드 장치에서도 동일한 작업을 수행할 수 있습니다.

면책조항: 귀하의 문제가 먼저 발생했기 때문에 제 제안이 효과가 있는지 확인할 수 없습니다. 테스트를 통해서는 그것이 해를 끼치지 않는다는 것만 증명할 수 있습니다. 그러나 이 수정 사항이 효과가 있다면 pulseaudio.service서비스를 한 번 강제로 다시 시작하여 문제를 해결하는 대신 조기 시작을 방지하여 문제의 실제 근본 원인을 제거해야 합니다 .

이 수정 사항이 작동하고 시스템의 모든 사용자가 작동하도록 하려면 파일을 override.conf디렉터리로 이동하기만 하면 /etc/systemd/user/pulseaudio.service.d/됩니다(필요한 경우 디렉터리 생성).

관련 정보