PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : alsa konfiguration



psych
03.08.05, 12:06
Also ich möchte insgesammt 3 soundkarten mit alsa unter gentoo laufen lassen...
alsaconf baut bei mir nur mist und versucht immer das modul snd-*** zu laden!

Kann mir mal einer alle relevanten konfigurations dateien sagen und vielleicht nen link wie diese funktionieren?
Ich kann zwar ganz einfach alle Module laden aber dann klappt das mit der reihenfolge der karten nie so wie ich möchte.

Gruß
Psych

Fatty
03.08.05, 12:21
Die erste Anlaufstelle ist natürlich die ALSA-Projektseite [0]. Da gibt es eine rechte ausführliche Dokumentation, u.a. auch mit Beispielen, wie man mehrere Soundkarten betreiben kann.
Ich rate dir auch die Einstellungen manuell vorzunehmen, denn alsaconf ist etwas haklig und funktioniert auch nur dann, wenn sämtliche Soundtreiber (also auch der soundcore) als Module und _nicht_ fest in den Kernel kompiliert wurden.



[0] http://www.alsa-project.org

psych
03.08.05, 12:55
Ok danke... :)
Da steh ich jetzt schon vor dem ersten Problem.... was genau ist ein .asoundrc und wo finde ich die?

Ich dachte eigentlich die alsa konfiguration wäre bei gentoo in /etc/modules.d/alsa und in /etc/conf.d/alsasound geregelt... :confused:

Bin ein wenig verwirrt und bitte um Hilfe...

Gruß
Psych

undefined
03.08.05, 13:52
Da steh ich jetzt schon vor dem ersten Problem.... was genau ist ein .asoundrc und wo finde ich die?
Kannst du lesen? hier noch einmal der Link [..mit der Nase drauf stoss..] :D
http://www.alsa-project.org/alsa-doc/doc-php/asoundrc.php?company=Generic&card=Generic&chip=Generic&module=Generic

psych
03.08.05, 15:25
Ich seh den Wald vor lauter Bäumen nich... :ugly:

Ok danke... werd mich da mal reinarbeiten...

Gruß
Psych

psych
04.08.05, 13:20
Ok wie es aussieht bin ich zu doof :(

Ich möchte eigentlich nichts anderes als Systemweit meine Soundblaster Live Karte (emu10k1) als hw:0,0 und meine Nforce Onboard Karte (intel8x0) als hw:1,0 zu definieren....

So kompliziert kann das ja nicht sein oder?
Kann mir einer helfen?

Gruß
Psych

undefined
04.08.05, 13:53
Zeige mal was du bisher erreicht hast.

psych
04.08.05, 15:37
Es fängt schon damit an das in den ganzen Howtos von so unterschiedlichen Konfig Dateien gesprochen wird...
Die .asoundrc scheint ja in das Home Verzeichnis des einzelnen Users zu gehören... auch wenn ich nicht verstehe wie diese aufgebaut werden soll.

Wenn ich das ganze dann aber Systemweit für alle User machen möchte....
muss das dann nach /etc/asound.conf? Oder nach /.asoundrc oder wie???

Dürfte auch an meinen eher geringen Englisch kenntnissen liegen dass ich das nicht verstehe :(

Auf der Alsa Seite wird unter anderem das hier als Beispiel angegeben:


# START
alias char-major-116 snd
alias char-major-14 soundcore
options snd snd_major=116 snd_cards_limit=3 snd_device_mode=0660 snd_device_gid=29 snd_device_uid=0

# Midiman
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-12 snd-pcm-osshree

# SBLive
alias sound-slot-1 snd-card-1
alias sound-service-1-0 snd-mixer-oss
#alias sound-service-1-1 snd-seq-oss
alias sound-service-1-3 snd-pcm-oss
#alias sound-service-1-8 snd-seq-oss
alias sound-service-1-12 snd-pcm-oss

# VirMIDI
alias sound-slot-2 snd-card-2
#alias sound-service-2-1 snd-seq-oss
#alias sound-service-2-8 snd-seq-oss

#alias snd-card-0 snd-card-ice1712
alias snd-card-0 snd-ice1712
options snd-card-ice1712 snd_index=0 snd_enable

#alias snd-card-1 snd-card-emu10k1
alias snd-card-1 snd-emu10k1
options snd-card-emu10k1 snd_enable

#alias snd-card-2 snd-card-virmidi
alias snd-card-2 snd-virmidi

post-install snd-synth-emu10k1 /usr/bin/sfxload /dos/audio/sblive/SFBank/8mbgmsfx.sf2
# END


Verstehe nich genau was da passiert :confused:

Gruß
Psych

Fatty
04.08.05, 17:08
Das muss in die /etc/modules.conf - oder wo auch immer bei deiner Distribution die Parameter für die Kernelmodule konfiguriert werden.
Wenn du mit Englisch nicht so zurecht kommst, lass dir die Seite halt einfach von Babelfish & Co. übersetzen.

Am Besten du hältst dich dann auch möglichst an das obige Beispiel.

psych
04.08.05, 19:21
/etc/modules.conf stimmt schon... nur da ich das obrige Beispiel nicht verstehe kann ich mihc auc nich dran halten! :confused:

Fatty
04.08.05, 20:45
Okay, ich versuch mal dir das Beispiel etwas zu erklären.

Das Beispiel ist eigentlich sehr übersichtlich, da die einzelnen Abschnitte klar getrennt sind.

Der erste Abschnitt

# START
alias char-major-116 snd
alias char-major-14 soundcore
options snd snd_major=116 snd_cards_limit=3 snd_device_mode=0660 snd_device_gid=29 snd_device_uid=0
beinhaltet die allgemeine Konfiguration. Zunächst werden die beiden Kernmodule - snd und soundcore - definiert. Dem Modul snd werden zusätzlich noch einige Parameter übergeben (options snd).
Dabei steht snd_cards_limit=3 dafür, dass maximal 3 Soundkarten verwendet werden können.
Die anderen Parameter sind optional und müssen nicht unbedingt gesetzt werden.

Im zweiten Abschnitt wird die OSS-Konfiguration der einzelnen Soundkarten vorgenommen. Dies ist für den OSS-Kompatibilitätsmodus notwendig.

# Midiman
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-12 snd-pcm-osshree

# SBLive
alias sound-slot-1 snd-card-1
alias sound-service-1-0 snd-mixer-oss
#alias sound-service-1-1 snd-seq-oss
alias sound-service-1-3 snd-pcm-oss
#alias sound-service-1-8 snd-seq-oss
alias sound-service-1-12 snd-pcm-oss

# VirMIDI
alias sound-slot-2 snd-card-2
#alias sound-service-2-1 snd-seq-oss
#alias sound-service-2-8 snd-seq-oss
Die Konfiguration beinhaltet unter anderem die Indizes für die jeweilige Soundkarte. Die Indizes werden von der Ladereihenfolge der Soundkartentreiber beeinflusst. Wie du diese Reihenfolge manuell ändern kannst kommt dann weiter unten.
Wie die Konfiguration hier im einzelnen aussieht, muss du den ALSA-Dokus entnehmen. Dort gibt es nämlich auch die Möglichkeit sich die Einstellungen für die jeweilige Karte in der Hardwaredatenbank anzusehen.

Im letzten Abschnitt geschieht dann das Entscheidende - die Modulparameter für die Soundkarten werden übergeben.

#alias snd-card-0 snd-card-ice1712
alias snd-card-0 snd-ice1712
options snd-card-ice1712 snd_index=0 snd_enable

#alias snd-card-1 snd-card-emu10k1
alias snd-card-1 snd-emu10k1
options snd-card-emu10k1 snd_enable

#alias snd-card-2 snd-card-virmidi
alias snd-card-2 snd-virmidi
Hier kannst du mit options snd-CHIPNAME die Parameter übergeben.
Mit snd_index=ID legst du den Index und damit auch die Reihenfolge der Karten fest. Die erste Soundkarte bekommt also die 0, die zweite Karte die 1, usw.
Zusätzlich kannst du nicht benötigte Soundkarten mit snd_enable=0 deaktivieren. Wenn du snd_enable weglässt, gleich 1 setzt oder - wie oben - ohne Argument lässt, ist die Soundkarte aktiviert, der Treiber wird geladen.

Ich hoffe ich hab dir jetzt helfen können. Besser kann ich das wohl nicht mehr beschreiben.

undefined
04.08.05, 21:44
Die Optionen sind aber falsch geschrieben snd_ kannst du weglassen.


#alias snd-card-0 snd-card-ice1712
alias snd-card-0 snd-ice1712
options snd-card-ice1712 index=0 enable=1

#alias snd-card-1 snd-card-emu10k1
alias snd-card-1 snd-emu10k1
options snd-card-emu10k1 enable=1

#alias snd-card-2 snd-card-virmidi
alias snd-card-2 snd-virmidi

Mit modinfo <modulname> kannst du dir ausgeben lassen welche Optionen dein Kernel Modul zu verfügung stellt.
Beispiel: modinfo snd-virmidi

psych
05.08.05, 12:24
Gut hab ich verstanden danke :D

Eine Frage noch...
Muss das sicher in die modules.conf?
Oder gibts da andere Alsa Konfigurationsdateien? Was ist mit /etc/asound.conf oder so?

Gruß
Psych

Fatty
05.08.05, 12:34
Muss das sicher in die modules.conf?
Ja, muss es :rolleyes:

Oder gibts da andere Alsa Konfigurationsdateien? Was ist mit /etc/asound.conf oder so?
In /etc/asound.conf kannst du ALSA-Plugins konfigurieren und sonstige Spielereien machen - aber definitiv nicht die Reihenfolge der Soundkarten beeinflussen. Das ist Sache des Kernels, respektive müssen die Einstellungen auch in die modules.conf.

psych
05.08.05, 12:38
Ok danke an alle :)

Gruß
Psych

McM
05.08.05, 12:43
Gut hab ich verstanden danke :D

Muss das sicher in die modules.conf?



ich würds eher in die /etc/modules.d/alsa schreiben

psych
05.08.05, 12:59
Jo habs grad rasugefunden... modules.conf ließt das aus was in /etc/modules.d/alsa steht! :)

Fatty
05.08.05, 13:01
ich würds eher in die /etc/modules.d/alsa schreiben
Stimmt! Es handelt sich ja um ein Gentoo-System :ugly:

Also Kommando zurück, alles in die Datei /etc/modules.d/alsa und dann modules-update aufrufen. Danach steht zwar auch wieder alles in der /etc/modules.conf, aber das wäre ja sonst auch nach dem nächsten Aufruf von modules-update wieder weg.

'tschuldigung, dass ich das im ersten Post übersehen habe :o

psych
06.08.05, 11:14
So...

Ich hab jetzt mit meinen neu erworbenen Wissen ne Weile rumgebastelt und es gestern auch irgendwie hinbekommen...
Nur jetzt gerade nach einem Neustart ist die Reihenfolge wieder durcheinander... :confused:
Die Nforce Karte is jetzt wieder an erster Stelle :(

Auszug aus /etc/modules.d/alsa



#SBLIVE
alias snd-card-0 snd_emu10k1
options snd-card-emu10k1 snd_index=0

#NFORCE
alias snd-card-1 snd_intel8x0
options snd-card-intel8x0 snd_index=1

#SBLIVE_BILLIG_CHIP
alias snd-card-2 snd_ca0106
options snd-card-ca0106 snd_index=2


Kann mir einer helfen und mir verraten was ich falsch mache?

Gruß
Psych

undefined
07.08.05, 09:06
Die Reihenfolge deiner Karten wird durch dir Option Index gesetz.
Sehe dir meine mal an und versuche das ganze auf deine Karten um zu setzen.


# [sound]
# Alsa Sound VT8233/A/8235 AC97 Audio Controller
# @link http://www.alsa-project.org/alsa-doc/doc-php/template.php?company=VIA&card=.&chip=VIA82C686%2C+VIA8233%2C+VIA8233A%2C+VIA8235&module=via82xx
# @link http://www.djcj.org/LAU/guide/TiMidity-howto.html
# @link http://gentoo-wiki.com/HOWTO_ALSA_sound_mixer_aka_dmix
# ================================================== ============================================
# for i in "/proc/asound/cards /proc/asound/devices /proc/asound/timers /proc/asound/seq/clients" ; do cat $i; done
#
# [soundcore]
alias char-major-14 soundcore

# [snd]
# @see modinfo snd
alias char-major-116 snd
# remove this if sound is configured
# install char-major-116 /bin/true
options snd cards_limit=3 major=116

# [Gravis-Xterminator]
# @see /etc/sysconfig/joystick und /etc/init.d/joystick
alias char-major-13 gameport

# [snd-via82xx]
# VIA 8235 with ALC650D at 0xd400, irq 185
# VIA VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
# @see modinfo snd-via82xx
alias sound-slot-0 snd-card-0
alias snd-card-0 snd-via82xx
options snd-via82xx enable=1 index=0 id=via8235 dxs_support=3
# mpu_port=330 oder 80
# @see /etc/sysconfig/joystick
# joystick=1

# [snd-usb-audio]
# @see modinfo snd-usb-audio
# @short Senheiser USB Headset PC 135
alias sound-slot-1 snd-card-1
alias snd-card-1 snd-usb-audio
options snd-usb-audio vid=1395 pid=3556 id=Headset enable=1 index=1 async_unlink=1 nrpacks=3

# [snd-mpu401]
# @see modinfo snd-mpu401
alias sound-slot-2 snd-card-0-1
alias snd-card-2 snd-mpu401
options snd-mpu401 enable=1 id=UART index=2 irq=5 port=0x330

alias sound-slot-3 snd-card-2-1
alias snd-card-2-0 snd-mpu401-uart

# [snd-pcm]
# @see modinfo snd-pcm
alias sound-slot-4 snd-card-0-1
alias snd-card-0-1 snd-pcm
options snd-pcm maximum_substreams=1 preallocate_dma=1

# [snd-seq]
# @see modinfo snd-seq
alias sound-slot-5 snd-card-0-2
alias snd-card-0-2 snd-seq
options snd-seq seq_default_timer_card=1 seq_default_timer_sclass=1 seq_client_load=1 seq_default_timer_subdevice=1

# [snd-seq]
# @see modinfo snd-ac97-codec
alias sound-slot-6 snd-card-0-3
alias snd-card-0-3 snd-ac97-codec

# [snd-rtctimer]
# @see modinfo snd-rtctimer
alias sound-slot-8 snd-card-0-4
alias snd-card-0-4 snd-rtctimer

# [snd-bt87xx]
# @see /etc/modprobe.d/tv
alias sound-slot-9 snd-card-3
alias snd-card-3 snd-bt87x
options snd-bt87x enable=1 index=3 load_all=1

# [oss] OSS/Free portion
# [snd-mixer-oss]
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-12 snd-pcm-os

# OSS Sound Services
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss

# install audio /sbin/modprobe --ignore-install audio && /usr/sbin/alsactl restore >/dev/null 2>&1 || :
# remove audio { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove audio

Fatty
07.08.05, 15:42
#SBLIVE
alias snd-card-0 snd_emu10k1
options snd-card-emu10k1 index=0

#NFORCE
alias snd-card-1 snd_intel8x0
options snd-card-intel8x0 index=1

#SBLIVE_BILLIG_CHIP
alias snd-card-2 snd_ca0106
options snd-card-ca0106 index=2


Kann mir einer helfen und mir verraten was ich falsch mache?

Gruß
Psych
Das snd_ an den Optionen muss weg. Das ist leider in den Dokus großteils noch der alte Syntax.

psych
08.08.05, 00:48
Bei den Optionen steht doch kein snd_ nur nen snd- ... egal hab jetzt zwei weitere varianten ausprobiert und danach halt nen modules-update und nen /etc/init.d/alsasound restart gemacht... hat aber beides nix gebracht.

Variante 1.


#SBLIVE
alias snd-card-0 emu10k1
options snd-card-emu10k1 index=0

#NFORCE
alias snd-card-1 intel8x0
options snd-card-intel8x0 index=1

#SBLIVE_BILLIG_CHIP
alias snd-card-2 ca0106
options snd-card-ca0106 index=2


Variante 2.



#SBLIVE
alias snd-card-0 snd_emu10k1
options card-emu10k1 index=0

#NFORCE
alias snd-card-1 snd_intel8x0
options card-intel8x0 index=1

#SBLIVE_BILLIG_CHIP
alias snd-card-2 snd_ca0106
options card-ca0106 index=2


Gibt es eigentlich eine genaue, aktuelle und vorallem deutsche anleitung für alsa? Denn viel von dem was undefined geschrieben hat versteh ich einfach nicht.

Was bedeutet char-major-14 oder vid=1395 oder pid=3556 usw...

Gruß
Psych

undefined
08.08.05, 14:19
Ich glaube wir lassen das mit der jetzigen vorgehensweise. Sonst endet das noch im Uferlosen, weil du (bitte nicht falsch verstehen) nicht das Grundwissen für die Linux Architektur mitbringst.
Gehen wir einen anderen Weg, gebe und bitte folgende Ausgaben von deinem System und wir erstellen dir die Config.
Bitte Kopiere jede Zeile einzeln in die Konsole ein:


lspci > /tmp/lspci.log
for i in $(find /proc/asound -type f) ; do cat $i; done > /tmp/Hardware.log

Hänge danach diese beiden Dateien /tmp/lspci.log und /tmp/Hardware.log beim nächsten Posting an. Mit der Info können wir dir die modprobe.conf erstellen.
mfg undefined

psych
08.08.05, 15:15
Ok hab ich mal gemacht...
Hoffe ihr könnt mir damit dann helfen...

Obwohl verstehen würd ich das ganze ja shcon gerne... werd mich wohl irgendwann nochmal mit der alsa hp beschäftigen!


Gruß
Psych

undefined
08.08.05, 16:08
Versuche die mal, danach bitte ein dmesg und bei fehler Meldungen hier posten ;)


# /etc/modprobe.d/sound
################################################## ################################################## ################
# [lspci]
# 0000:00:05.0 Multimedia audio controller: nVidia Corporation nForce MultiMedia audio [Via VT82C686B] (rev a2)
# 0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio Controler (MCP) (rev a1)
# 0000:01:06.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)
#
# [modules]
# 0 snd_intel8x0
# 1 snd_emu10k1
# 2 snd_ca0106
#
# [devices]
# 0 [nForce2 ]: NFORCE - NVidia nForce2
# NVidia nForce2 with ALC650F at 0xe0081000, irq 10
# 1 [Live ]: EMU10K1 - SB Live [Unknown]
# SB Live [Unknown] (rev.7, serial:0x80261102) at 0x9000, irq 5
# 2 [CA0106 ]: CA0106 - CA0106
# Live! 7.1 24bit [SB0410] at 0x9800 irq 12
#
################################################## ################################################## ################
# was bedeutet @see modinfo ?
# Mit modinfo kannst du dir eventeulle kernel parameter zu deinen Modulen anzeigen lassen!
# Beispiel:
# /sbin/modinfo snd-intel8x0 param: id:ID String
# Mit einem String eine Identifikation auf deine Karte geben, siehe auch in der Konsole "cat /proc/asound/cards"
################################################## ################################################## ################
# [soundcore]
# !! Achtung !! Wenn dieser Eintrag in der /etc/modprobe.conf schon existiert dann hier wieder entfernen!
alias char-major-14 soundcore

# [snd]
# !! Achtung !! Wenn diese Eintraege in der /etc/modprobe.conf schon existieren dann hier wieder entfernen!
alias char-major-116 snd
# remove this from /etc/modprobe.conf if sound is configured "install char-major-116 /bin/true"
options snd cards_limit=3 major=116

# [joystick]
# !! Achtung !! Wenn dieser Eintrag in der /etc/modprobe.conf schon existiert dann hier wieder entfernen!
alias char-major-13 gameport

###########
# [NFORCE]
# Liegt auf slot 0 soll aber als karte 1 gelten!
# @see modinfo snd-intel8x0
alias sound-slot-0 snd-card-1
alias snd-card-1 snd-intel8x0
options snd-intel8x0 index=1 enable=1 id=nForce2 ac97_clock=0

# [SBLIVE]
# Liegt auf slot 1 soll aber als karte 0 gelten!
# @see modinfo snd-emu10k1
alias sound-slot-1 snd-card-0
alias snd-card-0 snd-emu10k1
options snd-emu10k1 index=0 enable=1 id=Live

# [SBLIVE_BILLIG_CHIP]
# Wenn die Karte an der SBLIVE haengt dann kann du sie nicht als extra Karte setzen hier must du erben!
# @see modinfo snd-ca0106
alias sound-slot-1-0 snd-card-2
alias snd-card-2 snd-ca0106
options snd-ca0106 index=2 enable=1 id=CA0106

# [oss] OSS/Free portion
# [snd-mixer-oss]
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-12 snd-pcm-os

# OSS Sound Services
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss

psych
09.08.05, 17:24
@Undefined

Funktioniert jetzt alles einwandfrei :) :) :) :)
Vielen dank an alle und vor allem an Undefined für die Mühe die er sich gemacht hat! Tolle Community...

Gruß
Psych