Nederlandstalige AWE32/AWE64 HOWTO. Geschreven door Dennis Vink. AWE-32/64 & LINUX REDHAT ------------------------ 1.1 - Aanleiding tot het schrijven van deze HOWTO 1.2 - Korte uitleg over AWE32 en de AWE64 2.1 - Kernelversie 2.2 - Installeren van de AWE32 via isapnptools 2.3 - Nieuwe kernel installeren en configureren van de kernel 2.4 - SFX-Utils & Soundfonts 2.5 - Playmidi 1.4 3.1 - Slotwoord 1.1 - Aanleiding tot het schrijven van deze HOWTO ------------------------------------------------- Ik ben begonnen met deze HOWTO na vele uren werk om mijn AWE-32 PnP aan de gang te krijgen met Linux. De normale audio werkte natuurlijk wel, want het is immers een SB compatible soundcard. Na vele uren kloten met mijn toenmalige kernel 2.0.36 installeerde ik dan toch maar een nieuwe kernel versie, en wel 2.1.132, daar zit immers standaard AWE-32/64 support in. Met 2.0.36 had je wel een patch om die support in de kernel te krijgen maar zoals dat wel vaker gebeurt werkte het weer voor geen meter. In principe had ik genoegen kunnen nemen met alleen de audio (mp3's enzo :)) maar ik vind 't belangrijk dat het systeem compleet werkt en daarbij hoort dus ook de AWE32 Synthesiser (WaveTable). Om een lang verhaal kort te maken heb ik kernel 2.1.132 gedownload en geconfigureerd. Na een tekstfile over de AWE32 gelezen te hebben bleek dat ik de sounddrivers als module moest installeren. (Dat moet omdat het een isa pnp kaart is, en mbv isapnptools moet je de drivers laden voordat enig andere driver voor de soundkaart geladen word maar daarover straks meer). Nadat ik dat had gedaan, en het een en ander in /etc/rc.d/rc.local gezet had, rebootte ik weer. Toen werden de juiste modules geladen, maar nog steeds geen midi. Het bleek dat ik SFXLOAD moest installeren. Een utility die een soundfont in het geheugen van je AWE laad. Dus die heb ik dan ook gedownload, en wel de nieuwste versie. Na compilen, een make install, het downloaden van een soundfont keek ik vol verwachting uit naar het resultaat, maar je raad het al, niks. SFXLOAD zeurde over een library die niet bestond, en de andere keer zei hij weer dat hij niet geshared was. Ook na compilatie als static bleef hij over die foutmel- ding zeuren. Hierna heb ik de updates gelezen van sfxutils, en het bleek dat deze future pas was toegevoegd. Een versie ervoor bevatte deze 'fout' niet. (misschien is het geen bug maar snap ik 't gewoon niet :)) en ik heb een oudere versie gedownload, gecompiled, geinsta- lleerd, en werken. Ik ging dus naar mijn /root/sound/mid directory en typte in : playmid vlieger.mid (een mooi nummer van Andre Hazes :)) maar die gaf weer een foutmelding omdat hij geen playback device kon vinden. Het bleek ook nog eens dat je een vernieuwde versie van playmidi moest installeren. Ik ging naar de site van playmidi, en heb de nieuwste versie (1.4) gedownload. Na compilatie en installatie ging ik weer terug naar mijn /root/sound/mid directory en tikte weer in : playmidi vlieger.mid.... en toen... was er EINDELIJK muziek! En omdat het mij zoveel uren gekost heeft heb ik besloten om deze HOWTO maar te schrijven, waarin precies alle stappen beschreven staan waarmee ik het aan het werk gekregen heb, in duidelijk normaal Nederlands taalgebruik. Veel howto's hebben te weinig duidelijkheid, zijn moeilijk te begrijpen en bevatten meestal zeker geen Nederlands (= Zover de inleiding 1.2 - Korte uitleg over AWE32 en AWE64 -------------------------------------- Deze hou ik echt kort :) Omdat creative labs geen drivers wil schrijven voor Linux is er voor de linux gebruikers met een AWE nauwelijks verschil tussen een AWE32 en een AWE64. Hierdoor is de installatie ook een stuk moeilijker. 2.1 - Kernelversie ------------------ Ik heb m'n AWE32 aan de gang gekregen met kernel 2.1.132 Je bent natuurlijk vrij een andere kernel te installeren, maar in iedergeval werkt 2.1.132 goed met de AWE (en al me overige drivers die in 2.0.36 goed werkte, deden het met 2.1.132 ook goed) Je kunt voor deze kernel kijken op ftp://ftp.crc.ca/mirrors/by-site/ftp.redhat.com/redhat/ of kijk op http://uk.linux.org bij archive sites. 2.2 - Installeren van de AWE32 via isapnptools ---------------------------------------------- Er wordt aangenomen dat je een AWE-32 of AWE-64 Plug & Play hebt, omdat er bijna geen AWE kaarten zijn die niet PnP zijn. (Althans ik ken ze niet) Mijn /etc/isapnp.conf ziet er als volgt uit : ----------------------------[ begin ]---------------------------------------------------- (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # AUDIO (CONFIGURE CTL0042/149467 (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) )) # WaveTable (CONFIGURE CTL0042/149467 (LD 3 (IO 0 (BASE 0x0620)) (IO 1 (BASE 0x0A20)) (IO 2 (BASE 0x0E20)) (ACT Y) )) (WAITFORKEY) ----------------------------[ einde ]---------------------------------------------------- Hierbij zijn de gameport en de ide niet geconfigureerd, maar da's ook niet echt nodig. Mocht je dat echt willen tik je in : pnpdump > /etc/isapnp.conf en edit je dit bestand. Alle devices staan uitgecomment dus let goed op wat je doet. Bij de plug en play kaarten wordt bij 'WaveTable' alleen (IO 0 (BASE 0x0620)) gevonden! Echter er zijn er 3 nodig. Bij mij zijn dat : (IO 0 (BASE 0x0620)) (IO 1 (BASE 0x0A20)) (IO 2 (BASE 0x0E20)) maar dat stond ook al in mijn isapnp.conf :-) De bovenstaande waardes kloppen meestal, maar het kan afwijken. Controleer dit! Je hoeft de isapnptools niet toe te voegen aan de 'opstart-scripts' zoals /etc/rc.d/rc.local want bij kernel 2.1.132 wordt deze automatisch geladen. Mocht dat niet het geval zijn kun je aan /etc/rc.d/rc.local toevoegen : ----------------------------[ begin ]---------------------------------------------------- if [ -x /etc/rc.d/init.d/isapnp ] then /etc/rc.d/init.d/isapnp start fi ----------------------------[ einde ]---------------------------------------------------- en maak een nieuw bestand in /etc/rc.d/isapnp met de inhoud : ----------------------------[ begin ]---------------------------------------------------- #! /bin/sh # /etc/rc.d/init.d/isapnp: configure Plug and Play boards test -x /sbin/isapnp || exit 0 /sbin/isapnp /etc/isapnp.conf exit 0 ----------------------------[ einde ]---------------------------------------------------- maar waarschijnlijk is het niet eens nodig :) Bij het booten wordt vanaf nu de AWE-32 ISA kaart geconfigureerd. Dan begint het saaie werkt... het configureren en opnieuw 'bakken' (compileren) van de kernel. 2.3 - Nieuwe kernel installeren en configureren van de kernel ------------------------------------------------------------- Als je al een goeie kernel hebt die AWE ondersteund of gewoon geen nieuwe kernel wil installeren kun je sectie A en B overslaan. A. Nieuwe kernel unzippen ------------------------- Als je de kernel gedownload hebt (ik neem aan 2.1.132) verplaats je deze naar /usr/src/ Voorbeeld : Je hebt kernel 2.1.132 gedownload en opgeslagen in /root/ Tik in : # cd /usr/src # mv /root/linux-2.1.132.tar.gz . Als er in de /usr/src directory een linux of een linux-2.x.xx directory bestaat (2.x.xx is de kernelversie) wis deze dan. bv : rm -rf linux of rm -rf linux-2.0.34 Nu gaan we de nieuwe kernel unzippen... # tar -zvxf linux-2.1.132.tar.gz Als ie klaar is verschijnt er een nieuwe directory 'linux' Ga deze directory in en tik in : # make mrproper # make menuconfig Nu verschijnt er een menu waar je diverse dingen kunt instellen, en komen we bij sectie B. B. Basisconfiguratie van de kernel ---------------------------------- De kernel die je nu bewerkt is nog volledig 'standaard'. Je dient diverse instellingen te doen nagelang wat er in en aan je computer zit. Bij de meeste opties kun je wel help opvragen. Zet geen dingen aan waarvan je niet weet wat het is of doet! Als je denkt daarmee klaar te zijn kun je naar sectie C. Als je nog nooit eerder een kernel hebt gebakken, raad ik je aan om de Kernel-HOWTO te lezen in /usr/doc/HOWTO/ Configureer nog niet het geluid (zie sectie C :)) C. Soundconfiguratie van de kernel & installeren van de nieuwe kernel --------------------------------------------------------------------- In het menu 'sound' zie je 'Sound Card Support'. Deze kun je aanzetten door op spatie te drukken. Een leeg vakje betekend dat het niet geinstalleerd is, een 'M' betekent dat het als module is geinstalleerd en een '*' betekent dat het in de kernel wordt opgenomen. Een module wordt naderhand pas geladen. Installeer Sound Card Support als 'M' (module). Daarna krijg je een hoop andere opties, maar er zijn er slechts een paar van belang. Installeer '100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support' als 'M' module evenals de 'Generic OPL2/OPL3 FM synthesizer support' en de 'FM synthesizer (YM3812/OPL-3) support'. Installeer ook 'OSS sound modules' als 'M' (module). 'Additional low level sound drivers' op 'y' of '*'. en AWE32 synth als 'M' (module). Druk nu steeds op 'EXIT' totdat je de mogelijkheid krijgt de veranderingen op te slaan. Sla de veranderingen op en je komt weer terug op de linux prompt. Nu gaan we de kernel bakken, een ander wordt voor compileren. Tik in : # make dep # make clean # make zImage Dit duurt een tijdje... # make modules # make modules_install # cd /usr/src/linux/arch/i386/boot # cp zImage /boot # cd /boot Nu gaan we zImage een goeie naam geven. (zImage is je gecompilede kernel) # mv zImage 2.1.132 Dan gaan we de lilo boot manager aanpassen (want we willen zometeen booten met de nieuwe kernel). # cd /etc # pico lilo.conf Hier zou bijvoorbeeld in kunnen staan : boot=/dev/hda map=/boot/map install=/boot/boot.b prompt linear timeout=50 image=/boot/2.0.35 label=linux root=/dev/hda1 read-only Om de nieuwe kernel te booten (met behoud tot mogelijkheid van het booten van je ouwe kernel) zou je dit kunnen veranderen in : boot=/dev/hda map=/boot/map install=/boot/boot.b prompt linear timeout=50 image=/boot/2.1.132 label=linux root=/dev/hda1 read-only image=/boot/2.0.35 label=2.0.35 root=/dev/hda1 read-only Edit lilo.conf en sla 'm op met CTRL-O. Je beeindigd lilo met CTRL-X. Dan tik je in : # lilo Er komt zoiets te staan als : Added linux Added 2.0.35 [root@localhost etc]# Dit betekend dat je klaar bent voor een reboot :) Reboot de computer en tik bij lilo boot in 'linux' Als het goed is boot je kernel normaal. Let op evt. foutmeldingen bij het booten. Mocht er bij het booten iets fout gaan (kernel panic) reboot dan opnieuw en tik bij lilo boot 2.0.35 in (of de label die jij aan je oude kernel gegeven hebt in /etc/lilo.conf) Als alles wel goed gegaan is kun je verder :) Log weer in als root en ga naar de directory /etc/rc.d en edit het bestand rc.local Voeg daaraan toe : # sound drivers modprobe sound insmod uart401 insmod sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 insmod awe_wave sfxload /usr/synthgm.sbk De waardes van je soundblaster (io=0x220, etc.) kunnen verschillen. Waarschijnlijk is dat niet het geval maar het zou zo kunnen wezen. Controleer het voor de zekerheid. Vertrouwen is goed, controle is beter. De onderste regel zie je 'sfxload /usr/synthgm.sbk' SFXLoad is een programma om je AWE te voorzien van een soundfont. Dat brengt ons bij 2.4 2.4 - SFX-Utils & Soundfonts ---------------------------- AweSFX kun je downloaden op : http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/index.html Je kunt de nieuwste versie proberen maar deze werkte niet bij mij! Ik heb de sources van versie 0.4.2 gedownload. (awesfx-0.4.2.tar.gz) Ik raad je aan hetzelfde te doen. Unzip deze weer net zoals je met de kernel gedaan hebt. Voorbeeld, je hebt awesfx-0.4.2.tar.gz gedownload en neergezet in /root/ Je tikt in : # tar -zvxf awesfx-0.4.2.tar.gz De directory awesfx-0.4.2 wordt gemaakt met daarin de sources. tik in : # cd awesfx-0.4.2.tar.gz Tik in : # xmkmf # make Makefiles # make all # make install # cp sfxload /bin Nu heb je nog een soundfont nodig voor je AWE. Je kunt het proberen op het volgende adres : http://members.xoom.com/~yar/synthgm.sbk.gz maar ik betwijfel of die link nog geldig is. Toen ik 't probeerde lukte het in iedergeval niet. Mocht je het wel lukken kopieer dit bestand dan naar /usr (cp synthgm.sbk.gz /usr) en tik in : # cd /usr # gunzip synthgm.sbk Mocht je 'm niet kunnen downloaden vanaf die site, kun je 'm altijd wel ergens vinden op het www of je een windows machine hebt met de AWE drivers geinstaleerd staat hij daar ook op. Vinden doe je 'm altijd wel. Nu is het weer tijd om te rebooten... Start weer op in Linux en kijk voor evt. foutmeldingen. Als het goed is komen die niet en worden de sounddrivers en de soundfont nu geladen. 2.5 - Playmidi 1.4 ------------------ Omdat bij Linux RedHat 5.1 playmidi 1.3 standaard was geinstalleerd moest ik updaten naar versie 1.4 voor AWE support. Playmidi 1.4 kun je vinden op de playmidi site : http://playmidi.openprojects.net Hij is eenvoudig te compileren en te installeren. Als je nu nog niet weet hoe je een file moet 'unzippen' leer je 't nooit meer. Je unzipped 'm (tar -zvxf playmidi-2.4.tar.gz) en gaat naar de directory die is aangemaakt. Daar lees je README of INSTALL, en volgt de instructies. Als het goed is dien je het volgende in te tikken : # ./configure # make # make install En dan... DAN is je AWE geinstalleerd. Zoek een midifile op of download 'm ergens en ga naar de directory waar die midi file zich bevind. Stel dat de midi file 'vlieger.mid' heet, en bevind zich in de directory /root/sound/mid Je tikt in : # cd /root/sound/mid # playmidi vlieger.mid en enjoy :) 3.1 - Slotwoord --------------- Hiermee zijn we aan het einde gekomen van de AWE-32/64 HOWTO. Deze HOWTO is een verdui- delijking en samenvoeging van verschillende HOWTO's, gecombineerd met mijn beetje kennis van linux en duidelijk Nederlands taalgebruik. Mocht je er toch niet uitkomen kun je me mailen op mad@madmadness.demon.nl (ook als je er wel uitkomt vind ik 't leuk om wat te horen :)) Groeten aan : Camamberius Kaasjongen, DeaL, PHiLO, Friek en de rest :)