SuSE Support-Datenbank

Titel: Sound: PnP-Soundkarte konfigurieren

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel
English
---

Sound: PnP-Soundkarte konfigurieren

Bezieht sich auf

SuSE Linux: Versionen ab 5.1
Kernel: Versionen ab 2.0.32

Konfiguration einer ISA-PnP Soundkarte unter S.u.S.E. Linux

Allgemeines :

Eine Soundkarte unter Linux zu betreiben ist kein Zauberkunststück. Wenn es zu Schwierigkeiten kommt, so hängt das meistens mit einer der folgenden Ursachen zusammen :

Man unterscheidet bei Soundkarten wie bei allen anderen Einbaukarten im PC zwischen ISA-Karten mit fester (meist gejumperter) Konfiguration, ISA-PnP Karten (das ist der Grossteil der verfügbaren Soundkarten), PCI-Karten, Vesa Local Bus- und EISA-Karten. Zusätzlich gibt es manchmal OnBoard-Typen dieser Geräte. Diese hängen aber wie Ihre Steckkarten-Kollegen am entsprechenden Bus, ihre Konfiguration unterscheidet sich normalerweise nicht von ihren Steckkarten-Kollegen. Es gibt Karten, die sowohl als ISA-PnP-Karten als auch als ISA-Karten mit festen Werten betrieben werden können.

Vesa Local Bus- und EISA-Soundkarten sind sehr selten, PCI-Soundkarten kommen gerade auf. Alle drei Typen sind von frei verfügbaren Treibern kaum unterstützt und sollen deshalb hier ausgeklammert werden. Es gibt evtl. die Chance, zumindest einige PCI-Karten unter Linux mit dem (kommerziellen) Treiber von 4front zu betreiben. Hierzu weiter unten mehr. Der Unterschied zwischen ISA-PnP-Karten und "normalen" ISA-Karten liegt - wie beschrieben - in der Art, wie die Konfigurationsparameter festgelegt werden. Dies impliziert, daß Treiber für ISA-PnP-Karten zwingend als Module übersetzt werden müssen. Natürlich kann der Treiber für "normale" ISA-Karten auch als Modul übersetzt werden. Um eine einheitliche Beschreibung zu ermöglichen, soll deshalb nur diese Möglichkeit erläutert werden. Zunächst wird das generelle Vorgehen, wie es für alle ISA-PnP-Karten gültig ist, geschildert (Für non-PnP-Karten ersetzen Sie die Festlegung der Parameter mittels pnpdump und isapnp durch andere Methoden : auf der Karte nachschauen, Dokumentation der Karte, Hardwareerkennung von Windows 95, der Händler, ...). Einzelne Punkte werden am Beispiel der sehr verbreiteten Creative SB AWE64 PnP erläutert. Bei Supportanfragen zur Konfiguration Ihrer Soundkarte beziehen Sie sich bitte auf den Unterpunkt der folgenden Beschreibung, bei dem zuerst Schwierigkeiten aufgetreten sind.

Hier ist das "Kochrezept" :

  1. Installieren Sie die Pakete isapnp (Serie ap) und lx_suse (Serie d), falls noch nicht geschehen.

  2. Konfigurieren Sie Ihre ISA-PnP-Karte wie im Artikel ISA-PnP: Konfiguration einer ISA-PnP Karte beschrieben oder bringen Sie im Falle älterer ISA-Karten die Parameter der Karte in Erfahrung.

    Einige Details der im genannten Artikel aufgeführten Datei isapnp.conf (einer AWE64) sollen hier erläutert werden :

    Achtung : Diese Werte können Sie nicht ohne Weiteres übernehmen !

    Wie man sieht, ist diese Zuordnung der Datei /etc/isapnp.conf im genannten Artikel nicht ohne weiteres zu entnehmen. Jedoch sollten sehr ähnliche Zuordnungen auch bei den meisten Soundblaster-kompatiblen Karten zu finden sein, sodaß obige Zuordnung als Beispiel dienen mag. Ansonsten muss man etwas experimentieren, bis man die richtige Zuordnung getroffen hat.

    Die Ausgabe, die pnpdump für Ihre AWE64 PnP liefert, wird für das logische Gerät des Wavetables (normalerweise LD2) in vielen Fällen von dem Beispiel im Artikel ISA-PnP: Konfiguration einer ISA-PnP Karte abweichen. Dies geht auf einen Fehler der AWE64 zurück. Details finden Sie im Artikel Sound: pnpdump und AWE64 der Supportdatenbank.

  3. Wechseln Sie in das Verzeichnis /usr/src/linux/. Dieses enthält nach der Installation von lx_suse die von S.u.S.E. aufbereiteten Quellen des Linux-Kernels.

  4. Rufen Sie den Befehl make menuconfig auf. Details zur Konfiguration des Kernels finden Sie im Handbuch.

  5. Aktivieren Sie Die Soundunterstützung als Modul.

  6. Wählen Sie den zu Ihrer Soundkarte passenden Treiber aus. Viele Karten lassen sich mit dem Soundblaster-Treiber betreiben (Option Sound Blaster (SB, SBPro, SB16, clones) support). Aktivieren Sie die Option /dev/audio and /dev/dsp support. Zusätzlich werden oft die Optionen MIDI interface support sowie Generic OPL2/OPL3 FM synthesizer support bzw. FM synthesizer (YM3812/OPL-3) support benötigt. Einige Treiber beinhalten bereits eine eigene Unterstützung für den MPU401 (z.B. der Soundblaster-Treiber). In diesem Fall darf die Option MPU-401 support (NOT for SB16) nicht verwendet werden. Normalerweise müssen Sie nun einige Parameter für den Soundtreiber wie z.B. den IRQ angeben. Verwenden Sie hierbei bitte exakt die Werte, die Sie in der Datei /etc/isapnp.conf für Ihre Karte ausgewählt haben oder die Sie im Falle einer non-ISA-PnP-Karte für Ihr Gerät in Erfahrung gebracht haben. Aktivieren Sie ggf. auch noch spezielle Eigenschaften Ihrer Soundkarte (z.B. AWE32 Synthesizer).

    Eine generelle Regel für die auszuwählenden Optionen gibt es nicht. Hier sind jedoch die Optionen, wie sie in einem S.u.S.E.-Kernel der Serie 2.0.33 für eine Creative SB AWE64 PnP ausgewählt werden müssen. Hierbei wurden die Ressourcen verwendet, wie sie in der isapnp.conf im Artikel Konfiguration einer ISA-PnP Karte unter S.u.S.E. Linux ausgewählt wurden.

    <M> Sound card support
    
        Old configuration script  (For: SM Wave, PSS & AudioTrix Pro) -->
    
    [ ] ProAudioSpectrum 16 support
    
    [*] Sound Blaster (SB, SBPro, SB16, clones) support
    
    [*] Generic OPL2/OPL3 FM synthesizer support
    
    [ ] Gravis Ultrasound support
    
    [ ] MPU-401 support (NOT for SB16)
    
    
    [ Einige nicht aktivierte Einträge geloescht ]
    
    
    [ ] Support for Crystal CS4232 based (PnP) cards
    
    [ ] Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers
    
    [*] /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 o
    
    (330) MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of
    
    (5) SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16
    
    (65536) Audio DMA buffer size 4096, 16384, 32768 or 65536
    
    [*] Additional low level drivers
    
    [ ] ACI mixer (miroPCM12)
    
    [*] AWE32 synth
    
    Folgende Punkte sind bemerkenswert : Der MPU-401 wurde nicht explizit angewählt. Der Grund ist, daß der SB16- Treiber einen eigenen Treiber für den MPU401 enthält. Entgegen dem Kommentar im Konfigurationsmenu wurde für den SB MPU-401 IRQ nicht -1 angegeben, sondern 5. Dies scheint für einige Versionen des AWE64 sowie der auf dem Vibra-Chip basierenden SB16 notwendig zu sein.

  7. Übersetzen Sie den Kernel und die Module. Hierbei müssen Sie darauf achten, daß der Kernel mit Modulunterstützung konfiguriert wurde. Installieren Sie den übersetzten Kernel als Bootkernel und rebooten Sie den Rechner. Wenn Sie sicher sind, daß die verwendeten Kernelsourcen zum aktuell laufenden Kernel passen (selbe Version) und dieser Kernel bereits mit Modulunterstützung für Soundkarten übersetzt wurde, so reicht es aus, die Module neu zu übersetzen und zu installieren. Dies ist insbesondere dann der Fall, wenn Sie einen Standard-Kernel der S.u.S.E. Distribution verwenden im Zusammenhang mit den Kernelsourcen des Paketes lx_suse. Sie können mit dem Befehl
    uname -a
    
    feststellen, welchen Kernel Sie aktuell gebootet haben (U"bersetzungszeitpunkt, Version, . . . ).

  8. Vergessen Sie nach dem Übersetzen der Module (make modules) nicht, diese zu installierenn (make modules_install). Bitte beachten Sie, daß bei der Installation der Module evtl. bereits vorhandene Module in /lib/modules/[KernelVersion] überschrieben werden. Achten Sie also darauf, den ganzen Kernel entsprechend Ihren Gegebenheiten zu konfigurieren, nicht bloss das Sound-Modul.

    Es reicht auch aus, nur das übersetzte Soundmodul aus dem entsprechenden Verzeichnis in das Modulverzeichnis zu kopieren, z.B. :

    cp /usr/src/linux/drivers/sound/sound.o /lib/modules/2.0.33/misc/
    

  9. Entfernen Sie ein ggf. bereits geladenes älteres Soundmodul aus dem Kernel :
    rmmod sound
    
    und laden Sie das neu übersetzte Modul :
    modprobe sound
    
    bzw.
    insmod sound
    
    Dieser Befehl sollte ohne Fehlermeldungen zurückkommen, sonst haben Sie wahrscheinlich in den vorangegangenen Schritten einen Fehler gemacht.

  10. Der Sound sollte jetzt funktionieren. Weiter unten werden Möglichkeiten beschrieben, dies zu testen.

Testen, ob alles geklappt hat :

Sie haben nun alle Schritte befolgt und wollen testen, ob Sie nun auch wirklich Sound erzeugen können. Geben Sie hierfür (nach dem Laden des Sound-Moduls) den folgenden Befehl ein :
cat /dev/sndstat
Dieser sollte (im Falle der AWE64) eine Ausgabe ähnlich der folgenden liefern :
[...]

Installed drivers:
Type 1: OPL-2/OPL-3 FM
Type 2: Sound Blaster
Type 7: SB MPU-401

Card config:
Sound Blaster at 0x220 irq 5 drq 1,5
SB MPU-401 at 0x330 irq 5 drq 0
OPL-2/OPL-3 FM at 0x388 drq 0

Audio devices:
0: Sound Blaster 16 (4.16)

Synth devices:
0: Yamaha OPL-3
1: AWE32-0.4.2c (RAM8192k)

Midi devices:
0: Sound Blaster 16

Timers:
0: System clock

Mixers:
0: Sound Blaster
1: AWE32 Equalizer
Insbesondere darf keiner der unter Card config genannten Treiber in Klammern stehen. Ist dies der Fall, so wurde die (in den Kernel einkompilierte) Funktionalität auf der Karte nicht erkannt.

Wenn Sie mit diesem Befehl eine Ausgabe wie die genannte erzielen, so können Sie z.B. versuchen, eine Audio-Datei abzuspielen :

cat song.au > /dev/audio
cat song.wav > /dev/dsp
tracker song.mod
Midi-Files können Sie z.B. mit dem KDE-Programm kmid sehr bequem abspielen, wenn Ihre Karte diese Funktionalität unterstützt.

Wenn cat /dev/sndstat die gewünschte Ausgabe liefert und cat mysong.au > /dev/audio ohne Fehlermeldung zurueckkommt, Sie aber immer noch nichts hören, so versuchen Sie einmal, z.B. das Programm xmix zu starten. Evtl. ist einfach die Lautstärke nicht richtig eingestellt.

OSS :

Wenn Sie Schwierigkeiten haben, Ihre Soundkarte unter Linux zum "Tönen" zu bewegen, so bietet sich evtl. die Verwendung des (kommerziellen) Soundsystems OSS von 4front an. Viele moderne Soundkarten können unter Linux ausschliesslich mit diesem Treiber bedient werden. Auch umgeht man die Probleme mit ISA-PnP Soundkarten, da deren Initialisierung von OSS übernommen wird. Die volle Funktionalität mancher Soundblaster-"kompatiblen" Karte kommt erst unter OSS zum Tragen. Der neuste Treiber unterstützt auch eine Reihe der verbreiteteren PCI-basierten Soundkarten. Eine Liste aller unterstützter Karten ist unter der URL http://www.opensound.com/osshw.html erhältlich.

Auf Ihrer S.u.S.E. Linux-Distribution ist dieses System bereits in einer älteren freigeschalteten (d.h. kostenlosen und nicht laufzeitbeschränkten) Version enthalten (Serie snd). Eine Installationsanleitung ist hier zu finden : OSS: Soundtreiber von 4front .

Naehere Informationen zu OSS finden Sie auf unserer Web-Seite http://www.suse.de/linux.html oder auf der Seite von 4front http://www.4front-tech.com. Auf der letztgenannten Seite ist auch ein laufzeitbeschraenktes Demo der neuesten Version erhältlich. Einen Lizenzschlüssel können Sie ggf. bei uns erwerben (m Preis von derzeit DM 45) oder direkt von 4front.

---

Siehe auch:

---

Stichwörter: PNP, SOUNDKARTE, SB16, AWE32, AWE64, SOUND, ISAPNP

---

Kategorien: Hardware , Hardware , Sound

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel
English
---

SDB-rb_soundinstall, Copyright SuSE GmbH, Nuremberg, Germany - Version: 03. Jun 1998
Impressum - Zuletzt generiert: 24. Feb 1999 12:48:14 by maddin with sdb_gen 1.00.0