PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : alsa unter Debian Woody mit Kernel 2.4.18 - wie geht das???



holgerw
19.06.02, 09:56
Hallo,

vermute mal, das ist unter diesem Forum besser aufgehoben als bei Musik.

Ich habe Debian Woody und nutze den Standardkernel, habe als Modul bei der Woody Installation u.a. noch emu10k1 hinzugeladen.

Nun möchte ich wie unter SuSE 8.0 die Digitalfunktionen meiner SB Live Platinum nutzen. Da SuSE 8.0 auf alsa0.9 aufbaut, und das dort klappt, dachte ich: Schön, einfach per apt-get einige alsa Sachen installieren, alsaconf aufrufen und dann läuft es - denkste.

Es kommt immer die Meldung, dass das snd Modul nicht geladen werden kann.

Es fehlen offensichtlich alsa treiber. Aber gebe ich apt-cache search alsa ein, erscheinen nur die module von Kernel 2.4.16, ich habe mit woody aber Kernel 2.4.18.
Wenn ich mit apt-get die Module für 2.4.16 holen möchte, wird auch noch kernel-image 2.4.16 angefordert. Das habe ich sofort abgebrochen, will ja meinen Kernel 2.4.18 behalten.

Was mache ich denn jetzt? Will mir das System nicht durch diesen Käse zerstören.

Danke für Hilfe im Voraus.

Beste Grüße,
Holger

hunter
19.06.02, 10:06
Was ist das denn. Ein Debian Benutzer der leiber das PAketsystem benutz als selbst Hand an zu legen ? :)

--> http://www.linuxforen.de/forums/showthread.php?s=&threadid=26120

Selbst gemacht ist immer noch am besten.

holgerw
19.06.02, 10:14
Hallo hunter,

habe fast drauf gewartet, dass unter anderem Du bei diesem Thema antwortest :-)

Ein Debian Benutzer der leiber das PAketsystem benutz als selbst Hand an zu legen ?

Es müsste vielleicht besser heißen:
Ein noch sehr unerfahrener Debian Benutzer, der ersatmal vorsichtig mit dem System umgehen möchte ...

Aber es wird wohl drauf hinauslaufen, dass ich alsa nach Deiner Anleitung machen werde. Hoffentlich habe ich alle nötigen Sachen dazu auf meinem System, wie gesagt, arbeite produktiv erst wenige Tage mit Woody.

Dann werde ich es wohl mal wagen *g*.

Grüße,
Holger

hunter
19.06.02, 10:56
Dann bin ich ja froh dich nicht enttäuscht zu haben. :D

holgerw
19.06.02, 11:41
Hi,

alsa driver zu installieren geht schon schief:
./configure --with-sequencer=yes --with-oss=yes --with-cards=emu10k1
Das geht noch gut. Allerdings kommt unter anderem
checking for kernel PCI suppoert ...no
Aber kein Fehler.

Dann ein make all:
make dep
make[1]: Entering directory `/backup/alsa-driver-0.9.0rc1'
make[2]: Entering directory `/backup/alsa-driver-0.9.0rc1/acore'
make -C ioctl32 fastdep
make[3]: Entering directory `/backup/alsa-driver-0.9.0rc1/acore/ioctl32'
gcc -E -M -DALSA_BUILD -D__KERNEL__ -DMODULE=1 -I/backup/alsa-driver-0.9.0rc1/include -I/usr/src/linux/include -O2 -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer -pipe hwdep32.c ioctl32.c pcm32.c rawmidi32.c timer32.c > .depend
In file included from /backup/alsa-driver-0.9.0rc1/include/sound/driver.h:43,
from ../../alsa-kernel/core/ioctl32/hwdep32.c:22,
from hwdep32.c:1:
/backup/alsa-driver-0.9.0rc1/include/adriver.h:40: linux/modversions.h: No such file or directory
In file included from /backup/alsa-driver-0.9.0rc1/include/sound/driver.h:43,
from ../../alsa-kernel/core/ioctl32/ioctl32.c:22,
from ioctl32.c:1:
/backup/alsa-driver-0.9.0rc1/include/adriver.h:40: linux/modversions.h: No such file or directory
In file included from /backup/alsa-driver-0.9.0rc1/include/sound/driver.h:43,
from ../../alsa-kernel/core/ioctl32/pcm32.c:22,
from pcm32.c:1:
/backup/alsa-driver-0.9.0rc1/include/adriver.h:40: linux/modversions.h: No such file or directory
In file included from /backup/alsa-driver-0.9.0rc1/include/sound/driver.h:43,
from ../../alsa-kernel/core/ioctl32/rawmidi32.c:22,
from rawmidi32.c:1:
/backup/alsa-driver-0.9.0rc1/include/adriver.h:40: linux/modversions.h: No such file or directory
In file included from /backup/alsa-driver-0.9.0rc1/include/sound/driver.h:43,
from ../../alsa-kernel/core/ioctl32/timer32.c:22,
from timer32.c:1:
/backup/alsa-driver-0.9.0rc1/include/adriver.h:40: linux/modversions.h: No such file or directory
make[3]: *** [fastdep] Error 1
make[3]: Leaving directory `/backup/alsa-driver-0.9.0rc1/acore/ioctl32'
make[2]: *** [_sfdep_ioctl32] Error 2
make[2]: Leaving directory `/backup/alsa-driver-0.9.0rc1/acore'
make[1]: *** [dep] Error 1
make[1]: Leaving directory `/backup/alsa-driver-0.9.0rc1'
make: *** [include/sndversions.h] Error 2

Hmmm, was fehlt da, bzw. was muss überhaupt erstmal in den Kernel noch rein?
Müssen vielleicht Soundmodule wie emu10k1 oder soundcore vorher entladen werden?
Das sind eben Gründe, weshalb ich gerne das Ganze mit apt erledigt hätte.

Bitte um weitere Hilfe,
Holger

hunter
19.06.02, 11:52
Da scheint was zu fehlen. Sind die Kernel Header installiert ?

Findet sich diese fehlende Datei vieleicht woanders in deinem System ?

holgerw
19.06.02, 12:10
Hi Hunter,

ja, sind installiert, ebenfall modutils und auch kernel sourcen (sofern man leztere überhaupt braucht). Die Datei modversions.h befindet sich in:
/usr/src/kernel-headers-2.4.18/include/linux
Dann habe ich noch:
/usr/src/kernel-source-2.4.18
und
/usr/src/linux Link auf kernel-source-2.4.18

Die alsa-driver habe ich nach /backup entpackt und von dort aus das Procedere gestartet.
Was muss ich noch machen?

hunter
19.06.02, 12:56
Bei mir ist diese Datei in diesen Verzeichnissen:

/usr/src/linux-2.4.18-6mdk/include/linux/modversions.h
/usr/include/linux/modversions.h

Mach das bei dir auch mal. Möglicherweise ist eines nur ein Deadlink oder so.

Wegen PCI unterhalten wir uns wenn das geht. Daher erst mal nicht mehr als die Driver compilieren (nicht mal installieren).

Hast du "make dep && make all" ausgeführt ?

holgerw
19.06.02, 13:31
Hi Hunter,

danke für Deine bisherige Unterstützung. Ich vermute, der Fehler lag an einem falschen symbolischen Link. Bei Debian kann man einmal die Kernel Headers installieren und die Kernel Quellen. Beide werden nach /usr/src installiert. Habe mit einem symbolischen Link "linux" die Quellen verlinkt, nicht die Headers. Da er bei "make dep" fehlende Sachen bemängelte, die alle nur in den Headers Ordnern waren, habe ich den Link "linux" auf die Header gelegt.

Ein "make dep" und ein "make all" liefen nun fehlerfrei durch und endete mit:
ALSA modules were successfully compiled.

In meinem Kernel ist definitv PCI Support reinkompiliert. Nun dürfte doch bei einem "make install" nichts mehr schiefgehen, oder?

hunter
19.06.02, 14:07
Hmm. Nein. Das mit dem PCI gefällt mir nicht. Exakt dieses Problem hatten ml und ich mit unserem Mandrake 8.2. Dann compiliert der zwar alles, aber nur Sachen die nichts mit PCI zu tun haben. PCI Module wie z.B. der emu10k1 werden dann nicht verfügbar sein.

Ich hab dich jetzt erst mal an Problem 2 machen lassen, weil diese beiden Fehler nichts direkt miteinander zu tun haben müssen.


Also Problem 1:

Zieh dir mal diese beiden Threads rein:

http://www.linuxforen.de/forums/showthread.php?s=&threadid=33785&highlight=alsa
http://forum.winner.de/showthread.php?s=&threadid=10365

Du kannst entweder die Header neu compilieren, updaten oder beta 12 benutzen. Ich denke die Methode mit beta 12 ist am unschädlichsten für dein System. Und mir sind keine störenden Mängel an 0.9 beta 12 bekannt, die dich zu rc1 zwingen würden.

holgerw
19.06.02, 15:03
Hallo Hunter,

bei mir zeigt configure nach der Maßnahme

ln -sf kernel-headers-2.4.18 linux

in /usr/src an, dass PCI support im Kernel vorhanden ist.

Trotzdem: Es läuft alles fehlerfrei durch, auch bei den anderen alsa Paketen,
depmod -a
dann
modprobe snd-emu10k1

Can't locate module snd-emu10k1

Irgendwie sind die Module nicht da.

Was ich nicht verstehe:
Unter SuSE sind doch die Headers des Kernels in die Quellenunterverzeichnisse integriert, d.h. unter /usr/src gibt es ein Verzeichnis linux, und darin sind sowohl Headers als auch Quellen des Kernels.

Ich vermute, es hat damit zu tun, dass die Headers und Quellen des Kernels bei Debian nebeneinander liegen, ein ls -la /usr/src bringt:

drwxrwsr-x 4 root src 200 Jun 19 15:35 .
drwxr-xr-x 15 root root 336 Jun 17 13:36 ..
drwxr-xr-x 3 root root 96 Jun 19 10:27 kernel-headers-2.4.18
drwxr-xr-x 14 root root 616 Jun 19 15:32 kernel-source-2.4.18
-rw-r--r-- 1 root root 23837917 Apr 14 02:45 kernel-source-2.4.18.tar.bz2
lrwxrwxrwx 1 root src 21 Jun 19 15:35 linux -> kernel-headers-2.4.18

Für Schritt 1, alles von alsa zu bauen und zu installieren reichen die Headers, aber für das Erkennen und ordentliche Einbinden der alsamodule wird das Kernelquellenverzeichnis gebraucht.
Oder bin ich da auf dem Holzweg? Ich kapiere das irgendwie nicht.
Und ich befürchte, dass das mit beta0.9.12 von alsa nicht anders aussieht. Denn wie gesagt, configure bestätigt ja bei mir nun den PCI Support im Kernel.
Was würdest Du mir raten, zu tun, ohne mein System zu versauen?

Danke für weitere Infos im Voraus.

Henni
19.06.02, 15:33
Frage : was gibt er aus wenn du nur ./configure eingibst (ich meine mit PCI Support)

Falls er es mit einem ja beantwortet, mache folgendes:

./configure (von vorher)
make clean
make depend
make
su
make install

und versuche dann ein Modprobe.. (make clean wirkt oft wunder :-))

mfg, Henni

holgerw
19.06.02, 15:39
Hallo,

danke auch für Deine Hilfe.

ein configure bringt folgendes:
creating cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for ranlib... ranlib
checking for a BSD compatible install... /usr/bin/install -c
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for working const... yes
checking for inline... inline
checking whether time.h and sys/time.h may both be included... yes
checking whether gcc needs -traditional... no
checking for current directory... /backup/alsa-driver-0.9.0rc1
checking cross compile...
checking for directory with kernel source... /usr/src/linux
checking for kernel version... 2.4.18
checking for kernel linux/pm.h... yes
checking for kernel module symbol versions... yes
checking for PCI support in kernel... yes
checking for SGI/MIPS (HAL2) architecture... no
checking for directory to store kernel modules... /lib/modules/2.4.18/misc
checking for verbose printk... on
checking for debug level... none
checking for processor type... i686
checking for SMP... yes
checking for ISA PnP driver in kernel... yes
checking for ISA PnP support... yes
checking for driver version... 0.9.0rc1
checking for sequencer support... yes
checking for OSS/Free emulation... yes
checking for RTC callback support in kernel... no
checking for which soundcards to compile driver for... all
updating cache ./config.cache
creating ./config.status
creating version
creating Makefile.conf
creating snddevices
creating utils/alsa-driver.spec
creating utils/buildrpm
creating toplevel.config
creating include/config.h
include/config.h is unchanged
creating include/config1.h
creating include/version.h
include/version.h is unchanged

Das sieht doch alles gut aus. Und du meinst, eine Verlinkung "linux"auf das headers Verzeichnis in /usr/src ist in Ordnung und reicht??? Wie gesagt, wenn die Verlinkung "linx" auf den Quellen liegt, findet configure keinen PCI Support im Kernel.

Werde das nochmal nach Deiner Anleitung problieren.

holgerw
21.06.02, 08:38
Hallo,

so, habe erstmal alles an alsa mit make uninstall && make clean wieder vom PC geworfen. Schön, dass das geht, da sollten sich einige Projekte ne Scheibe von abschneiden, ein manuiell eingespieltes cups z. B. lässt sich so nicht wieder sauber entfernen.

Wie soll ich nun vorgehen? Brauche ich nur die header oder nur die Quellen oder beides? Und wie bekomme ich es dann hin, dass sowohl Header als auch Quellen unter /usr/src/linux liegen? Dort werden sie nämlich beim Alsa Kompilieren gesucht?

Kann ich die einfach ineinander kopieren?

Bitte um weitere Hilfe, es muss doch möglich sein, unter Debian Woody alsa vernünftig zum Laufen zu bringen.

Grüße,
Holger

Henni
21.06.02, 16:45
Ich hab nen Link /usr/src/linux auf die Headers und Alsa kompiliert sich eigentlich problemlos. Und wie ich deiner configure ausgabe entnehmen kann, passt eh alles. Also wo liegt jetzt noch das Problem?

(auf die Sourcen kannst nur dann verlinken, wenn du den Kernel in den Sourcen kompiliert hast,
(make menuconfig && make depend && make && make modules su && make bzimage)
Alsa benötigt die Header Dateien des AKTUELL verwendeten Kernels.)

mfg, Henni

holgerw
28.06.02, 17:08
Hallo,

entschuldigt meine Meldepause - bin erst heute zum alsa Aufsetzen gekommen. Inzwischen läuft bei mir Debian sid.

Alsa läuft nun, habe zunächst nur die Kernelheaders neu installiert, dann mir das neueste alsa gesaugt, dann nach hunters Anleitung gearbeitet bzw. Hennis Tipps mit dem make clean berücksichtigt. alsa-driver, alsa-libs, alsa-oss und alsa-utils ließen sich ordentlich installieren - bei den utils wurde ein fehlendes ncurses.h bemäkelt, habe dann per apt-get einfach die erforderlichen ncurses Sachen nachinstalliert, dann lief die alsa-utils Installation auch ohne Probleme.

Dann noch die alten Kernelsoundmodule dauerhaft entfernt, dann ein alsa Startscript, das beim Booten abgearbeitet wird.

Vielen Dank für die Hilfe.

Beste Grüße,
Holger