Zunächst sollten Sie in Erfahrung bringen, welches Soundkartenmodell Sie besitzen, welchen Chip die Karte benutzt und ob es sich um eine PCI- oder ISA-Karte handelt. FreeBSD unterstützt eine Reihe von PCI- als auch von ISA-Karten. Die Hardware-Notes zählen alle unterstützten Karten und deren Treiber auf.
Um Ihre Soundkarte benutzen zu können, müssen Sie den richtigen Gerätetreiber laden. Sie haben zwei Möglichkeiten, den Treiber zu laden: Am einfachsten ist es, das Modul mit kldload(8) zu laden. Sie können dazu die Kommandozeile verwenden:
#
kldload snd_emu10k1
Alternativ können Sie auch einen Eintrag
in der Datei /boot/loader.conf
erstellen:
Beide Beispiele gelten für eine Creative SoundBlaster®
Live! Soundkarte. Weitere ladbare Soundmodule sind in
der Datei /boot/defaults/loader.conf
aufgeführt. Wenn Sie nicht sicher sind, welchen
Gerätetreiber Sie laden müssen, laden Sie den
Treiber snd_driver
:
#
kldload snd_driver
Der Treiber snd_driver
ist ein
Meta-Treiber, der alle gebräuchlichen Treiber lädt
und die Suche nach dem richtigen Treiber vereinfacht.
Weiterhin können alle Treiber über
/boot/loader.conf
geladen werden.
Wollen Sie feststellen, welcher Treiber für Ihre
Soundkarte vom Metatreiber snd_driver
geladen wurde, sollten Sie sich mit
cat /dev/sndstat
den Inhalt der Datei
/dev/sndstat
ansehen.
Alternativ können Sie die Unterstützung für die Soundkarte direkt in den Kernel einkompilieren. Diese Methode im nächsten Abschnitt beschrieben. Weiteres über den Bau eines Kernels erfahren Sie im Kapitel Kernelkonfiguration.
Zuerst müssen Sie sound(4), den Treiber für das Audio-Framework in die Kernelkonfiguration aufnehmen. Fügen Sie dazu die folgende Zeile in die Kernelkonfigurationsdatei ein:
Als Nächstes müssen Sie den richtigen Treiber in die Kernelkonfiguration einfügen. Den Treiber entnehmen Sie bitte der Liste der unterstützen Soundkarten aus den Hardware-Notes. Zum Beispiel wird die Creative SoundBlaster® Live! Soundkarte vom Treiber snd_emu10k1(4) unterstützt. Für diese Karte verwenden Sie die nachstehende Zeile:
Die richtige Syntax für die Zeile lesen
Sie bitte in der Hilfeseite des entsprechenden
Treibers nach. Die korrekte Syntax für alle
unterstützten Treiber finden Sie außerdem
in der Datei
/usr/src/sys/conf/NOTES
.
Nicht PnP-fähige ISA-Soundkarten benötigen
(wie alle anderen ISA-Karten auch) weiterhin Angaben zu
den Karteneinstellungen (wie IRQ und I/O-Port).
Die Karteneinstellungen tragen
Sie in die Datei /boot/device.hints
ein. Während des Systemstarts liest der
loader(8) diese Datei und reicht die Einstellungen
an den Kernel weiter. Für eine alte Creative
SoundBlaster® 16 ISA-Karte, die sowohl den
snd_sbc(4)- als auch den
snd_sb16
-Treiber
benötigt, fügen Sie folgende Zeilen in die
Kernelkonfigurationsdatei ein:
In die Datei /boot/device.hints
tragen Sie für diese Karte zusätzlich die
folgenden Einstellungen ein:
In diesem Beispiel benutzt die Karte den
I/O-Port 0x220
und den
IRQ 5
.
Die Manualpage sound(4) sowie des jeweiligen
Treibers beschreiben die Syntax der Einträge in der
Datei /boot/device.hints
.
Das Beispiel verwendet die vorgegebenen Werte. Falls Ihre Karteneinstellungen andere Werte vorgeben, müssen Sie die Werte in der Kernelkonfiguration anpassen. Weitere Informationen zu dieser Soundkarte entnehmen Sie bitte der Manualpage snd_sbc(4).
Nachdem Sie den neuen Kernel gestartet oder das erforderliche Modul geladen haben, sollte Ihre Soundkarte in den Systemmeldungen (dmesg(8)) auftauchen. Zum Beispiel:
Den Status der Karte können Sie über
die Datei /dev/sndstat
prüfen:
#
cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz
16384
kld snd_ich (1p/2r/0v channels duplex default)Die Ausgaben können auf Ihrem System anders
aussehen. Wenn das Gerät pcm
nicht erscheint, prüfen Sie bitte Ihre Konfiguration.
Stellen sie sicher, dass Sie den richtigen Treiber
gewählt haben. Abschnitt 8.2.2.1, „Häufige Probleme“
beschreibt häufig auftretende Probleme.
Wenn alles glatt lief, haben Sie nun eine funktionierende Soundkarte. Wenn ein CD-ROM oder DVD-ROM-Laufwerk an Ihrer Soundkarte angeschlossen ist, können Sie jetzt mit cdcontrol(1) eine CD abspielen:
%
cdcontrol -f /dev/acd0 play 1
Es gibt viele Anwendungen, wie
audio/workman
, die
eine bessere Benutzerschnittstelle besitzen. Um sich
MP3-Audiodateien anzuhören, können Sie
eine Anwendung wie audio/mpg123
installieren.
Eine weitere schnelle Möglichkeit die Karte zu
prüfen, ist es, Daten an das Gerät
/dev/dsp
zu senden:
%
cat Datei
> /dev/dsp
Für
können
Sie eine beliebige Datei verwenden. Wenn Sie einige
Geräusche hören, funktioniert die Soundkarte.Datei
Die Gerätedateien /dev/dsp*
werden automatisch erzeugt, wenn sie das erste Mal benötigt
werden. Werden sie nicht verwendet, sind sie hingegen nicht
vorhanden und tauchen daher auch nicht in der Ausgabe von
ls(1) auf.
Die Einstellungen des Mixers können Sie mit dem Kommando mixer(8) verändern. Weiteres lesen Sie bitte in der Hilfeseite mixer(8) nach.
Fehler | Lösung |
---|---|
sb_dspwr(XX) timed out | Der I/O Port ist nicht korrekt angegeben. |
bad irq XX | Der IRQ ist falsch angegeben. Stellen Sie sicher, dass der angegebene IRQ mit dem Sound IRQ übereinstimmt. |
xxx: gus pcm not attached, out of memory | Es ist nicht genug Speicher verfügbar, um das Gerät zu betreiben. |
xxx: can't open /dev/dsp! | Überprüfen Sie mit |
Ein weiterer Fall ist der, dass moderne Graphikkarten oft auch
ihre eigenen Soundtreiber mit sich führen, um
HDMI oder ähnliches zu verwenden. Diese
Audiogeräte werden manchmal vor der eigentlichen, separaten
Soundkarte aufgeführt und dadurch nicht als das
Standardgerät zum Abspielen von Tönen benutzt. Um zu
prüfen, ob das bei Ihnen der Fall ist, führen Sie
dmesg aus und suchen Sie nach der
Zeichenfolge pcm
. Die Ausgabe sieht in etwa so
aus wie folgt:
Hier wurde die Graphikkarte (NVidia
)
vor der Soundkarte (Realtek ALC889
)
aufgeführt. Um die Soundkarte als
Standardabspielgerät einzusetzen, ändern Sie
hw.snd.default_unit
auf die Einheit,
welche für das Abspielen benutzt werden soll, wie
folgt:
#
sysctl hw.snd.default_unit=n
Hier repräsentiert n
die Nummer
der Soundkarte, die verwendet werden soll, in diesem Beispiel
also 4
. Sie können diese
Änderung dauerhaft machen, indem Sie die folgende Zeile
zu der /etc/sysctl.conf
Datei
hinzufügen:
4
Oft sollen mehrere Tonquellen gleichzeitig abgespielt werden, auch wenn beispielsweise esound oder artsd das Audiogerät nicht mit einer anderen Anwendung teilen können.
Unter FreeBSD können mit sysctl(8) virtuelle Tonkanäle eingerichtet werden. Virtuelle Kanäle mischen die Tonquellen im Kernel (so können mehr Kanäle als von der Hardware unterstützt benutzt werden).
Die Anzahl der virtuellen Kanäle können
Sie als Benutzer root
wie folgt
einstellen:
#
sysctl dev.pcm.0.play.vchans=4
#
sysctl dev.pcm.0.rec.vchans=4
#
sysctl hw.snd.maxautovchans=4
Im Beispiel werden vier virtuelle Kanäle
eingerichtet, eine im Normalfall ausreichende Anzahl.
Sowohl dev.pcm.0.play.vchans=4
und
dev.pcm.0.rec.vchans=4
sind die Anzahl
der virtuellen Kanäle des Geräts
pcm0
, die fürs Abspielen und Aufnehmen
verwendet werden und sie können konfiguriert werden, sobald das
Gerät existiert.
hw.snd.maxautovchans
ist die Anzahl der
virtuellen Kanäle, die einem Gerät zugewiesen
werden, wenn es durch kldload(8) eingerichtet
wird. Da das Modul pcm
unabhängig von den Hardware-Treibern geladen werden kann,
gibt hw.snd.maxautovchans
die Anzahl
der virtuellen Kanäle an, die später eingerichtete
Geräte erhalten. Lesen Sie dazu pcm(4) für weitere
Informationen.
Sie können die Anzahl der virtuellen Kanäle nur ändern, wenn das Gerät nicht genutzt wird. Schließen Sie daher zuerst alle Programme (etwa Musikabspielprogramme oder Sound-Daemonen), die auf dieses Gerät zugreifen.
Die korrekte pcm
-Gerätedatei
wird automatisch zugeteilt, wenn ein Programm das Gerät
/dev/dsp0
anfordert.
Die Voreinstellungen des Mixers sind im Treiber
pcm(4) fest kodiert. Es gibt zwar viele Anwendungen
und Dienste, die den Mixer einstellen können
und die eingestellten Werte bei jedem Start wieder
setzen, am einfachsten ist es allerdings, die
Standardwerte für den Mixer
direkt im Treiber einzustellen. Der Mixer kann in
der Datei /boot/device.hints
eingestellt werden:
Die Zeile setzt die Lautstärke des Mixers
beim Laden des Moduls pcm(4) auf den Wert
50
.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.