claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 02/2005   »   Ausgabe bestellen

Sound-Probleme lösen

Hört die Signale

von Andrea Müller


Sound unter Linux gestaltet sich meistens unproblematisch: Es gibt kaum Karten, die moderne Distributionen nicht zum Tönen bringen. Dieser Artikel erklärt, wie Sie vorgehen, wenn es doch einmal hakt.

Eine Sound-Karte oder auch ein Onboard-Soundchip gehört zur Standardausstattung moderner Rechner. Kaum ein Anwender will auf Musikgenuss bei der Arbeit verzichten. Unter Linux müssen Sie das auch nicht: Das moderne ALSA (Advanced Linux Sound Architecture) bringt für nahezu alle Sound-Karten einen Treiber mit. ALSA ist fester Bestandteil von Kernel 2.6 und höher, so dass die von uns unterstützten Distributionen die richtigen Kernel-Module gleich mit an Bord haben. Diese Module übernehmen dieselbe Funktion wie Treiber unter Windows. Wer mehr über das Thema erfahren will, findet auf Seite 49 dieser Ausgabe einen Basics-Artikel, der erklärt, welche Treiber es unter Linux gibt und wie Sie erfahren, welche das System geladen hat.

Schon bei der Installation richtet der Installer das richtige Modul für die Sound-Karte ein. Klappt das einmal nicht oder tauschen Sie Ihre Sound-Karte gegen ein neueres Modell aus, ist auch das kein Problem: Jede Distribution bringt ein grafisches Konfigurations-Tool mit, über das Sie eine Sound-Karte einrichten.

Konfiguration

Unter Suse Linux finden Sie das richtige Werkzeug in YaST.

  1. Starten Sie das Suse-Linux-Kontrollzentrum über den Eintrag System / YaST aus dem K-Menü und authentifizieren Sie sich mit dem Root-Passwort als Administrator.
  1. Im Bereich Hardware finden Sie das Sound-Modul. Dort haben Sie die Wahl zwischen drei Optionen:
    * Schnelles automatisches Setup
    * Normales Setup
    * Erweiterte Installation der Soundkarte
    Standardmäßig versucht Suse Linux die Karte automatisch zu konfigurieren. Sie sollten entweder diese Option oder das Normale Setup wählen. Beim automatischen Setup erkennt Suse Linux die Sound-Karte, lädt den richtigen Treiber und speichert die Einstellungen in den Konfigurationsdateien. Eine bessere Wahl ist das Normale Setup, da YaST dort zwar ebenfalls die Sound-Karte automatisch erkennt und konfiguriert, Ihnen aber zusätzlich einen Test-Dialog anbietet.
  1. Ziehen Sie dort den Lautstärkeregler nach rechts und klicken Sie auf Test, um zu überprüfen, ob YaST den richtigen Treiber geladen hat.

  1. Im erweiterten Setup listet YaST die Optionen auf, die der Sound-Treiber für Ihre Karte akzeptiert. Hier sollten Sie gewöhnlich nichts ändern, bei einem falschen Wert kann Linux den Sound-Treiber eventuell gar nicht mehr laden. Haben Sie dort schon etwas verändert, setzen Sie die Werte mit YaST auf den Ausgangswert zurück.
  1. Starten Sie dazu das Sound-Modul und markieren Sie die konfigurierte Karte in der Liste. Klicken Sie auf Optionen und setzen Sie die Werte im nächsten Bildschirm mit einem Klick auf Alle zurücksetzen auf die Standardeinstellung zurück.

Unter Mandrake Linux richten Sie die Sound-Karte im Kontrollzentrum ein.

  1. Starten Sie drakconf über System / Einstellungen / Konfigurieren Sie Ihren Computer und markieren Sie den Eintrag Hardware in der linken Fensterhälfte. Starten Sie das Modul Hardware.
  1. In der linksbündigen Baumansicht listet der Assistent die Geräte auf, die er gefunden hat. Markieren Sie dort das Gerät unter dem Eintrag Soundkarten.
  1. Über die Schaltfläche Konfigurationswerkzeug starten richten Sie die Hardware ein. Im folgenden Dialog finden Sie zuoberst die Dropdown-Box namens Treiber.
  1. Es gibt für die meisten Sound-Karten zwei Module zur Auswahl. Standardmäßig betreibt Mandrake Linux die Karte mit dem ALSA-Treiber. Zusätzlich bringt die Distribution auch noch die freien OSS-Treiber mit. Die OSS-Treiber waren schon fester Bestandteil von Kernel 2.4, gelten jedoch heute als obsolet. Im Gegensatz zu ALSA reizen Sie die Möglichkeiten moderner Hardware nicht aus. Meistens sind die Namen der beiden Treiber ähnlich, die ALSA-Treiber tragen die Zeichenkette snd am Anfang des Namens. Auf vielen Mainboards findet sich ein Onboard-Soundchip von VIA oder Intel: die OSS-Treiber heißen via82cxxx_audio und i810_audio, die ALSA-Varianten firmieren unter den Namen snd-via82xx und snd-intel8x0. Falls Sie mit dem standardmäßig verwendeten ALSA-Treiber die Sound-Karte nicht in Betrieb nehmen können, probieren Sie ruhig einmal die OSS-Variante aus. Dabei geht nichts kaputt: Sie können die Einstellung im Hardware-Modul jederzeit wieder ändern.

  1. Unter Lassen Sie mich irgendeinen Treiber auswählen zeigt Mandrake Linux alle Sound-Treiber an, die die Distribution mitliefert. Auch hier sollten Sie nichts ändern, die Auto-Erkennung liegt meistens richtig. Der Versuch einen falschen Treiber zu laden, führt schlimmstenfalls zu einem instabilen System.
  1. Speichern Sie die Einstellungen mit einem Klick auf Ok und beenden Sie das Hardware-Modul.

Spartanisch

Am wenigsten gut ausgestattet kommt der Sound-Assistent von Fedora Core 2 daher. Er bietet Ihnen keinerlei Konfigurationsoptionen, sondern nur eine Autoerkennung der Sound-Karte. Dieser Mechanismus lag jedoch bei jedem unserer Testsysteme richtig -- Sie sollten daher auch mit diesem Programm die Sound-Karte fehlerfrei einrichten können.

Starten Sie die Anwendung über Systemeinstellungen / Ermittlung der Soundkarte aus dem K-Menü und weisen Sie sich mit dem Root-Passwort als Administrator aus. Das Tool führt direkt beim Start einen Hardwarescan durch und präsentiert Ihnen den Treiber im folgenden Dialog. Mit einem Klick auf die Schaltfläche Testsound abspielen, überprüfen Sie, ob Fedora den richtigen Treiber geladen hat. Danach öffnet das Programm eine Dialogbox, in der es Sie fragt, ob Sie den Sound gehört haben. Ändern können Sie in dem Fedora-Assistenten nichts -- selbst wenn das Abspielen des Testsounds nicht geklappt hat, bietet die Anwendung keine weiteren Konfigurationsoptionen, sondern beendet sich kommentarlos.

Wenn der Rechner stumm bleibt

Sie haben Ihre Sound-Karte mit dem Distributions-Tool konfiguriert und trotzdem hören Sie keinen Ton. Weder die KDE-Systemmeldungen noch ein Audio-Player wie XMMS bringen die Boxen zum Klingen. Meistens ist die Ursache ganz trivial: Die Lautstärke ist stumm geschaltet. Dann reicht es aus, mit einem so genannten Mixer-Programm die Regler hochzuziehen. Der KDE-Desktop hat eine passende Anwendung namens kmix dabei. Starten Sie sie aus einem Schnellstartfenster ([Alt-F2]), in das Sie kmix eingeben. Das Tool nistet sich als Lautsprecher-Symbol im System-Bereich der KDE-Leiste ein (Abbildung 1).

Klicken Sie das Icon mit der linken Maustaste an, um das Mixerfenster zu öffnen (Abbildung2). Sobald Sie mit der Maus über einem der Schieberegler verweilen blendet Kmix einen Tooltip ein. Er zeigt an, welche Einstellung Sie mit dem Steuerelement beeinflussen. Zumindest die beiden linken Regler (Lautstärke und PCM) sollten Sie mit gedrückt gehaltener linker Maustaste nach oben ziehen. Die Lautstärke des PC-Speakers beeinflussen Sie mit dem dritten Schieberegler. Wenn Sie auf einer Textkonsole arbeiten und einen Dateinamen mit [Tab] vervollständigen wollen, zeigt das System über einen Signalton des PC-Lautsprechers an, wenn es mehrere Dateien gibt, die mit dem eingegebenen Text beginnen.

Eine weitere Fehlerquelle ist ein stumm geschalteter Ausgang, der selbst dann keinen Sound ausgibt, wenn Sie den Regler nach oben ziehen. Die Stummschaltung erkennen Sie an den grünen Kontrollelementen über Reglerleiste. Erscheint ein Kanal dunkelgrün (Abbildung 3), klicken Sie einmal auf den grünen Punkt. Die Farbe wechselt zu hellgrün -- jetzt ist der Ausgabekanal aktiv.

Um selbst etwas mit einem Mikrofon aufzunehmen, gilt es, auch den passenden Eingabekanal richtig einzustellen. Wechseln Sie in Kmix zum Register Eingang und ziehen Sie die Regler für den Mikrofoneingang nach oben. Klicken Sie zusätzlich auf den roten Punkt unter dem Schieberegler, so dass er als einziger hellrot erscheint. Damit legen Sie den Mikrofoneingang als aktive Aufnahmequelle fest.

Diese Einstellungen im Mixer müssen Sie nicht jedes Mal vornehmen, wenn Sie sich anmelden. Das Programm merkt sich die Konfiguration und startet danke der KDE-Sitzungsverwaltung automatisch. Um die Lautstärke anzupassen, benötigen Sie das Mixer-Fenster nicht, viel schneller geht es mit einem Klick der mittleren Maustaste auf das Lautsprecher-Symbol: Kmix klappt dann ebenso wie die Sound-Kontrolle unter Windows einen einzelnen Schieberegler aus, über den Sie Lautstärke anpassen.

Abb. 1: Unter KDE stellen Sie mit "kmix" die Lautstärke ein.

Abb. 2: Im Mixer justieren Sie die Lautstärke der Ein- und Ausgänge der Soundkarte.

Abb. 3: Ist ein Ausgang stumm geschaltet, färbt "kmix" das darüber liegende Kontrollelement dunkelgrün.

Unter KDE, Suse Linux 9.1 und beim Abspielen von Audio-CDs gibt es einige Stolpersteine: Melden Ihnen Nicht-KDE-Programme, sie könnten das Gerät /dev/dsp nicht öffnen, erfahren Sie im Kasten Probleme mit Arts woran das liegt und wie Sie Abhilfe schaffen. Unter Suse Linux 9.1 kann es passieren, dass Sie nach jedem Systemstart die Sound-Karte über YaST neu einrichten müssen, um überhaupt Sound zu haben. Der Fehler ist bekannt [1] und im Kasten Mixer-Problem unter Suse Linux erklären wir, wie Sie das System zur dauerhaften Zusammenarbeit bewegen. Funktioniert der Sound, jedoch nicht das Abspielen von Audio-CDs, hilft Ihnen die Anleitung im Kasten Probleme mit Audio-CDs weiter.

Mixer-Problem unter Suse Linux 9.0

Haben Sie unter Suse Linux das Problem, dass die Sound-Karte nach jedem Booten stumm ist und sich erst durch eine erneute Konfiguration in YaST wiederbeleben lässt, liegt das eventuell am KDE-Mixer. Er überschreibt in der Version, die Suse Linux 9.0 beiliegt, die ALSA-Lautstärkeeinstellungen. Die Lösung besteht darin, den KDE-Mixer zu deinstallieren und stattdessen das Programm kamix für die Lautstärkekontrolle zu nutzen. Dieser alternative Mixer liegt Suse Linux bei und integriert sich ebenso gut in KDE, wie dessen eigener Mixer. Selbst die Oberfläche der beiden Programme ist ähnlich aufgebaut (Abbildung 4). Den Standard-Mixer tauschen Sie schnell aus:

  • Falls der KDE-Mixer läuft, schließen Sie ihn über den Eintrag Beenden aus seinem Kontextmenü.
  • Starten Sie über System / YaST das Kontrollzentrum. Rufen Sie das Modul Software / Software installieren oder löschen auf.
  • Geben Sie kdemultimedia als Suchbegriff ein und entfernen Sie in der Trefferliste auf der rechten Seite das Häkchen vor dem Paket kdemultimedia3-mixer.
  • Mit einem Klick auf Übernehmen weisen Sie YaST an, das Paket zu deinstallieren.
  • Richten Sie die Sound-Karte jetzt ein letztes Mal mit YaST ein. Wählen Sie dabei das Normale Setup, damit Sie die Lautstärke aufdrehen können. YaST startet daraufhin das Sound-System und speichert die Werte.
  • Rufen Sie als normaler Benutzer über ein Schnellstartfenster, in das Sie kamix eingeben, den ALSA-Mixer auf. Er startet ebenfalls als Minianwendung im Systembereich der KDE-Leiste. Die KDE-Sitzungsverwaltung registriert, dass das Programm läuft und startet es beim nächsten Anmelden automatisch.

Im Unterschied zu kmix öffnen Sie das kamix-Fenster nicht mit einem Linksklick, sondern über das Kontextmenü des Lautsprecher-Symbols. Wählen Sie dort Mixerfenster anzeigen, um alle Regler im Blick zu haben. Die Einstellungen für die Eingänge, etwa das Mikrofon, finden Sie auf der Registerkarte Capture. Standardmäßig ist der Mikrofoneingang stummgeschaltet, so dass Sie dort erst die Regler nach oben ziehen müssen, um brauchbare Aufnahmen zu erzeugen.

Abb. 4: Statt "kmix" installieren Sie unter Suse Linux 9.0 die Alternative "kamix".

Probleme mit Audio-CDs

Das Sound-System ist eingerichtet, die gesammelten MP3s tönen in gewohnter Lautstärke, aber der Lieblings-CD ist kein Ton zu entlocken. Wenn Sie einen Fehler des Laufwerks ausschließen, etwa weil unter Windows alles funktioniert, liegt das Problem oft daran, dass Ihr Laufwerk nicht über ein Kabel mit der Sound-Karte verbunden ist. Das würden Sie unter Windows nicht bemerken, da es dort seit Windows ME möglich ist, Audio-CDs auch in diesem Fall abzuspielen.

Die Methode kostet mehr Rechenleistung, als die Daten direkt von der CD an die Sound-Karte zu schicken. Einige Audio-Player entlocken der CD zwar auch mit dieser Konfiguration Töne, doch die Lösung ist nicht ideal. So gibt es für XMMS ein diskwriter-Plugin, dass zuerst die Musikstücke von der CD ausliest, auf Festplatte zwischenspeichert und dann abspielt. Der KDE-CD-Spieler kscd beherrscht in der Suse Linux 9. 2 beiliegenden Version das Kunststück ebenfalls, sofern Sie Digitale Wiedergabe direkt nutzen im Optionsdialog aktivieren. Für alle, die die Rechenleistung des Prozessors lieber für Anwendungsprogramme nutze, ist es einfach, ein passendes Kabel zu kaufen und das CD-ROM-Laufwerk mit der Sound-Karte zu verbinden. Den richtigen Anschluss finden Sie gewöhnlich im Handbuch zu Ihrem Mainboard. Selbst wenn Ihrem Rechner kein gedrucktes Handbuch beilag, gibt es die entsprechende Dokumentation meistens auf den mitgelieferten Treiber-CDs. Wenn alle Stricke reißen, werden Sie auf den Web-Seiten des Board-Herstellers fündig.

Bei Komplettsystemen mit mehreren Laufwerken gibt es oft eine einfachere Lösung als gleich zum Schraubendreher zu greifen. Dort ist oft nur eines der verbauten Laufwerke über ein Kabel mit der Sound-Karte verbunden. Besitzen Sie einen solchen Rechner, versuchen Sie zuerst, die Audio-CD in dem anderen, beispielsweise dem DVD-Laufwerk abzuspielen.

Bevor Sie nun eine CD abspielen, müssen Sie den meisten Abspielprogrammen noch mitteilen, auf welche Gerätedatei sie zugreifen sollen. Standardmäßig versuchen die Programme, /dev/cdrom zu öffnen. Das ist eine Verknüpfung, die auf das CD-ROM-Laufwerk zeigt. Hängt Ihr CD-Laufwerk als erstes Gerät am zweiten IDE-Controller, ist sein Gerätename /dev/hdc. Das zweite Gerät am zweiten Controller spricht Linux als /dev/hdd an. Im KDE-CD-Spieler kscd gehen Sie so vor, um die Gerätedatei zu ändern:

  • Starten Sie das Programm über ein Schnellstartfenster, in das Sie kscd eingeben.
  • Klicken Sie auf Extras und wählen Sie kscd einrichten aus dem aufklappenden Menü.
  • Im Menü CD-Wiedergabe schreiben Sie in die Eingabezeile unter CD-ROM-Gerät den Namen der Gerätedatei, etwa /dev/hdd (Abbildung 5). Sind Sie sich nicht sicher, welches die richtige Gerätedatei ist, probieren Sie einfach mehrere von /dev/hdb bis /dev/hdd durch.

Abb. 5: In "kscd" tragen Sie im Einstellungsdialog die richtige Gerätedatei ein.

Probleme mit Arts

Möchten Sie unter KDE mit XMMS MP3- oder OggVorbis-Dateien abspielen, kann es passieren, dass Sie die Fehlermeldung erhalten, das Programm könne nicht auf die Sound-Hardware zugreifen. Schuld ist der KDE-Soundserver artsd. Normalerweise hat immer nur eine Anwendung Zugriff auf die Sound-Karte. Spielen Sie eine Audio-Datei ab, kann das Mail-Programm keinen Sound mehr abspielen, der signalisiert, dass Sie neue Post haben. Der KDE-Soundserver löst dieses Problem. Er ist unter KDE das einzige Programm, dass direkt auf die Sound-Karte zugreift. Jede KDE-Anwendung, die eine Systemmeldung oder Audio-Datei abspielt, reicht ihre Ausgabe an artsd weiter. Dadurch hören Sie die akustische Mail-Benachrichtigung auch dann, wenn Sie sich gerade eine DVD ansehen oder Musik hören.

Programme, die nicht zum KDE-Desktop gehören, wissen nichts von artsd und versuchen, die Sound-Karte direkt anzusprechen. Das misslingt jedoch, da der KDE-Sound-Daemon das Gerät belegt. Es gibt trotzdem eine Methode auch solchen Anwendungen unter KDE Töne zu entlocken. Starten Sie das entsprechende Programm einfach aus einem Schnellstartfenster oder der Konsole und stellen Sie dem Programmnamen das Kommando artsdsp voran. Für XMMS lautet der korrekte Befehl artsdsp xmms. Sie starten damit das Programm artsdsp. Das ruft XMMS auf, und leitet alle Ausgaben des Players an den KDE-Soundserver weiter.

Chipsatz und Treiber herausfinden

Haben Sie die Sound-Karte wie von uns beschrieben eingerichtet, und gelingt die Wiedergabe einer Audio-Datei nicht, überprüfen Sie zuerst, ob Sie nicht in eine der häufigen Stolperfallen getappt sind, die wir in den drei Kästen dieses Artikels beschreiben.

Schließen Sie das als Ursache des Fehlers aus und wissen Sie genau, dass die Hardware nicht defekt ist, kommen Sie dem Problem am schnellsten mit einer Google-Recherche auf die Spur. Als Suchbegriff bietet sich das Sound-Kartenmodell, der Chipsatz und der von Ihrer Distribution geladene Treiber an.

Diese Systeminterna bekommen Sie am schnellsten mit der Kommandozeile heraus.

  1. Öffnen Sie eine KDE-Konsole und werden Sie mit dem Befehl su - und dem Root-Passwort in der nächsten Zeile zum Administrator. Das - hinter su bewirkt, dass die Shell alle Startdateien einliest. So haben Sie auch unter Fedora Core 2 die Programmordner mit den Administartions-Tools im Suchpfad und können sie einfach über den Programmnamen aufrufen.
  1. Welche Sound-Hardware Sie verwenden, verraät das Kommando
    lspci | grep audio
    Der Befehl lspci listet alle PCI-Geräte des Systems auf. Die Ausgabe des Befehls lenkt das Pipe-Zeichen (|) an das Kommando grep audio um. Dadurch sehen Sie nur die Zeilen, die die Zeichenkette audio enthalten. So müssen Sie die Sound-Karte nicht aus der langen Geräteliste heraussuchen. In Abbildung 7 steckt ein Soundchip von VIA im Rechner. Der relevante Teil der Ausgabe ist markiert und gibt einen guten Suchbegriff ab, wenn Sie dem Problem auf die Spur kommen wollen.
  1. Kontrollieren Sie nun, ob Ihr System den Sound-Treiber geladen hat. Sie zeigen die geladenen Kernel-Module mit dem Kommando lsmod an. Passt die Ausgae nicht in das Konsolen-Fenster, nutzen Sie die Scroll-Balken, um durch die Liste zu blättern oder leiten Sie sie mit
    lsmod | less
    an das Betrachtungsprogramm less um. Meistens heißt der Treiber so ähnlich wie der Chipsatz. Nutzen Sie ALSA, was unter allen von uns unterstützten Distributionen der Fall sein sollte, zeigt der Befehl lsmod | grep snd alle geladenen ALSA-Treiber an. Finden Sie in der Treiberliste kein Sound-Modul, ist kein Treiber geladen. Ist der Treiber geladen, tönt die Karte aber trotzdem nicht, gibt es eventuell ein Problem mit Ihrer Hardware im Zusammenspiel mit dem verwendeten Kernel.

Wenn das System zwar die Audio-Hardware erkennt, den Treiber aber nicht lädt oder dieser nicht funktioniert, ist die erste Anlaufstelle die Web-Seite der verwendeten Distribution. Eventuell finden Sie dort schon Hinweise auf den Fehler. Oft lohnt es sich ein Online-Update durchzuführen. Dabei beseitigen die Distributoren neben Sicherheitslücken auch fehlerhafte Software und ersetzen Sie durch eine neue Version. Hilft das nicht weiter, suchen Sie mit dem Namen des Sound-Chips, dem Namen der Distribution und dem Treiber bei einer Suchmaschine wie Google nach dem Problem. Die Linux Community löst Probleme oftmals schneller als der verantwortliche Distributor. (amü)

Abb. 7: "lspci" verrät, welche Sound-Karte im Rechner steckt.
Infos
[1] Mixer-Problem unter Suse Linux 9.1: http://portal.suse.de/sdb/de/2004/05/thallma_91_sndsilence.html

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2021 COMPUTEC MEDIA GmbH | Last modified: 2007-04-05 11:10

[Linux-Magazin] [LinuxUser] [Linux-Community]