이 문제는 Intel onboard HDA (High Definition Audio)에서 발생하는데 sound stack (각 output의 배열)을 제대로 찾지 못해 발생하는 문제라고 한다.
일반적으로 /etc/modprobe.d/alsa-base.conf 의 가장 아랫 줄에
options snd-hda-intel model=3stack 이나 options snd-hda-intel model=6stack
를 추가함으로써 문제를 해결할 수 있었다.
하지만 HDA 사운드카드의 경우 그 종류에 따라 이 문제의 해결에 영향을 미치는 요소가 다양하기 때문에 해결이 쉽지 않다.
우선
cat /proc/asound/card0/codec#* | grep Codec 이나 aplay -l
을 통해서 카드나 칩의 종류를 파악한다.
ex)
Codec
Codec: Realtek ALC880
Codec: Generic 11c1 Si3054
그 다음 아래 첨부된 리스트에서 해당하는 부분을 참조한다.
위에 보인 예시를 이용해 보면 ALC880을 아래 목록에서 찾고
그 다음 자기 컴퓨터에 맞는 모델이름을 사용하는 것이다. 만약 LG 노트북일 경우( 아래 lg가 있다. )
options snd-hda-intel model=lg 를 /etc/modprobe.d/alsa-base
가장 아랫 줄에 추가해 주면 된다.
만약 작동하지 않는다면 ALC880 아래의 다른 줄의 모델 이름들을 사용해 본다.
options snd-hda-intel model=uniwill
options snd-hda-intel model=fujitsu
options snd-hda-intel model=tcl
options snd-hda-intel model=fujitsu
options snd-hda-intel model=tcl
물론 이 과정을 되풀이 하면서 사운드설정에서 음소거가 되어 있는지 확인해 볼 필요가 있다.
나의 경우는 options snd-hda-intel model=vaio 하니까 정확히 내장 및 이어폰 연결시 모두 소리가 정확히 출력 되었다.
나의 경우는 options snd-hda-intel model=vaio 하니까 정확히 내장 및 이어폰 연결시 모두 소리가 정확히 출력 되었다.