[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ALSA Sound und das Kernel Modul...



Beim Schreiben aus versehen den Reply statt den "neue Mail schreiben"
Button angeglickt?!

On 09.Dez 2002 - 00:23:37, Philipp Drewes wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hallo Liste,
> ich habe den Kernel 2.4.20 heruntergeladen und mit dem .configure file
> config-2.4.18-bf2.4 aus /boot konfiguriert, gemaket und sonstiges. Danach
> habe ich ALSA auch aus den Quellen erstellt und installiert. Das mit dem
> Sount klappt auch zur Zeit... nur nicht nach meinen Wünschen.

Woher ist das Alsa, direkt vom Projekt oder aus deb-Paketen? Der Kernel
von Debian oder auch direkt von kdernel.org? Wie gemaket - debian way
oder das "originale"?

> Während des Bootens für die Debian einen Hardware Scan durch und liefert
> ein "Detecting Hardware" und darunter auch es1371.
> 
> Ein lsmod liefert danach (im wesentlichen für den sound):
> 
> ...
> es1371                 28000   1
> gameport                1308   0  [es1371]
> ac97_codec             10016   0  [es1371]
> soundcore               3236   4  [snd es1371]
> ...
> 
> In die /etc/modules habe ich snd-ens1371 eingetragen. Um schon bei dem
> während des bootens auftretenden depmods meine ALSA Module zu laden.
> 
> Da bekomme ich dann:
> 
> Dec  8 23:50:51 stuttgart kernel: Ensoniq AudioPCI soundcard not found or device busy
[...]
> Dec  8 23:50:52 stuttgart insmod: /lib/modules/2.4.20/kernel/sound/pci/snd-ens1371.o: insmod snd-card-0 failed
> 
> was ja auch klar ist, da der KernelTreiber schon die Soundkarte belegt.

Richtig, außerdem gehören die Treiber für Alsa unter Debian nicht in
irgendeine /etc/modules*.

> Wenn ich alle es1371 Abhängigkeiten mit rmmod entferne, wird das ALSA
> System mit depmod oder /etc/init.d/alsaconfig start/stop sauber
> konfiguriert.

Richtig, aber auf meinem Debian (testing mit Kernel 2.4.19 und Alsa
2.9RC5 beides von debian.org) wird alsa mittel /etc/init.d/alsa
gestartet?!

> 1)  Wie werde ich also den es1371 beim Hardware Scan wieder los?
> 
> 1a) Muß ich das beim Kernel Bulid ausschalten?

Prinzipiell nicht, aber da ja ein Hardwarescan beim booten gemacht wird
wohl doch. Denn der lädt dann wohl den Kerneltreiber für die Karte.

Also mit make menuconfig oder wie auch immer, das es1371 Modul entfernen
und das ac97 am besten auch. soundcore brauchst du aber noch für ALSA.

BTW: Wieso willst du eigentlich ALSA wenn du nen Kerneltreiber hast?

> 1b) Wenn ja, wird dann ein
>     neues make modules; makes modules_install das Modul auch aus den
>     /lib/modules/'uname -r'... entfernen oder muß ich da zuerst ein make
>     remove machen (gibt es das beim Kernel)

Also wenn du einfaches entfernen/deinstallieren der Module und so willst
empfehle ich dir den "debian way" zum Kernel bauen mittels make-kpkg. Da
kriegst du am ende ein .deb und kannst das einfach installieren.
Nachteil: Das bauen dauert etwas länger und du kannst Module dir zu den
Kernelquellen gehören (wie das es1371) nicht entfernen, sondern musst
den ganzen Kernelbau wiederholen.

Nun zu deiner Frage 1b) AFAIK (ich baue normalerweise mit make-kpkg,
also garantiere ich für diese Aussagen nicht) musst du
/lib/modules/'uname -r' löschen. Dann in /usr/src/linux folgendes machen
make clean ; make modules ; make modules_install

Das sollte dann reichen.

> 2)  Hat mal jemand ne übersicht parat, was es beim Kernel für make
>     Optionen gibt?

Guck doch einfach mal ins Makefile unter /usr/sr/linux ?! So kompliziert
ist das eigentlich nicht aufgebaut. Ich kenne folgende:

make clean - Löschen der Binärfiles
make modules_clean - Löschen der Binärfiles für die Module
make mrproper - Alles löschen was nicht im Originalen tar.gz war
make config - Abfrage der Optionen in reinem Text
make menuconfig - ASCII Menu für die Kerneloptionen
make xconfig - startet ein tcl/tk Menü für die Kerneloptionen
make oldconfig - Macht aus einer .config im Kernelverz. eine neue
	Konfiguration und fragt nur nach unbekannten Optionen
make bzImage - Kernel bauen
make zImage - Das war was mit sehr kleinem Kernel bauen glaube ich (oder
	wars das obere??)
make bzlilo - richtet lilo ein, so das der neue Kernel automatisch
	gestartet wird und der alte drin bleibt als 2. Option
make modules - Module bauen
make modules_install - Module installieren

> 3)  Wißt ihr auch, wie man bei den alsa-drivers nur einzelne Module
>     erzeugt?

Ich nehme mal an du willst nur bestimmte Karten haben und nicht alle?
Da gibts das hübsche debconf Interface alsaconf aus dem gleichnamigen
Paket. Der erzeugt (zwar eigentlich für Alsa 0.5 aber das geht auch mit
0.9) /etc/alsa/alsa-source.conf mit den Karten die du dort auswählst.
Diese Datei wiederum wird von den Alsaquellen aus den Debian-paketen
eingelesen (ich nehme mal stark an auch von den anderen).

> 3a) Welche make optionen sind es denn dort?

Guck doch einfach mal in die Readme unter /usr/src/modules/alsa-driver/
oder auf alsa-project.org.

>     ALSA läuft aber leider doch nicht SO perfekt, wie oben beschrieben:
>     beim /etc/init.d/alsaconf start
> 
>     bekomme ich folgende Fehlermeldung:
> 
>     /usr/sbin/alsactl: set_control:960: Cannot write control '3:0:0:IEC958 Playback Mask:0' : Operation not permitted

Tja da gibts wohl ein Problem mit den Rechten?! Die Module für alsa sind
doch geladen oder?! (lsmod) Und wie sieht dein /dev/dsp aus? Bist du
root? 

>     Das stop geht ohne Probleme.

Ist ja klar, weil der start ja abgebrochen ist und er nichts tut.

> 5)  Weiterhin kann nur root alsamixer benutzen alle anderen bekommen:
> 
>     alsamixer: function snd_ctl_open failed for default: Permission denied

Die Nutzer müssen schon in der Gruppe audio sein und diese muss rw!
Zugriff auf die Snd-Devices habe (frag mich nicht welche das alles sind
ich glaube der Großteil wird aus /proc/asound verlinkt?! Aber all das
sollte von dem Startskript (was bei mir /etc/init.d/alsa heißt) erledigt
werden.

> Kann sein, daß ich im oberen Teil Dinge behauptet habe, die nicht ganz
> richtig sind. Aber ich bin noch ein Neuling mit dem Kernel und auch mit
> der tollen Debian Distri.

Achso, sag das doch gleich. Dann hoffe ich erstmal das das obige nicht
zu verwirrend ist. Wenn du neu bei Debian bist und auch beim Kernel
bauen würde ich dir wirklich empfehlen für den Kernel und Alsa folgende
Pakete zu installieren: (Die Versionen sind aus testing, bei woody ist
das Alsa Zeug etwas älter (ich glaube 0.9beta2)).

alsa-utils, alsa-base, alsa-source, alsaconf, alsaplayer (die Libs dazu
müssten dann automatisch installiert werden), dann noch
kernel-source-deine Versionsnummer und kernel-package (da ist make-kpkg
drin). 

Außerdem empfehle ich dir sehr dann make-kpkg zum Bauen des Kernels zu
benutzen, da es sehr viel einfacher geht als mit normalem make.

Andreas

-- 
Wußten Sie schon...
... daß die Sache mit dem "regelmäßigen Stuhlgang" nur
    ein Märchen ist, weil Stühle gar nicht gehen können?

Attachment: pgpDByGgmXduO.pgp
Description: PGP signature


Reply to: