System Admin

본문 바로가기
사이트 내 전체검색


RedHat Linux >> System Administration for Redhat Linux
[목차]
제4장 사운드카드 설정

    1. 커널 사운드 드라이버 이용하기


리눅스에서 사운드카드를 설정하려면 사운드 카드에 맞는 사운드 카드 드라이버를 설치해야 하는데 가장 기본적으로 사용할 수 있는 드라이버는 커널에 포함된 사운드 카드 드라이버입니다. 이를 바탕으로 사운드 카드를 설정할 때 사용하는 sndconfig명령에 대해서 살펴보겠습니다.

가. sndconfig 명령을 사용하기 전에

sndconfig는 리눅스 커널에 포함된 사운드 카드 드라이버를 기본으로 사운드 카드를 설정할 때 사용하는 프로그램입니다. sndconfig 명령을 실행하기 전에 자신의 시스템에 적재되어 있는 모듈을 lsmod 명령을 사용해 확인해 본 후, 혹시나 sound라는 단어가 들어간 모듈이 적재되어 있다면 rmmod 명령어를 사용해서 메모리에서 삭제하도록 합니다.

# lsmod
modulesizeused by
awe_wave1578040(unused)
sb336200
uart40159680[sb]
soundlow3000[awe_wave sb uart401]
soundcore23727[sb sound]

# rmmod sb
# rmmod awe_wave
# rmmod uart401
# rmmod sound
# rmmod soundlow
# rmmod soundcore
# lsmod

위에서 sb라는 모듈부터 rmmod 명령어를 사용해 삭제하고 있습니다. 이는 'used by' 필드를 보면 sb는 공백으로 되어 있습니다. 즉 sb를 사용하는 다른 모듈이 없다는 뜻입니다. 반면, uart401은 'user by' 항목에 sb라고 되어 있습니다. 즉, sb라는 모듈에 의해 uart401이 사용되는 것이죠. 이런 경우에는 sb를 삭제하고 uart401을 삭제해야 합니다.

soundcore를 예로들면 'soundcore -> sound -> sb'와 같은 형식으로 모듈이 사용되는 것을 알 수 있는데 이런 순서를 바탕으로 모듈을 순서대로 메모리에서 삭제하면 됩니다.

참고로, sndconfig 명령으로 설정 가능한 사운드 카드의 목록은 다음과 같습니다.

- 에이서 노트북 사운드

- ad1816(에이서 fx-3d, hp 카약)

- 애드립

- 어드밴스 로직 als-007

- 어드밴스 로직 als-100/110

- 아즈텍 사운드 갤럭시 웨이브라이더 프로 32-3d, 워싱톤 16

- cm8330 사운드 칩(사이릭스 메디아 gx, 보드 일체형)

- 컴팩 데스크프로 xl 사운드

- 크리스탈 cs423x 사운드 칩

- 엔소닉 오디오 pci 1370 (사운드 블러스터 64/128 pci)

- 크리에티브/엔소닉 오디오 pci 1371

- 엔소닉 사운드스케이프

- 엔소닉 사운드스케이프 vivo

- ess688 오디오드라이브

- ess1688 오디오드라이브

- ess1868 오디오드라이브

- 그라비스 울트라사운드

- 그라비스 울트라사운드 맥스

- 그라비스 울트라사운드 프로

- 로지텍 사운드맨 게임즈(sm16 또는 sm 웨이브 아님!)

- 메디아트릭스 오디오트릭스 프로

- 메디아비젼 재즈 16 (프로소닉, 사운드맨 웨이브)

- 모자르트/매드 16 (옵티 82c928)

- 매드 16프로 (옵티 82c929/82c930)

- 미로사운드 pcm12

- opl3-sa2/3/x 사운드 칩

- opl3-sa1 사운드 칩

- 프로 오디오 스펙트럼/스튜디오 16, 로지텍 사운드맨 16

- pss(orchid sw32, cardinal dsp16)

- s3 소닉바이브즈

- 사운드 블라스터

- 사운드 블라스터 프로

- 사운드 블라스터 16

- 사운드 블라스터 awe32/64

- 터틀 비치 멀티사운드 크래식/몬테레이/타히티

- 터틀 비치 멀티사운드 피나클리/피치

- 윈도우 사운드 시스템(ad1848/cs4248/cs4231)

나. sndconfig 실행하기

sndconfig를 실행하려면 한텀과 같은 터미널에서 다음과 같이 입력하고 [enter]키를 누릅니다.

이 sndconfig는 텍스트 환경에서 실행하는 프로그램으로 한글 메시지를 출력하므로 한텀에서 실행해야 제대로 한글을 볼 수 있습니다.

# sndconfig [enter]


sndconfig를 실행하면 위와 같은 화면이 나타납니다. 여기서 '확인'을 누르면 자동으로 시스템에 설치된 사운드 카드를 인식하는 과정을 거치게 됩니다. 여기서 자동으로 사운드 카드를 인식 했다면 다음과 같은 화면이 나타납니다.


 

여기서 sndconfig 가 자동으로 인식한 사운드 카드의 종료가 자신이 사용하는 사운드 카드와 다르더라도 우선은 '확인'을 누릅니다.


리눅스 7.0 이상에서는 /etc/modules.conf로 변경되었습니다. 그러므로, /etc/modules.conf.bak라는 백업파일이 만들어집니다.

리눅스 6.2 이하에서는 /etc/isapnp.conf와 /etc/conf.modules를 사용합니다. 그러므로, 기존에 설정되어 있던 /etc/isapnp.conf 파일과 /etc/conf.modules 파일을 백업한다는 것을 사용자에게 알려주는 메시지가 나올 수 있습니다. 각각의 파일은 /etc/isapnp.conf.bak 과 /etc/conf.modules.bak 파일로 백업됩니다.

여기서 '확인'을 누르면 다음과 같은 화면이 나타납니다.


여기서 '확인'을 누르면 뭐라고 하는지 정확하게 들리지는 않지만 리눅스 커널을 만드는 리누스 토르발즈의 반가운 목소리가 들립니다. 또, 다음으로 미디 음악 테스트를 한번 더 하게 됩니다.

물론, 이 과정은 전 세계 리눅스 사용자들이 흔히 사용하는 유명한 사운드 카드의 경우일 때만 해당되고, 출시 된지 얼마 안 되는 최신 기종의 사운드 카드나 잘 알려지지 않은 카드의 경우에는 다음 그림과 같이 자동으로 인식되지 못하는 경우가 많습니다.


또, 자동으로 인식되었다 하더라도 위 그림과 같이 사운드 카드 테스트에서 사운드가 제대로 연주되지 않는 경우도 많습니다.


위와 같이 어떤 이유에서든 sndconfig 프로그램이 시스템에 설치된 사운드 카드를 자동으로 인식하지 못한다면 다음과 같은 화면이 나타납니다.

여기서 자신이 사용하는 사운드 카드의 종류를 찾아 선택한 후 [enter] 키를 누르거나 '확인' 버튼을 누르면 다음과 같은 화면이 나타납니다.

앞의 메시지가 반복해서 나올 것입니다. 소리가 잘 나온다면, 정상적으로 종료 될 것입니다.

또는 pc 통신이나 리눅스 뉴스그룹을 통해 자신이 사용하는 사운드 카드와 같은 것을 사용하는 사람들에게 물어보는 것도 하나의 방법입니다. 참고로, 현재 리눅스에서 사용중인 irq 정보는 /proc/interrupts 라는 파일을 통해 할 수 있습니다. /proc는 리눅스 시스템의 정보를 확인할 수 있는 디렉토리로 다른 디렉토리와는 달리 파일의 크기 같은 것의 의미가 없습니다. /proc/interrupts 파일을 보려면 cat 명령어를 사용해 한텀과 같은 터미널에서 'cat /proc/interrupts'라고 실행하면 됩니다.

 

[root@w3 X11]# cat /proc/interrupts

           CPU0

  0:   10690750          XT-PIC  timer

  1:       1940          XT-PIC  keyboard

  2:          0          XT-PIC  cascade

  8:          1          XT-PIC  rtc

  9:     135418          XT-PIC  eth0

 11:          0          XT-PIC  usb-uhci

 12:      98052          XT-PIC  PS/2 Mouse

 13:          1          XT-PIC  fpu

 14:     548415          XT-PIC  ide0

 15:          2          XT-PIC  ide1

NMI:          0

[root@w3 X11]#

 

위 그림에서 'cat /proc/interrupts' 명령을 실행했는데 가장 좌측 필드가 irq 번호이고 가장 우측 필드가 사용중인 장치명입니다. 만일, sndconfig 명령을 통해서 자신의 사운드 카드를 설정하지 못했다면 조금은 불편하지만 다른 방법을 선택해야 합니다. 그 방법은 리눅스 커널의 사운드 드라이버를 이용하는 것이 아니라 다른 사운드 카드 드라이버를 사용하는 것입니다. 이런 사운드 카드 드라이버를 제공하는 곳으로 alsa와 oss가 있는데 각각의 드라이버를 사용하는 방법에 대해서 다음에서 살펴보겠습니다.

 

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.