2009년 6월 8일 월요일

리눅스에서 노트북 내장 스피커가 나오지 않을 때

VAIO FZ-26L에서 현재 우분투를 사용중인데 이어폰을 꽂았는데도 내장스피커와 이어폰에서 동시에 소리가 나오는 경우와 아니면 아예 어떤 소리도 나오지 않는 경우는 모두 두가지이다.

이 문제는 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=vaio 하니까 정확히 내장 및 이어폰 연결시 모두 소리가 정확히 출력 되었다.

2009년 6월 7일 일요일

Windows 새로 설치후 Ubuntu 부팅기능 복구 하기

우분투를 사용하다가 다른 파티션에 윈도우를 설치하면 기존에 깔린 우분트 부트 로더가 지워지는 사태가 발생한다.
특히나 요즘 매일이다 싶이 새로운 Windows 7 빌드가 출시되고 있는데 그때마다 우분투를 새로 설치하기는 여간 짜증나는 일이 아닐 수 없다. 그래서 별도로 Boot loader(System Commander)을 설치하고 사용 중인데 3사 부트 로더를 사용하는 상황에서 지워진 우분트 부트로더를 설치하는 방법을 소개할가 한다.

1. Live CD로 새로 부팅한다.
2. 터미널을 열고 ROOT권한을 획득한다. sudo -i
3. grub를 입력한다.
4. find /boot/grub/stage1를 입력하여 루트 파티션이 설치된 상황을 알아본다. 나의 컴퓨터에서는 (hd0, 3)이 리턴 되고 있다.
5. root (hd0, 3)
6. 다음 setup(hd0, 3)를 입력하여 부트로더를 MBR이 아닌 Linux 루트 파티션에 재설치한다.
7. quit
8. shutdown -r now 재부팅...