• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] SB Live! problem -> mixer tut nicht, was er soll

Ich will hier gerne nochmal ein thema aufgreifen, daß hier im forum zwar schon behandelt, aber nicht gelöst wurde. es geht um folgendes problem:

soundkarte: SB Live! 5.1 digital (tritt auch bei Audigy1 karten auf) mit chip emu10k1 drauf
software: linux-2.6 mit alsa 1.0.0 oder höher (in meinem fall alsa 1.0.9, aber das problem existiert quasi schon immer), openSUSE 10.0

problembeschreibung: der master regler sollte eigentlich alle Kanäle (front, rear, center/lfe) global regeln, die regler pcm, surround, center und LFE hingegen sollten alle kanäle einzeln regeln. so zumindest kenne ich das von anderen karten. wie auch immer: der master regler regelt NUR die beiden vorderen kanäle links und rechts, der rest bleibt komplett unbeeindruckt. das ist natürlich recht störend, weil ich beabsichtige, globale lautstärkeregelung per multimedia keys zu nutzen, und das OHNE sound daemon a la arts (wozu auch, da der sb live ja nicht umsonst nen hardwaremixer hat). das ist btw bei jedem mixer, den ich verwende das gleiche, egal ob amix, aumix, alsamixer, kmix, kamix, qamix oder was es nich sonst noch alles gibt....

frage also: kennt einer das problem und/oder eine lösung dafür?

danke für hilfe im voraus!
gruß GraveDigger
 

stulle

Hacker
Ich kenn das Problem:
Aber das hilft dir nicht, richtig?

Ich würde aber liebend gerne wissen, wie man das macht.
Ich habe mir soebend beim Versuch daran rumzufummeln, meine Einstellungen der Karte zerschossen.
 
OP
G

GraveDigger

Member
Die Lösung für mich sieht folgendermaßen aus: alsa-driver recompile mit master-volume.patch den ich von der alsa-user mailingliste habe. Einer der Alsa Developer hat den geschrieben und er behebt das Problem völlig, indem er einen neuen Mixerkanal erzeugt der sämtliche PCM output channels nachregelt - und das zentral. Wenn ich das richtig mitbekommen habe, wird zur Zeit diskutiert ob der patch nicht dauerhaft in die alsa-driver aufgenommen werden soll. Wie auch immer: Mein Problem ist soweit gelöst, weil ich mit dem Patch gut leben kann.
 

stulle

Hacker
Das das Problem lösbar ist, hört sich schon mal sehr gut an.

Komisch ist allerdings ob etwas was eigentlich Standard sein sollte diskutiert wird ob es aufgenommen wird.

@Gravedigger:
kannst du mir dabei helfen mir meinen alsa neu zu schreiben?
Woher hast du den Patch? Wo bekomme ich eine Anleitung dafür?
Mit der Alsa-Homepage tue ich mich ein wenig schwer.
 
OP
G

GraveDigger

Member
hehe, na wenn du schon so nett fragst :D

Also den Patch gibt es schonmal hier.
Diesen Patch habe ich von Mikael Magnusson < mikaelmagnusson æt glocalnet punk net > von der alsa-user Mailingliste. Der Patch funktioniert allerdings nur sauber mit den alsa-drivers version 1.0.10 oder höher, ein update auf diese Version ist daher erforderlich (Versuche diesen Patch mit alsa-driver-1.0.9 zu bauen schlugen bereits fehl). Da ich gehört habe, daß es mit alsa-1.0.10 aus dem Packman Repo probleme geben soll, sollte man vielleicht versuchen, erstmal die 1.0.10er treiber mit den 1.0.9er libs/utils zu verwenden - theoretisch sollte das gehen. Sollte das jedoch auch Probleme geben, ist wohl ein update erforderlich.

Desweiteren braucht du das Paket kernel-source für deinen laufenden Kernel, was wohl verständlich ist. Die alsa module können außerhalb des kernels selbst gebaut und installiert werden - ein Neubau des gesamten Kernels ist daher nicht notwendig.

Also auf geht's - Schritt 1: alsa-driver runterladen und patchen

Code:
cd /usr/src
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.10.tar.bz2
tar xjpf alsa-driver-1.0.10.tar.bz2
cd alsa-driver-1.0.10
wget http://home.pages.at/gravy/master_volume_v4.patch
patch -p0 < master_volume_v4.patch
Schritt 2: alsa-driver übersetzen und installieren
Code:
./configure
make
make install
Die Alsa Module im Kernel werden dabei überschrieben, was ja sinn der Sache ist. Als Resultat wird der Kernel anfangen rumzujammern, weil die pösen pösen Module ja garnicht "supported by Novell" sind, aber naja - ohne geht's nicht. Es ist desweiteren möglich, nur bestimmte alsa Module bei diesem Prozess zu übersetzen, aber davon ist abzuraten, da das zu fiesen Symbol lookup errors führen kann.

Schritt 3: Alsa neu starten
Code:
rcalsasound reload
Zur überprüfung der neuen Version reicht ein:
Code:
cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.10.
[...]
Beim Neustarten von Alsa kann es (und wird sehr wahrscheinlich auch) zu Fehlermeldungen kommen, daß einige Mixerkanäle nicht gefunden und/oder richtig eingstellt wurden - das kann ignoriert werden. Nach dem Neustart sollten nämlich z.B. mit dem alsamixer die Kanäle einmal komplett richtig eingestellt werden. Die Einstellungen werden dann zentral gespeichert:
Code:
/usr/sbin/alsactl store

So, und damit sollte das Thema abgeschlossen sein. Es sollte jetzt also ein neuer Regler vorhanden sein, der zentral alle Surroundkanäle regelt.

Mfg GraveDigger
 

stulle

Hacker
GraveDigger,
du bist der größte!!!!!!!!!
Es funktioniert!
Und durch deine ach so einfache Anleitung konnte ich es innerhalb kürzester Zeit Nachahmen.
Ich muss jetzt zwar noch meinen Monitor und meine Maus neu einrichten, aber das mache ich doch gerne.
Endlich funktioniert der Lautstärkeregler. Nach 2 Jahren Abstinenz endlich wieder luxuriöse Steuerung der Schallwellenverteilung.

GraveDigger, du hast einen großen Schmatzer verdient und etwas als Geschenk:
herz_standard.jpg


Wenn du willst, besorge ich dir so einen Luftballon und schicke ihn dir :) ehrlich
 
OP
G

GraveDigger

Member
lol, find ich gut! :D freut mich, daß es geholfen hat - ich kann inzwischen nicht mehr ohne leben :D :D :D

Viel Spaß noch
Gruß GraveDigger
 
Oben