Probleme mit dem Soundchip CMI8330

Supportdatenbank (thallma_cmi8330_kernelsnd)
Bezieht sich auf

SuSE Linux: Versionen ab 7.1

Symptom

Sie können Ihre Soundkarte mit einem CMI8330 Chip zwar einrichten, jedoch gibt Ihre Soundkarte dennoch keinen Mucks von sich. Beim Überprüfen der geladenen Module, mit dem Befehl "lsmod" stellen Sie fest, daß sogar das zugehörige ALSA-Soundmodul "snd-card-cmi8330" geladen ist.

Ursache

Derzeit noch unbekannt.

Lösung

Verwenden Sie statt ALSA/YaST2 zum Einrichten Ihrer Soundkarte den sogenannten Kernelsound. Da die Konfiguration des Kernelsound etwas "Handarbeit" erfordert, werden Ihnen an dieser Stelle die einzelnen Schritte erläutert.

Als ersten Schritt müssen wir die aktuelle Soundkonfiguration entfernen, da ALSA und Kernelsound nicht parallel einsetzbar sind.

Dazu müssen zunächst alle von ALSA geladenen Module entladen werden. Verwenden Sie daher den Befehl "rcalsasound stop".

Nun geben Sie den Befehl "lsmod" ein und überprüfen, das keines der folgend genannten Module mehr geladen ist.

snd-seq-midi
snd-seq-midi-event
snd-seq
snd-pcm
snd-timer
snd-rawmidi
snd-seq-device
snd-ac97-codec
snd-mixer
snd
soundcore

Sollten immernoch einzelne Soundmodule geladen sein, so entladen Sie sie bitte mit dem Befehl

rmmod Modulname

Falls sich eines der Module auf anhieb nicht entladen lassen, so fahren Sie zunächst mit dem nächsten fort und versuchen es später nochmal.

Nachdem nun wirklich alle Soundmodule entladen sind, ist die Konfigurationsdatei "/etc/modules.conf" zu bearbeiten. Öffnen Sie diese dazu mit einem Ascii-Editor Ihrer Wahl (z.B. "pico"). Begeben Sie sich an das Ende dieser Datei, da hier die Soundkonfiguration von YaST2 gespeichert wird. Diese sieht in etwa wie folgt aus:

#   
# YaST2: sound cards support
#  
alias char-major-116 snd
options snd snd_cards_limit=1 snd_major=116
alias snd-card-0 snd-card-cmi8330
options snd-card-cmi8330 snd_id=card1 snd_index=0
 
#
# YaST2: sound system dependent part
#
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-11 snd-mixer-oss
alias sound-service-0-12 snd-pcm-oss

Löschen Sie diese Zeilen bitte. Sollten Sie schon mehrere Versuche unternommen haben, um Ihre Soundkarte zu konfigurieren, können noch weitere ähnliche Zeilen enthalten sein. Löschen Sie diese ebenfalls. Und speichern Ihre Änderungen anschließend ab.

Um YaST2 mitzuteilen das die unter YaST2 vorgenommene Soundkonfiguration manuell gelöscht wurde, ist es erforderlich eine weitere Datei zu bearbeiten. Es handelt sich dabei um die Datei "/var/lib/YaST/unique.inf". Öffnen Sie diese wieder mit einem Ascii-Editor Ihrer Wahl und suchen nach der Zeile

[sound]
oJUp.LB5FQylNql1 configured  

Löschen Sie die configured-Zeile. Falls Sie unter dem Eintrag "[sound]" noch weitere solcher Zeilen vorfinden, so löschen Sie diese ebenfalls und speichern anschließend die Änderungen ab.

Im zweiten Schritt legen wir nun die Konfiguration für den Kernelsound an.

Bitte geben Sie folgende als Administrator root Befehle ein:

mv /etc/isapnp.conf /etc/isapnp.conf.old
pnpdump -c > /etc/isapnp.conf
isapnp /etc/isapnp.conf

Der erste Befehl kann eine Fehlermeldung erzeugen, wenn Sie bisher auf dem System noch nie mit den Befehlen "pnpdump" und "isapnp" gearbeitet haben.

Mit dem zweiten Befehl erstellen Sie eine Konfigurationsdatei welche Sie im dritten Befehl benötigen.

Der dritte Befehl wird Ihnen eine Bildschirmausgabe anzeigen, welche angibt welche Resourcen Ihre Soundkarte verwendet. Notieren Sie sich diese Werte bitte. (Sollten Sie außer der Soundkarte noch weitere ISAPnP Komponenten in Ihrem System installiert haben, so werden deren Resourcen ebenfalls angezeigt!)

Da eine Soundkarte sehr viele unterschiedliche Sub-Devices enthält, bekommen Sie auch entsprechend viele Informationen angezeigt. Wichtig ist jedoch nur die erste Zeile der Ausgabe zu Ihrer Soundkarte (welche jedoch aufgrund der Länge in der Regel umgebrochen wird!). Hier ein Beispiel:

CMI0001 Serial No 16777472 [checksum 8d] CMI0001/16777472[0]{CMI8330. Audio Adapter}: Ports 0x530 0x388; IRQ5 DMA0 --- Enabled OK

An dieser Stelle sind nun nochmals Änderungen an der Datei "/etc/modules.conf" erforderlich. Suchen Sie in dieser Datei nach den Zeilen:

alias char-major-14 off
alias sound off
alias midi off

und kommentieren diese durch voranstellen einer Raute "#" aus. Wenn Sie bei Ihren bisherigen Konfigurationsversuchen auch einmal das Programm "alsaconf" verwendet haben, ist bei Ihnen die erste Zeile "alias char-major-14 off" möglicherweise nicht zu finden - das ist normal und in diesem Fall ändern Sie nur die letzten beiden Zeilen. Das Ergebnis sollte wie folgt aussehen:

# alias char-major-14 off
# alias sound off
# alias midi off

Suchen Sie in der Datei auch nach den folgenden Zeilen:

# alias char-major-14 ad1848
# options ad1848 io=0x530 irq=7 dma=0 dma2=3

Aktivieren Sie diese, indem Sie die vorangestellte Raute "#" entfernen. Passen Sie die Angaben in der Optionszeile gemäß den notierten Werten an. Da Ihre Soundkarte ein besondere Stellung einnimmt, löschen Sie bitte den Parameter "dma2=3" Es sollte anschließend z.B. wie folgt aussehen:

alias char-major-14 ad1848
options ad1848 io=0x530 irq=5 dma=0

Speichern Sie die vorgenommenen Änderungen ab und geben anschließend die Befehle

depmod -a
modprobe ad1848

ein. Nun sollten Sie die Soundkartenunterstützung erfolgreich eingerichtet haben.


Stichwörter: SOUND, PROBLEM, EINRICHTEN, CMI, 8330, KEIN, TON

Kategorien: Sound

SDB-thallma_cmi8330_kernelsnd, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 15. Aug 2001
SuSE Linux AG - Zuletzt generiert: 16. Jan 2002 von thallma (sdb_gen 1.40.0)