오늘부터 무작위로 이런 일이 일어나고 있습니다. 어제 노트북을 정리하려고 열어봤습니다. 또한 실수로 CMOS 배터리 와이어를 분리했습니다.
터미널에서 열면 alsamixer
채널을 제어하려고 하면 다음과 같은 일이 발생합니다.
"PCM" 채널을 제어하는 것이 볼륨을 변경할 수 있는 유일한 방법입니다.
마스터 채널을 선택할 때 위쪽/아래쪽 화살표 키를 사용하면 숫자는 변경되지만 실제로 볼륨은 변경되지 않습니다. 더 낯선 사람: 마스터 볼륨을 제어하면 음소거됩니다. 또한 헤드폰 채널은 음소거되지만 스피커 채널은 음소거되지 않습니다.
기본 채널의 음소거를 해제하기 위해 "M"을 누르면 오디오가 복원되지 않습니다. 이렇게 하려면
pactl set-sink-mute 0 toggle
sxhkdrc(bspwm 사용)에 바인딩된 Fn+F1을 눌러야 합니다 .Fn+F2/F3(에 바인딩
pactl set-sink-volume 0 -/+ 5%
)을 사용하여 감소/증가하면 기본 채널이 변경되지만 오디오는 변경되지 않지만 음소거도 되지 않습니다.(un)헤드폰 채널을 음소거해도 오디오에는 영향이 없습니다. 헤드폰 채널을 늘리거나 줄여도 볼륨은 변경되지 않습니다.
메인 채널을 음소거하면 헤드폰 채널도 음소거되지만, 메인 채널을 음소거 해제해도 헤드폰 채널은 음소거 해제되지 않습니다.
스피커가 전혀 작동하지 않습니다.
기능 키를 사용하여 메인 채널을 0으로 설정하면 헤드폰 채널도 꺼집니다. 헤드폰 채널이 0이 되면 오른쪽 채널만 음소거됩니다(wtf?).
Windows에서는 모든 것이 잘 작동합니다(Windows에서 오디오 드라이버 문제가 있었지만 재부팅하면 해결되었습니다). USB Live Stick의 Ubuntu 18.10에서는 모든 것이 잘 작동합니다. 저는 Arch Linux를 실행하는 노트북(Lenovo Legion Y520)을 사용하고 있습니다. alsamixer에 따르면 HDA Intel PCH
사운드 카드와 칩을 사용하고 있습니다 Realtek ALC233
.
pavucontrol
편집: 헤드폰과 스피커라는 두 가지 오디오 출력이 있는 것으로 보입니다 . 스피커 옆에 "사용할 수 없음"이라고 표시됩니다.
편집: dmesg:https://pastebin.com/YUr4MyDf
출력 ls /proc/asound/card*/codec*
:
/proc/asound/card0/코덱#0
/proc/asound/card0/코덱#2
답변1
pulse
볼륨 컨트롤만 있는 플러그인 컨트롤을 보고 계십니다 . F6하드웨어 컨트롤을 사용하여 사운드 카드에 액세스해 보십시오 .
그러나 이제 Pulseaudio를 메인 오디오 시스템으로 실행하고 있으므로(오래 전에 수행한 일부 업데이트의 결과로 정리로 인해 처음으로 재부팅했을 수도 있음) 이를 그대로 두고 데스크탑 사운드 설정을 alsamixer
사용하는 것이 좋습니다. pavucontrol
(데스크톱을 사용하는 경우)
두 가지를 모두 사용하면 미드 앰프가 잘못 구성되어 클리핑 및 음향 왜곡이 발생할 수 있습니다.
alsamixer
이미 사용해 보셨듯이 모든 것을 좋은 상태로 되돌리려면 한 번만 사용해야 할 수도 있습니다 (예: 실수로 음소거된 노드의 음소거 해제 등).
편집하다
코덱이 올바르게 식별되었습니다.
[ 3.845593] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
...
[ 3.883968] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC233: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 3.883969] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 3.883970] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 3.883971] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 3.883972] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 3.883973] snd_hda_codec_realtek hdaudioC0D0: Mic=0x19
[ 3.883974] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12
그러나 얼마 지나지 않아 뭔가 실패했습니다.
[ 16.496761] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x202f2d00
[ 17.500096] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x202f2d00
[ 18.510492] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x202f2d00
그러면 상황이 흥미로워지기 시작합니다.
[ 138.168712] azx_single_send_cmd: 14 callbacks suppressed
[ 391.888726] azx_single_send_cmd: 34 callbacks suppressed
[ 403.161786] azx_single_send_cmd: 114 callbacks suppressed
[ 447.315584] azx_single_send_cmd: 46 callbacks suppressed
[ 514.846522] azx_single_send_cmd: 70 callbacks suppressed
추측해 보세요: 노트북을 청소하는 동안(귀하가 우리에게 알리지 않은 다른 작업을 한 경우 제외) 정전기 방전이 발생했거나 실수로 연결을 끊은 배터리 케이블이 있어서는 안 되는 것과 접촉하여 이제 사운드 카드/코덱에 연결되어 통신이 제대로 작동하지 않습니다.
이는 올바르게 진단하고 수리하기 어려울 것입니다. 문제의 범위를 더 좁힐 수 있는지 알아보기 위해 코덱 파일의 내용을 살펴볼 수 있지만 hda-verb
그렇게 하려면 이 내용이 어떻게 작동하는지 이해해야 합니다. 이는 Q&A를 통해 원격으로 디버깅할 수 있는 것이 아닙니다.
Windows에서는 작동하지만 Linux에서는 작동하지 않는 이유를 모르겠습니다. Windows에서는 하드웨어를 다르게 초기화할 수 있습니다.
답변2
나는 이것을 이것으로 고쳤습니다 :https://help.ubuntu.com/community/HdaIntelSoundHowto#Playing_with_probe_mask
dmesg:에서 여전히 오류가 발생 snd_hda_intel 0000:00:1f.3: control 2:0:0:PCM Playback Volume:0 is already present
하지만 아무런 문제가 없습니다.