Linux und Soundkarten
Die Konfiguration von Soundkarten unter Linux mit OSS/Linux wird hier vorgestellt.
Vorwort
Im Jahr 1992 hat Hannu Savolainen den ersten Treiber unter Linux für eine Soundkarte geschrieben. Im Laufe der Zeit wurde dieser Treiber für mehrere Soundkarten erweitert. Seit 1996 vertrieb die Firma 4Front Technologies den Treiber, der am Anfang als Voxware bekannt war, zunächst unter dem Namen Unix Sound System (USS) und heute als Open Sound System (OSS/Linux).
Jedoch hat Hannu Savolainen seinen Treiber weiter entwickelt und stellt ihn weiterhin kostenlos zur Verfügung als OSS/Free. Der Treiber OSS/Free unterstützt aber eine Reihe von exotischen Soundkarten nicht. In diesem Fall muß man OSS/Linux einsetzen. Eine direkte Unterstützung für PnP-Karten gibt es ab Kernel-Version 2.2.
Konfiguration einer Soundkarte unter Linux
Zwar ist schon auf vielen Linuxseiten und in vielen Handbüchern die Installation einer Soundkarte erklärt worden. Es scheint aber so, daß dies noch zu wenig wäre. Deshalb auch dieser Beitrag, der besonders für Anfänger gedacht ist.
Die Installation einer Soundkarte kann man in drei Typen unterteilen.
- Konfiguration mit Hilfe des Kernel-Treibers OSS/Free
- Konfiguration mit Hilfe der Soundsoftware von 4Front (OSS/Linux), siehe OSS Soundtreiber von 4Front
- Die Soundkarte im anderen System (z.B. DOS oder OS/2) initialisieren und Linux mit
loadlin
starten
Wir wollen uns auf die Kernel-Variante konzentrieren. Sollte jemand tiefer einsteigen wollen, so sei ihm die Linux-Dokumentation herzlichst empfohlen, die wir am Ende des Artikels zusammengestellt haben.
Voraussetzungen
Überprüfen Sie die Existenz folgender Pakete bzw. installieren Sie sie:
- Kernel-Quellcode
- Paket: isapnp
Parameter ermitteln
Aus der Dokumentation der Soundkarte entnehmen Sie bitte die Soundkarten-Parameter. Sollte Ihre Soundkarte bereits unter einem anderem Betriebssystem funktionieren, so koennen sie alternativ diese auch dort erfragen (unter DOS: autoexec.bat, config.sys; unter Win95/98: Systemsteuerung)
- Kartentyp, Kartenname, wenn möglich der verwendete Chip
- I/O
- IRQ
- DMA-Kanäle
- Weitere Charakteristika, wenn vorhanden
- Bootdiskette erstellen (sicher ist sicher)
Kernel konfigurieren
Für Anfänger empfiehlt sich make xconfig
. Die genauen Parameter (SCSI, Netz, usw.) werden bereits in der Kernel-Anleitung beschrieben.
Hier nur die für uns relevanten Sachen:
Sound card support (CONFIG_SOUND)
"M" (als Modul im Kernel einbinden) wird gewählt, wenn die Soundkarte ab und zu aktiviert wird. Mit "Y" (die Soundkarte wird fest in den Kernel eingebunden) antwortet man, wenn die Soundkarte sehr oft in Einsatz bleiben soll, im diesem Fall muß man ein paar KB belegten Systemspeicher in Kauf nehmen.
Wenn die Soundkarte als Modul definiert wird, so muß sie nach vor Gebrauch initialisiert werden, z.B. mit modprobe sound
.
Nun ist der geeignete Treiber (passend zur Soundkarte) auszuwählen und mit "Y" zu markieren.
Eine Liste unterstützter Soundkarten finden Sie bei uns.
Als nächstes werden noch weitere Einstellungen abgefragt, wie IRQ, DMA, I/O. Ich möchte hier noch mal betonen: Wenn die Soundkarte bereits unter einem anderem Betriebssystem gelaufen ist, so sollte man die bewährten Einstellungen übernehmen und wenn dies nicht der Fall ist, dann müssen Sie die Einstellungen aus der Dokumentation entnehmen. Bei älteren Karten kann man die Einstellungen durch Jumper beeinflussen.
Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB)
Mit "Y" beantworten, wenn Sie einen Soundchip von Yamaha benutzen. In diesem Fall muß auch die FM emulation aktiviert werden (weitere Informationen unten).
/dev/dsp and /dev/audio support (CONFIG_AUDIO)
"Y" wenn die Device Analog/Digital (A/D) und D/A aktiviert werden soll. Es wird empfohlen, diese zu aktivieren.
MIDI interface support (CONFIG_MIDI)
Sollten Sie immer mit "Y" bestätigen, so werden die Devices /dev/midixx, /dev/sequencer und /dev/music aktiviert. Sehr empfohlen auch bei allen MIDI- und MPU401-kompatiblen Geräten.
Kernel neu übersetzen
make dep make clean make bzImage make modules make modules_install make bzlilo
Bitte nicht vergessen, in die Datei /etc/lilo.conf die zusätzliche Bootoption old
einzutragen.
Die Konfigurations-Datei für ISA-PnP bearbeiten
Die Konfigurations-Datei für ISA-PnP-Karten heißt /etc/isapnp.conf. Wenn schon eine PnP-Karte konfiguriert wurde, so sollten Sie eine Kopie erzeugen.
cp /etc/isapnp.conf /etc/isapnp.conf_heutigesDatum
Die Ausgaben des Programms pnpdump
in die Datei isapnp.conf umleiten.
/sbin/pnpdump > /etc/isapnp.conf
Die Datei /etc/isapnp.conf editieren, was im Klartext Entfernen von Komentarzeichen "#" vor einigen Einträgen bedeutet. Die Auswahl des Texteditors ist selbstverständlich frei. Hier wird joe
vorgeschlagen. Weiter unten finden Sie ein Beispiel von /etc/isapnp.conf für Soundblaster ViBRA 16C PnP. Sie sollten unsere Konfigurationsmöglichkeit übernehmen und die Kommentarzeichen "#" in diesem Abschnitt entfernen.