리눅스에서 AWE64IE PnP 를 사용하자. 0. 서문. AWE64IE 를 구입하고 나서, 미디음을 듣기 위하여, 커널컴파일을 몇십차례 하면서 슬퍼하기를 몇달. 드디어, AWE64IE 에서 Wavetavle synthesis 를 이용 하여 MIDI 를 들으니 기쁘기 이루말할수가 없군요. 지금 이글은, 저와 같이 AWE64IE 를 사용하면서, MIDI 를 듣지 못하고... 헤매시는 모든분들에게 바칩니다. :-) 1. 준비물 여러분은 다음과 같은 것을 준비할 필요가 있습니다. 1. 커널 2.0.30 소스 (/usr/src/linux 에 있습니다.) -- 참고로 알짜레드헷4.2.5 의 커널버젼은 2.0.30 입니다. 2. http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/index.html 에서 AWE 32 드라이버와 유틸을 받습니다. ( awedrv-0.4.2-pre1.tgz awesfx-0.4.2-pre1.tgz awemidi-0.4.2-pre1.tgz 를 받습니다.) 3. ftp://ftp.redhat.com/pub/utils/isapnptools-1.8.tgz 를 받습니다. 2. AWE32 드라이버로 커널을 패치합시다. ( 준비물은 홈디렉토리에 있는것으로 가정합니다. root 로 작업하는 것으로 가정합니다. ) 1. cd /usr/src 2. tar xvzf ~/awedrv-0.4.2-pre1.tgz 3. tar xvzf ~/awesfx-0.4.2-pre1.tgz 4. tar xvzf ~/awemidi-0.4.2-pre1.tgz 5. tar xvzf ~/isapnptools-1.8.tgz ( 1 - 5 번까지의 과정은 작업을 편하게 하기 위하여서입니다. ) 6. 만약 지금까지 커널을 한번도 컴파일을 한적이 없을 경우 에만 하십시요. make config ; make dep ; make clean 7. cd /usr/src/awedrv-0.4.2-pre1 8. ./install.sh 9. cd /usr/src/linux 10. make xconfig 또는 make config 를 합니다. 커널콘피그 과정인데요. 여기에선 사운드관련부분만 해당되므로, 사운드에 관한 부분만을 언급합니다. 10-1. Sound card support 는 모듈로 설정 10-2. Sound Blaster (SB,SBPro, SB16, clones) support 는 Y 10-3. /dev/dsp and /dev/audio support 는 Y 10-4. MIDI interface support 는 Y 10-5. FM synthesizer (YM3812/OPL-3) support 는 Y I/O base for SB Check from manual of the card 는 220 Sound Blaster IRQ Check from manual of the card 는 5 Sound Blaster DMA 0,1 or 3 은 1 Sound Blaster 16 bit DMA (_REQUIRED_for SB16,Jazz16,...) 는 5 MPU401 I/O base of SB16... the card 는 300 SB MPU401 IRQ (jazz16,SM...)with SB16 은 -1 Audio DMA buffer size 4096, 16384, 32768, 65536 은 65536 Additional low level drivers 는 Y AWE32 synth 는 Y ================== 중요. 중요. 이상으로 설정을 한다음에, make dep ; make clean ; make zlilo ; make modules make modules_install 로 컴파일을 합니다. 여기서 중요한것은 사운드가 모듈로 되어 있으므로, 반드시 make modules ; make modules_install 을 하여야 한다는 것입니다. 11. cd /etc/rc.d/ 를 한다음에, rc.modules 를 다음과 같은 내용 으로 만듭니다. 모듈로 된 부분을, 실행시키는 부분과 다음에 나올 pnp 를 설정하는 부분입니다. 부팅할때, 자동으로 실행이 됩니다. ================= cat /etc/rc.d/rc.modules ========================= #!/bin/sh # initialize PnP devices if [ -x /sbin/isapnp ]; then echo "Configuring PnP devices" /sbin/isapnp /etc/isapnp.conf fi echo "Loading sound module" /sbin/modprobe -a sound ======================================================================= 12. cd /usr/src/isapnptools-1.11 13. make ; make install 14. /sbin 에 pnpdump 와 isapnp 가 설치된것을 확인을 한후, pnpdump > /etc/isapnp.conf 를 합니다. * pnpdump 는 현재 사용가능한 pnp 를 찾아서 isapnp.conf 에 출력을 시켜줍니다. 초기에는 isapnp.conf 의 모든값이 comment (#으로 막아놨다.) 되어있는데 적절하게.. uncomment 하여 활성화시켜줘야 합니다. 이때 주의할 점은, isapnp (v1.11)의 경우 SB32의 wavetable을 제대로 찾지못하는데요. 도스의 pnp툴 (CTCU등)을 이용해서 보면, I/O주소가 620, A20, E20의 세개인데, pnpdump의 출력을 보면, (IO 0 (BASE 0x0620)) 로 하나만 나온 것을 알 수 있습니다. 해결방법은 간단하겠죠? (IO 1 (BASE 0x0A20)) (IO 2 (BASE 0x0E20)) 의 두 줄을 추가하면 됩니다. 그런데, 사실 저 개인적으론 isapnp.conf 내용을 수정하는게 잘 감이 안잡히더군요. 다행히 성공을 하였지만요. :-) 저의 isapnp.conf 내용입니다. (전 pnp 랜카드같은게 없습니다.) 불필요한 내용은 삭제하였습니다. =============== cat /etc/isapnp.conf ============================== # (DEBUG) (READPORT 0x0203) (ISOLATE) (IDENTIFY *) #(VERIFYLD N) (CONFIGURE CTL009d/50680 (LD 0 (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 1)) (DMA 1 (CHANNEL 5)) (IO 0 (BASE 0x0220)) (IO 1 (BASE 0x0330)) (IO 2 (BASE 0x0388)) (ACT Y) )) (CONFIGURE CTL009d/50680 (LD 1 #(IO 0 (BASE 0x0200)) #(IO 0 (BASE 0x0200)) #(ACT Y) )) (CONFIGURE CTL009d/50680 (LD 2 (IO 0 (BASE 0x0620)) (IO 1 (BASE 0x0A20)) (IO 2 (BASE 0x0E20)) #(IO 0 (BASE 0x0620)) (ACT Y) )) (WAITFORKEY) =========================================================== 15. 이제 리부팅을 합니다. 리부팅이 될때, 메시지에 다음과 같은 내용이 있다면 일단은 성공입니다. (dmesg 로 확인하여 볼수있습니다.) AWE32-0.4.2 (RAM512k) 16. 이것으로 끝이 난것이 아닙니다. 이제 sound font 를 로드하여야죠. 16.1. cd /usr/src/awesfx-0.4.0-pre5 16.2. make 16.3. make install 16.4. make all 16.5. make install-all 이라고 합니다. 16.6. 사운드 폰트를 이제 불러옵시다. sfxload -Ix /mnt/dosc/creative/ctsnd/sfbank/synthgm.sbk =============================== 여러분이 가지고 있는 사운드폰트 경로(이건 저의 경로:-) 16.7. 아무메시지가 안뜨면, 성공적으로 사운드 폰트가, 로드된것입니다. 17. 이제 로드된 사운드폰트를 이용하여 미디를 사용합시다. 17.1 cd /usr/src/awemidi-0.4.0-pre4 17.2 make 17.3 make install 17.4 이제.. 가슴을 두근거리며, 미디를 사용합시다. (참고로 엑스용입니다.) drvmidi /경로명/미디파일.mid 이제 여러분앞에.. 미디 플레이가 뜰것입니다. :-) 18. 기타. AWE driver 를 이용한 넷스케잎 미디 플로그인이 있습니다. playmidi에서 awe driver을 이용할 수 있게 한 patch가 있습니다. http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/index.html 에서 위에 있는 내용은 모두 구할수 있습니다. ============================================== 이미 이곳 게시판에 리눅스에서 AWE32사용하기 란 글을 올리신 swiz(박일규) 님의 글을 참조하였습을 밝힙니다. 또한 권순선님 홈페이지(http://www.postech.ac.kr/~cessi)의 사운드 블래스터 16PnP 미니하우트를 참조하였으며, 수많은 han.comp.sys.linux 의 글들이 많은 도움이 되었습니다. 개인적으로 항상 많은 도움을 주는 호준군에게 고마움을 느끼며, MIDI 를 듣게 된것을 자축합니다. urstory, Your Story