OPTi 82C933 Sound Card In Linux !

OPTi 933 chip을 사용한 사운드 카드는 대체로 저가형에 속하지만
윈도우95 등에서는 다른 하드웨어의 성능만 좀 받쳐주면 높은 가격대비 성능을 보여준다!
하지만 많은 사블 호환 카드들과 마찬가지로 linux에서(또는 윈도우 이외의 환경에서) 문제가 있다.

OPTi 933 chip은 OPTi 931 chip과 거의 동일하다고 생각된다.
만약 kernel 2.0.36 이나 그 이후 버젼 ( 2.2.0 포함)을 사용하고
커널이 modular sound kernel을 지원한다면(2.0.대 버젼의 경우 레드햇이 지원
하며 2.1이나 2.2대 버젼에서는 기본적으로 지원 됨) 소리를 들을 수있다.
MP3 와 AU,Wav, Midi등의 모든 포맷을 지원한다 !
필요로 하는 정보는 다음의 링크들에서 구할 수 있을 것이다.
Drees's OPTi931 Mini How-to
using OPTi931in Linux Page
Isa PNP tools page
Joshua Yelon's OPTi931 Page
OPTi931 setting page
DejaNew search engine (Go and Search for!)

그리고 다음은 나의 linux 설정이다!
/etc/isapnp.conf
/etc/conf.modules

이 설정만으로 별도의 프로그램은 필요없이 소리를 들을수 있었다 .

RedHat에 들어있는 sndconfig를 사용하면 안된다 !
이 방법을 따라서 해보면 된다.
'ISAPNP tools' package를 설치한 후, pnpdump > /etc/isapnp.conf 를 실행한다.
이 프로그램은 ISA PnP device 의 정보를 추출하며 출력물을 파이프로 만들어 낸다.
그 다음 출력물을 편집한다(출력물은 보통 /etc/isapnp.conf와 같이 출력된다)
이는 자신의 시스템에 가장 잘 맞게 고치는 것이다.
82C931칩에서 속임수(!)는 Card Selection Number (CSN)라는 것으로
다음의 설정들을 수행하기 전에 제거되어야 하는 것이다.
ISAPNP규약에서 보통 하드웨어들은 PNP기능 수행을 위해 장치를 고립(isolate)시킨 후
장치 설정을 할당한다.
할당이 끝나면 다시 장치를 풀어줘야 하는데 CSN이 이 기능을 하는 것이다.
이것은 isapnp.conf file의 마지막줄에 다음과 같이 간단히 써 주면 된다:

(CSN n (LD 0 (REG 2 (POKE 4))))

여기서 n은 card의 CSN이며, pnpdump의 출력에서 주어진다.
이들 설정을 끝낸 후, /etc/rc.d/rc.sysinit (RedHat Linux의 경우)을 점검하라.
isapnp 초기화 스크립트 행이 있어야 한다.

그 다음, 내것와 같은 /etc/modules.conf 파일을 만들면 된다.

그 다음으로 리부팅을 수행하라.
'dmesg'명령을 이용해 부트 메시지를 점검하라.
에러 메시지가 있거나 사운드 카드가 설정되지 않으면
'ad1848_mixer_reroute' file이 있는지를 확인해 본다.
당신의 컴에 이 파일이 없다면 다음의
ad1848_mixer_reroute.c 파일을 받아 다음과 같이 컴파일하라.
gcc -o ad1848_mixer_reroute ad1848_mixer_reroute.c
그 다음으로 sound service 를 다시 한번 시작해 보라.
/etc/rc.d/init.d/start sound
 

cat /dev/sndstat 명령을 수행하면 현재의 sound device의 설정 상태를 점검한다.

이렇게 해서도 안되는 경우, 위에 링크된 참조 페이지를 찾으면 opti sound card를
Window Sound System 이나 Soundblaster pro 모드로 초기화를 해주는
간단한 C 소스를 구할 수 있다.
이 프로그램을 ad1848_mixer_reroute.c와 같은 방법으로 컴파일한 다음
각 장치별로 하드웨어 설정을 해주면 된다.
이 명령은 isapnp 명령을 수행한 다음에 수행되도록 해주면 된다.

Linux kernel 2.2에 포함된 이 문서 를 다운받아서 참조하라.