  Linux Soundblaster AWE64 PnP HOWTO
  Donald V LaDieu (nega@vt.edu) und Frank Bhm (fraboehm@gmx.de)
  v0.2 27. Januar 1997

  Dieses mini-HOWTO erklrt die Installation der Soundblaster AWE 64 PnP
  Karte unter Linux.

  1.  Einleitung

  1.1.  Copyright

  Dieses Dokument ist urheberrechtlich geschtzt. Das Copyright fr die
  englische AWE64 mini-HOWTO, auf der dieses Dokument teilweise basiert,
  liegt bei Donald V LaDieu (nega@vt.edu). Das Copyright fr die
  deutsche Version liegt bei Frank Bhm (fraboehm@gmx.de).

  Das Dokument darf gem der GNU General Public License verbreitet
  werden. Insbesondere bedeutet dieses, da der Text sowohl ber
  elektronische wie auch physikalische Medien ohne die Zahlung von
  Lizenzgebhren verbreitet werden darf, solange dieser Copyright
  Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt
  und ausdrcklich erwnscht. Bei einer Publikation in Papierform ist
  das Deutsche Linux HOWTO Projekt hierber zu zu informieren.

  1.2.  Neue Versionen dieses Dokuments

  Fr die englische Version scheint keine Fortsetzung geplant zu sein.
  Eine deutsche Neuauflage wird es nur geben, wenn der Bedarf besteht.
  Als dieses Dokument geschrieben wurde, war aktuell:

    kernel 2.0.33

    isapnptools 1.13

    awedrv-0.4.2d

  2.  Installation

  Bevor die Karte luft, mssen zwei Hrden genommen werden: PnP und
  Kernel.  Der schnellste Weg besteht darin, die Karte unter Dos zu
  initialisieren und mit Loadlin Linux zu starten. Fr Linux mu dann
  ein Kernel/Modul benutzt werden, der/das Sound mit einer Soundblaster
  Karte untersttzt.

  2.1.  PnP Kofiguration

  Da die Karte nur ber PnP eingestellt werden kann, mu diese Hrde als
  erstes genommen werden. Es gibt mehrere Wege, um hier zum Ziel zu
  kommen.

  In den meisten Fllen wird die Karte nicht nur unter Linux benutzt.
  Die mitgelieferten Treiber knnen die Karte fr DOS und Windows
  initialisieren.  Die Auswahl der richtigen Werte ist unter Umstnden
  nicht ganz trivial. Die meisten Schwierigkeiten entstehen mit PnP,
  weil es theoretisch mglich ist, unter jedem Betriebssystem andere
  Einstellungen zu verwenden, und leider passiert hufig genau das. Ich
  schlage vor, in jedem Betriebssystem die gleichen Werte manuell
  zuzuweisen und zwar in der Reihenfolge Windows, Dos und Linux. Die
  quasi Standardwerte

       IRQ5; DMA1,5; I/O 220,330,388

  haben sich bewhrt. Sie werden von fast jedem Programm als erstes
  vorgeschlagen. Unter Windows automatische Zuweisung deaktivieren und
  neue Werte einstellen. Erst wenn hier keine Konflikte mehr auftauchen,
  weitergehen. Windows beenden und Dos Modus starten (keine Dos-Box!).
  Unter Dos mit CTCM und CTCU die gleichen Werte einstellen. Aufgrund
  einer Eigenheit der SB Karte mssen die von Creative mitgelieferten
  Tools benutzt werden. Nach einem Soft-Reboot mit Ctrl-Alt-Del oder
  Loadlin kann die Karte auch unter Linux mit den gleichen Werten
  benutzt werden. Fr einen schnellen Test, um zu sehen, ob der Karte
  unter Linux Tne zu entlocken sind, ausreichend.

  Die elegantere Methode besteht darin die Karte mit den isapnptools
  direkt unter Linux zu initialisieren. Die isapnptools sind bei den
  meisten Distributionen bereits enthalten und mssen nur noch
  installiert werden. URLs fr Updates sind:

    die Server der Distributionen

    http://www.roestock.demon.co.uk/isapnptools/

  Alles installiert? Dokumentation gelesen? Hier kommt der
  Schnelleinstieg.

    bash$ pnpdump > /tmp/isapnp.conf

     Erzeugt ein Textfile, in dem alle erkannten PnP-Karten mit ihren
     Installationsmglichkeiten aufgefhrt sind.  Die Datei ist zu
     diesem Zeitpunkt noch sinnlos, da alle Werte auskommentiert sind
     und LD 2 nicht von alleine vollstndig erkannt wird.

    $EDITOR /tmp/isapnp.conf

     Mit dem Lieblingseditor seiner Wahl mssen hier die richtigen Werte
     aktiviert werden; es reicht das # zu entfernen.  Die Standardwerte
     sind immer als erstes aufgefhrt. Bei LD 2 mssen noch die beiden
     Eintrge (IO 1 (BASE 0x0a20))  (IO 2 (BASE 0x0e20)) ergnzt werden,
     wenn spter die WaveTable benutzt werden soll. Am Ende einer
     Auswahl mu das # vor (ACT Y) entfernt werden.

    bash$ isapnp /tmp/isapnp.conf

  Meine eigene Konfiguration nach dem Entfernen der meisten Kommentare
  sieht so aus. Die Werte drfen nicht mit Cut&Paste bernommen werden,
  sondern mssen individuell angepat sein.

  # (DEBUG)
   (READPORT 0x020b)
   (ISOLATE)
   (IDENTIFY *)

   # Card
   1: (serial identifier 39 1b cd b7 ee c5 00 8c 0e)
   # ANSI string -->Creative
   SB AWE64 PnP<--

   (CONFIGURE CTL00c5/466466798 (LD 0
   #     ANSI string
   -->Audio<--
   (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 CTL00c5/466466798 (LD 1
   #     ANSI string -->Game<--

   (IO 0 (BASE 0x0200))
   (ACT Y)
   ))

   (CONFIGURE CTL00c5/466466798 (LD 2
  #
   ANSI string -->WaveTable<--
   (IO 0 (BASE 0x0620))  (IO 1 (BASE 0x0a20))
    (IO 2 (BASE 0x0e20))
   (ACT Y)
   ))

   # Returns all cards to the "Wait
   for Key" state
   (WAITFORKEY)

  In diesem Beispiel ist die SB die einzige PnP-Karte im System, Leute
  die mehrere PnP-Karten benutzen, sollten ja keine Schwierigkeiten mehr
  mit den isapnptools haben. Nachdem die Karte mit

       isapnp /tmp/isapnp.conf

  ohne Fehler initialisiert wird, kann die Datei nach /etc verschoben
  werden. Bei den Distributionen, bei denen die isapnptools enthalten
  sind, ist normalerweise eine Mglichkeit vorgesehen, sie beim Booten
  automatisch zu aktivieren. SuSE 5.0 automatisch, wenn /etc/isapnp.conf
  vorhanden ist. Bei DLD 5.3 PnP mit dldadmin aktivieren.

  2.2.  Kernel

  Der Kernel (getestet ab 2.0.29) untersttzt die Soundausgabe mit einer
  SB in 8 und 16-Bit Aufnahme und Wiedergabe und einen Mixer. Nur fr
  besseren Midi-Sound ber den WaveTable mu der Kernel gepatcht werden.
  Der Kernel mu mit den gleichen Werte wie in der /etc/isapnp.conf
  kompiliert werden, meine Konfiguration ist:

  cd /usr/src/linux
  make menuconfig

  <M> Sound card support
  [*] Sound
   Blaster (SB, SBPro, SB16, clones) support
  [*] Generic OPL2/OPL3 FM synthesizer
   support
  [*] /dev/dsp and /dev/audio support
  [*] MIDI interface support
  [*]
   FM synthesizer (YM3812/OPL-3) support
  (220) I/O base for SB Check from manual
   of the card
  (5) Sound Blaster IRQ Check from manual of the card
  (1) Sound
   Blaster DMA 0, 1 or 3
  (5) Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16,
   SMW) 5, 6 or
  (330) MPU401 I/O base of SB16, Jazz 16 and ES1688 Check from manual
   of
  (-1) SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16
  (65536)
   Audio DMA buffer size 4096, 16384, 32768 or 65536

  make dep; make clean; make
   zlilo; make modules; make modules_install;

  Nachdem ein neuer Kernel generiert wurde, kann mit

       cat /dev/sndstat

  getestet werden, ob berhaupt und welche Komponenten erkannt wurden.
  Treten bis hier keine Schwierigkeiten auf, kommt die Krnung, der Ker
  nel kann gepatcht werden, um den WaveTable zu benutzen. Der Patch ist
  von Takashi Iwai und fr die Soundblaster AWE 32 geschrieben.

       http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/#Latest

  Paket installieren, Dokumentation lesen, in das Verzeichnis von awedrv
  wecheln, als root ./install.sh aufrufen, Fragen beantworten. Jetzt ist
  es an der Zeit, einen neuen Kernel/Modul zu generieren. Danach tauchen
  im Soundmen zwei neue Eintrge auf.

  Nach dem Kernelpatch

       [*] Additional low level drivers
       [*] AWE32 synth

  Herzlich Willkommen, der neue Kernel untersttzt jetzt auch den
  WaveTable.  Mit dem Paket awesfx mssen Soundbnke geladen werden und
  mit awemidi kann endlich der Midi-Sound genossen werden. Man beachte
  die Reihenfolge, erst Soundbank initialisieren, dann Midis spielen.
  :-)

  Es lohnt sich auf jeden Fall, die HP von Takashi Iwai zu besuchen, um
  weiterfhrende Links zu finden. Sollten noch Fragen zur Installation
  da sein, oder wollt Ihr Euch nur nett unterhalten, knnt Ihr mir auch
  eine e-mail schicken. Es gibt auch noch ein Leben nach dem Computer.
  :-))

