# [SOLVED] ALSA - Konfiguration

## nes

Hallo allseits,

ich versuche gerade meine Soundkarte lt. der ALSA-Dokumentation http://www.gentoo.de/doc/de/alsa-guide.xml zu konfigurieren, komm da aber nicht wirklich weiter.

Ich habe zuerstmal den Kernel neu konfigurier (und dabei hoffentlich nichts übersehen  :Smile: ), danach hotplug installiert (emerge hotplug).

Ein 'lspci' bringt jetzt folgende Ausgabe:

```

gamma root # lspci

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8385 [K8T800 AGP] Host Bridge (rev 01)

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800 South]

0000:00:06.0 Multimedia controller: Philips Semiconductors SAA7134 (rev 01)

0000:00:08.0 Communication controller: Intel Corp. 536EP Data Fax Modem

0000:00:0e.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)

0000:00:0f.0 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

0000:00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

0000:00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)

0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [K8T800 South]

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)

0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)

0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration

0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map

0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller

0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control

0000:01:00.0 VGA compatible controller: nVidia Corporation NV36.4 [GeForce FX 5700VE] (rev a1)

```

Danach hänge ich ein bisschen. Lt Doku müsste ich jetzt wohl /etc/modules.d/alsa konfigurieren (?). Wie?

In /etc/modules.d/alsa finde ich nur noch folgenden Hinweis: 

## You need to customise this section for your specific sound card(s)

## and then run `update-modules' command.

## Read alsa-driver's INSTALL file in /usr/share/doc for more info.

Unter /usr/share/doc finde ich keine ALSA-Driver - Installationsdoku (da hab ich nur drei unterverzeichnisse /alsa-lib-1.0.5-r3, /alsa-oss-1.0.5 und alsa-utils-1.0.5, jeweils nicht mit der Doku die ich brauche), in /usr/share/alsa/cards finde ich zwar einen ganzen Haufen Conf-Files für alle möglichen Soundkarten, allerdings nicht für meine. 

Wie geht's weiter?

lg., nesLast edited by nes on Tue Aug 31, 2004 7:05 pm; edited 2 times in total

----------

## Nifty

ich gehe mal von nem 2.6 kernel aus ?!

# alsaconf

sollte die configuration erledigen, bitte nicht vergessen das der soundkarten-treiber NICHT explizit geladen werden sollte, das macht alsa automatisch !

----------

## nes

Ja, ein 2.6er Kernel ( 2.6.7 )

Und alsaconf findet leider nichts:

No supported PnP or PCI card found.

No legacy drivers are available

lg., nes

----------

## Nifty

meine konfiguration müsste für dich auch funzen, ich hab auch ein via board

diese module müssen in /etc/modules.autoconf.d/kernel-2.6 drin stehen & sauber laden

via686a

radeon

ati-agp

snd-ac97-codec

via-rhine

testweise kannst du auch das modul via82cxxx_audio mit modprobe per hand laden um zu sehen ob es sauber lädt, danach muss es allerdings wieder entfernt werden, da alsa sonst sauer wird ! das kannst du dann ja mit lsmod checken.

danach sollte alsaconf aber laufen

----------

## nes

Da fehlt mir anscheinend doch noch einiges im Kernel. 

 *Quote:*   

> 
> 
> diese module müssen in /etc/modules.autoconf.d/kernel-2.6 drin stehen & sauber laden 
> 
> via686a 
> ...

 

Ich finde das Modul in den Kernel-Parametern nicht. Ich hab weder irgendeinen String mit "via" in meinem /usr/src/linux/.config, noch finde ich was (annähernd) entsprechendes bei "make menuconfig". Wo finde ich den entsprechenden Param?

 *Quote:*   

> 
> 
> radeon
> 
> ati-agp
> ...

 

Sicher daß ich das auch brauche? Das betrifft doch die Grafikkarte, oder? Ich habe eine nVidia GeForce FX 5700VE und lade in /etc/modules.autoload.d/kernel-2.6 schon das Modul 'nvidia'?!?

 *Quote:*   

> 
> 
> snd-ac97-codec 
> 
> via-rhine
> ...

 

Dazu nur bitte eine Verstaendnisfrage: via-rhine (die Netzwerkkarte) brauche ich doch ohnehin immer, das habe ich nicht als Modul, sondern gleich fix in den Kernel kompiliert. Bringts irgendwelche Vorteile sowas als Modul zu laden?

lg., nes

PS: Herzlichen Dank für Deine Hilfe bisher.   :Smile: 

----------

## Nifty

Zu 1. include support for VIA VT82C686A/B, VT8233 South Bridge

Der Parameter ist :

CONFIG_SND_VIA82XX

Device Drivers\Sound\Alsa\PCI\Via ...

Das ding sollte als modul compiliert werden, wennn du es nicht findest kann es natürlich sein weil du es eincompiliert hast.

Zu 2. Natürlich, Du hast recht, ich hatte deine Nvidia Karte gesehen aber nicht weiter nachgedacht  :Smile: 

Zu 3.

Ich lade alles was nicht zum booten nötig ist als modul, es hält den kernel schlanker und beim wechsel der hardware, lädst Du halt ein anderes modul. Technisch ist natürlich nix dagagen einzuwenden das Netzwerk mit einzucompilieren, wenn du beim booten zugriff auf netzwerk sachen haben willst sind die treiber ja sogar erforderlich.

Alsowie mach es wie Du es benötigst.

----------

## nes

 *Quote:*   

> 
> 
> Zu 1. include support for VIA VT82C686A/B, VT8233 South Bridge 
> 
>  Der Parameter ist : 
> ...

 

Hab ich als Modul eingetragen, make && make modules_install durchgeführt, danach habe ich das Modul snd-via82xx (welches sich mit modprobe auch sauber laden laesst).

Die Module die Du mir empfohlen hast ( via686a, snd-ac97-codec ) habe ich aber leider beide noch immer nicht.

lg., nes

----------

## Neo_0815

Also ein :

modprobe snd_ac97_codec bringt n Fehler?

Nimm doch einfach mal das alsa Startscript.

/etc/init.d/alsasound start ... soltle alles nötige laden.

via686a brauchst du nicht wirklich, das ist ein I2C Sensor Modul.

Zur Konfiguration .. steht eigentlich alles schön in der Doku, die alsa Datei in modules.d muss folg. enthalten:

```

alias char-major-116 snd

alias char-major-14 soundcore

alias snd-card-0 snd-via82xx

alias sound-slot-0 snd-via82xx

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-oss

alias /dev/mixer snd-mixer-oss

alias /dev/dsp snd-pcm-oss

alias /dev/midi snd-seq-oss

options snd cards_limit=1

```

Damit sollte das Alsa Script alles richtig starten. Achja ein modules-update nicht vergessen.

MfG

----------

## Jlagreen

Hi,

starte die kernel config mit make menuconfig und schau mal, ob du folgende einstellungen hast

```

Device Drivers --->

      Sound --->

             <*> Sound card support

              Advanced Linux Sound Architecture --->

                    <*> Advanced Linux Sound Architecture

                    <*> Sequencer support

                    PCI Devices --->

                           <*> VIA 82C686A/B, 8233 South Bridge

```

natürlich kann alles auch als modul kompiliert werden und muss dann in die /etc/modules.autoload.d/kernel-2.6 eingetragen werden, zusätzlich kannst du die OSS Sachen unter dem Avanced Linux Sound Architecture Menü auch kompilieren, falls du Abwärtskompatibilität brauchst.

da du nun die treiber vom kernel aus lädst, brauchst du nicht alsa-driver emergen, sondern kannst im guide direkt bei den alsa-utils einsteigen.

Diese Einstellungen funzten einwandfrei unter allen 2.6.x bei mir, musste nun leider wieder zurück zum 2.4.x wegen vmware und da hat mir alsa mehr probs bereitet  :Rolling Eyes: 

----------

## Neo_0815

 *Jlagreen wrote:*   

> Hi,
> 
> starte die kernel config mit make menuconfig und schau mal, ob du folgende einstellungen hast
> 
> ```
> ...

 

Die Einstellung hat er,  CONFIG_SND_VIA82XX  ist an laut seinem Post ^^.

Und NEIN es ist FALSCH das Modul muss NICHT nach etc/modules.autoload.d/kernel-2.6 .

Man kann es zwar dahinschreiben, dann fehlen einem aber zig andere Sachen, die man brauch damit Mixer und Co richtig funktionieren, zum Bsp. das AC97 Codec Soundmodul u.a. .

Das erledigt das alsasound Bootscript was die Werte sich aus dem Environment aus der alsa Conf holt.

MfG

----------

## nes

Ich habs mal hier zusammengefasst:

```

gamma root # more /etc/modules.d/alsa

# Alsa 0.9.X kernel modules' configuration file.

# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc,v 1.2 2004/07/18 03:40:55 dragonheart Exp $

alias char-major-116 snd

alias char-major-14 soundcore

alias snd-card-0 snd-via82xx

alias sound-slot-0 snd-via82xx

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-oss

alias /dev/mixer snd-mixer-oss

alias /dev/dsp snd-pcm-oss

alias /dev/midi snd-seq-oss

options snd cards_limit=1

gamma root # more /etc/modules.autoload.d/kernel-2.6

# /etc/modules.autoload.d/kernel-2.6:  kernel modules to load when system boots.

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/modules.autoload.d/kernel-2.6,v 1.1 2003/07/16 18:13:45 azarah Exp $

#

# Note that this file is for 2.6 kernels.

#

# Add the names of modules that you'd like to load when the system

# starts into this file, one per line.  Comments begin with # and

# are ignored.  Read man modules.autoload for additional details.

# For example:

# via-rhine

snd-ac97-codec

nvidia

gamma root # # ANMERKUNG: snd-ac97-codec wird NICHT geladen, dieses Modul fehlt!

gamma root #

gamma root #

gamma root # /etc/init.d/alsasound start

 * ALSA Detected...

 * Restoring Mixer Levels                                                                                                                                                   [ ok ]

gamma root #

gamma root # aplay /usr/kde/3.2/share/sounds/KDE_Startup_new.wav

ALSA lib pcm_hw.c:1155:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: No such file or directory

aplay: main:507: audio open error: No such file or directory

```

Also: Es sieht alles soweit gut aus, 'alsasound start' laedt alles, das Modul snd-via82xx liese sich ebenfalls laden, modules-update hab ich durchgeführt. Allerdings kein Ton  :Smile: 

Hier noch ein kurzer Auszug aus meinem /usr/src/linux/.config falls das weiterhilft (Ich habe alle Sachen die nicht gesetzt sind rausgeloescht) :

```

CONFIG_SND=y

CONFIG_SND_TIMER=y

CONFIG_SND_PCM=y

CONFIG_SND_HWDEP=y

CONFIG_SND_RAWMIDI=y

CONFIG_SND_SEQUENCER=y

CONFIG_SND_OSSEMUL=y

CONFIG_SND_MIXER_OSS=y

CONFIG_SND_PCM_OSS=y

CONFIG_SND_SEQUENCER_OSS=y

CONFIG_SND_BIT32_EMUL=y

CONFIG_SND_VERBOSE_PRINTK=y

#

# Generic devices

#

CONFIG_SND_MPU401_UART=y

CONFIG_SND_VIRMIDI=y

CONFIG_SND_MPU401=y

#

# PCI devices

#

CONFIG_SND_AC97_CODEC=y

CONFIG_SND_ATIIXP=y

ONFIG_SND_VIA82XX=m

```

Ja, jetzt wo ich reingeschaut habe seh ich es, snd-ac97-codec wird bereits fix in den Kernel kompiliert, ist also kein Wunder daß es nicht als Modul vorhanden ist.

Da habe ich übrigens wieder einen merkwürdigen Effekt:

Ich ändere die betreffende Zeile auf

CONFIG_SND_AC97_CODEC=m

führe ein make && make modules_install aus, danach steht die Zeile wieder auf

CONFIG_SND_AC97_CODEC=y

Dreimal jetzt ausprobiert, irgendwo bei dem "make" oder "make modules_install" wird mir der Wert von "m" (=Modul) auf "y" (fix in den Kernel kompilieren) geändert!?!

Egal, es ist jedenfalls im Kernel. Funktionieren tut's aber leider immer noch nicht (siehe oben, Ausgabe von "aplay *.wav")

lg., nes

----------

## Neo_0815

Was sagt ein lsmod ?

Und steht was in den Logs des Sounds betreffend?

Was für Devices gibts in /dev/sound/ ?

MfG

----------

## nes

```

gamma linux # lsmod

Module                  Size  Used by

rtc                    12176  0

nvidia               5288820  12

gamma linux #

gamma linux # ls /dev/sound/

admmidi  amidi  dmmidi  dmmidi1  midi  midi1  mixer  mixer1  sequencer  sequencer2

gamma linux #

gamma linux # # falls das was hilft ...

gamma linux # amixer info

Card default 'VirMIDI'/'Virtual MIDI Card 1'

  Mixer name    : ''

  Components    : ''

  Controls      : 0

  Simple ctrls  : 0

```

Was meinst mit den Logs? Hab ich keine gefunden die den Sound betreffen, unter /var/log hab ich diesbezueglich nichts, auf der Konsole (F12) erscheint keine Meldung.

lg., nes

----------

## Neo_0815

Also die Soundmodule sind doch gar nicht geladen ... höh ?

Kompilier es mal als Modul, nicht fest ein bitte ... .

Es fehlen die dsp Devices, daher auch kein Sound ... hab so das Gefühl  deine Soundkarte wird mit dem Treiber da nicht anerkannt ... wie gesagt, macht mal alles als Modul.

Zum Vergleich ein lsmod für meine Sound Konf:

```

snd_seq_midi            8608  0 

snd_seq_oss            34112  0 

snd_seq_midi_event      7936  2 snd_seq_midi,snd_seq_oss

snd_seq                53712  5 snd_seq_midi,snd_seq_oss,snd_seq_midi_event

snd_pcm_oss            54248  0 

snd_cs46xx             91400  5 

snd_rawmidi            25316  2 snd_seq_midi,snd_cs46xx

snd_seq_device          8200  4 snd_seq_midi,snd_seq_oss,snd_seq,snd_rawmidi

snd_ac97_codec         68932  1 snd_cs46xx

snd_pcm                97480  5 snd_bt87x,snd_pcm_oss,snd_cs46xx

snd_timer              25476  2 snd_seq,snd_pcm

snd                    56036  19 snd_bt87x,snd_seq_midi,snd_seq_oss,snd_seq_midi_event,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_cs46xx,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm,snd_timer

soundcore               9952  3 bttv,snd

snd_page_alloc         11592  3 snd_bt87x,snd_cs46xx,snd_pcm

gameport                4736  1 snd_cs46xx

```

Ne Menge mehr, u.a. auch die wichtigen snd_pcm Module.

MfG

----------

## nes

Ich weiss zwar nicht wieso, aber es hat gereicht die entsprechenden Module nicht mehr fix in den Kernel zu kompilieren, sondern so wie Du geraten hast, alles als Module.

Dürfte also soweit alles funktionieren, ich habe nen Sound, herzlichen Dank!  :Smile: 

Zur Sicherheit nochmals die Ausgaben, wenn Du es Dir bitte nochmals kurz ansehen könntest ob da jetzt alles passt (Daß ich Anfänger bin und kaum ne Ahnung habe wofür die ganzen Module gehören, brauch ich wohl nicht mehr zu erwähnen  :Wink:  )

```

bash-2.05b$ lsmod

Module                  Size  Used by

snd_via82xx            26820  1

snd_mpu401_uart         7296  1 snd_via82xx

snd_rawmidi            23332  1 snd_mpu401_uart

snd_seq_oss            34944  0

snd_seq_midi_event      7552  1 snd_seq_oss

snd_seq                57536  4 snd_seq_oss,snd_seq_midi_event

snd_seq_device          7820  3 snd_rawmidi,snd_seq_oss,snd_seq

snd_pcm_oss            60840  0

snd_pcm               103432  3 snd_via82xx,snd_pcm_oss

snd_page_alloc         11152  2 snd_via82xx,snd_pcm

snd_timer              24328  2 snd_seq,snd_pcm

snd_mixer_oss          19456  1 snd_pcm_oss

rtc                    12176  0

nvidia               5288820  12

snd_ac97_codec         71556  1 snd_via82xx

snd                    54888  13 snd_via82xx,snd_mpu401_uart,snd_rawmidi,snd_seq_oss,snd_seq_midi_event,snd_seq,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss,snd_ac97_codec

soundcore               8864  1 snd

bash-2.05b$

```

Danke nochmals an alle Helfer, nes

----------

## Neo_0815

Ich würde sagen passt  :Wink: . Gern geschehen.

Bitte das Thema noch auf Solved setzen.

MfG

----------

## nes

Im nachhinein hab ich doch noch die Begründung dazu gefunden, siehe http://alsa.opensrc.org/index.php?page=TroubleShooting

Ich zitiere:

Make sure you have installed ALSA as modules, and not compiled into the kernel.

ALSA fails for all sorts of reasons when compiled into the kernel (this may no longer be true for kernels after v2.6.5).

Anything that mentions sound in the kernel config, even if it is not directly to do with ALSA, set it's option to M if you can.

If you compile you own kernel: when you configure the kernel, make sure you see M (for module) and not * (compiled into the kernel).

Ich hab zwar einen 2.6.7er Kernel, aber genau daran lag's bei mir.  :Rolling Eyes: 

Vielleicht könnte/sollte man einen entsprechenden Hinweis in der Gentoo ALSA-Doku einbringen?

lg., nes

----------

## Gekko

 *Nifty wrote:*   

> ich gehe mal von nem 2.6 kernel aus ?!
> 
> # alsaconf

 

[TOTAL OFFTOPIC]

Derjenige der das Skript geschrieben hat kriegt von mir hiermit 1000x virtuelle Bussis   :Embarassed:   :Mr. Green:   DANKE, DANKE, DANKE!!! Ich hasse es Alsa händisch zu konfigurieren......

EDIT: ..... und das seit zwei Monaten seit ich das Notebook hier hab   :Confused:   Nifty, wenn ich dich nicht hätt...

----------

## amne

 *Neo_0815 wrote:*   

> 
> 
> Bitte das Thema noch auf Solved setzen.
> 
> 

 

Mach doch selber.  :Razz: 

Raufscrollen zum ersten Post und auf edit drücken.  :Very Happy: 

----------

## Gekko

 *amne wrote:*   

>  *Neo_0815 wrote:*   
> 
> Bitte das Thema noch auf Solved setzen.
> 
>  
> ...

 

Dazu müsst er Mod sein  :Wink: 

Hat ja nes und nicht Neo_0815 aufgemacht.

----------

## amne

 *Gekko wrote:*   

> 
> 
> Dazu müsst er Mod sein 
> 
> Hat ja nes und nicht Neo_0815 aufgemacht.

 

Upsi! Dabei bin ich nicht mal besoffen.  :Wink: 

----------

## Neo_0815

 *Gekko wrote:*   

>  *amne wrote:*    *Neo_0815 wrote:*   
> 
> Bitte das Thema noch auf Solved setzen.
> 
>  
> ...

 

Stimmt  :Wink: .

Btw ... händisch macht Spass ^^.

MfG

----------

