Hi ich hab letzte Woche meinen ersten Kernel 2.4 selber compiliert funktioniert aich ich bekomme nur diesen Fehler beim Kde Start: Sound server informational service Error while initializing the sound driver: device /dev/dsp can\'t be opened. Naja hab dann wieder mit meinen standard Kernel gebootet und da hab ich den gleichen Fehler :-() Wie das??
Naja aber ich hab ein tollen Befehl in der Hilfe bei dem Compilieren gefunden unzwar zum nachschauen welche Soundkarte ich genau hab:
lspci -n
Und meine Frage gibt es noch so tolle tools??
(Übigens die Soundkarte ist als Modul)
mfg
Linux 15.036 Themen, 107.107 Beiträge
Kannst du den XServer (und danach Windowmanager KDE) mal als root starten? Es könnte sein das dir als normaler user die Rechte fehlen um auf die Gerätedatei /dev/dsp zuzugreifen. Ich bin mir da aber nicht sicher. Es könnte aber auch sein das die falsche Gerätedatei ausgewählt wurde (vielleicht existiert /dev/dsp nicht).
Gib mal den Befehl "dir -l /dev/dsp" ein, um dir die Rechte dieser Gerätedatei anzuzeigen.
Ich kann sie mal mit meiner Datei vergleichen (der Sound funktioniert bei mir, hoffe ich)
Der Betriebsystemkern wählt mit Hilfe der Gerätedateien (Verzeichnis /dev/...) den entsprechenden Treiber aus. Ich blick' da aber selber nicht ganz durch.
Ich kenne noch so ein Tool. Wenn du wissen willst welche Treiber nach Hochfahren des Betriebsystemkerns schon geladen sind (monolitische Gerätetreiber), kannst du dir diese Ausgaben des Kerns mit dem Befehl "dmesg | grep WAS ICH SUCHE" anzeigen lassen.
Mit "dmesg | grep eth" kannst du dir beispielweise anzeigen lassen ob schon ein Treiber für eine Netzwerkkarte geladen wurde.
Hi Ich bekomme folgende Meldung nach dir -l /dev/dsp
lrwxrwxrwx 1 root root 4 Dec 26 13:42 /dev/dsp -> dsp0
dmesg | grep eth
eth0: RealTek RTL8139 Fast Ethernet
eth0: Identified 8139 chip type 'RTL-8139C'
eth0: Setting half-duplex based on auto-negotiated partner ability 0000.
obwohl ich eine surecom ep 320x-r hab??
Der Hersteller der Karte ist egal. Du brauchst einen Treiber für den Chip. Und auf Deiner Karte steckt eben ein Realtek Chip. Daher passt das schon.
RealTek ist die Firma die den Netzwerkchip produziert, surecom ist der Hersteller der Netzwerkkarte, auf der der Chip draufgelötet ist.
Für den richtigen Treiber ist der Chip wichtiger als die Netzwerkkarte insgesamt, denke ich mal.
Die Harwareerkennung funktioniert immer nur so gut wie die Geräte Informationen an den Betriebsystemkern liefern. Die alten ISA-Karetn haben fast gar keine Informationen geliefert. Deshalb funktioniert "Plug and Pray" auch nicht so gut mit den alten ISA-Karten.
/dev/dsp ist ein Link auf das Gerät /dev/dsp0.
Du mußt mal den Befehl ändern in:
"dir-l /dev/dsp0" damit die richtige Gerätedatei angezeigt wird, auf die der Betriebsystemkern zugreift.
Bei meinem Rechner wird folgendes angezeigt:
crw-rw---- 1 root audio ..... dsp0
Die Ausgabe bedeutet das der Eigentümer (root) Lese-Und Schreibrechte hat. Die Gruppe audio hat ebenfalls Lese-Und Schreibrechte und alle Anderen dürfen nichts (keine Rechte).
Wenn du also als normaler user auf die Gerätedaeti zugreifen willst, um ein wenig Musik abzuspielen, dann mußt du in der Gruppe audio Mitglied sein um Lese- und Schreibrechte zu bekommen. Wenn deine Gruppe anderes heißt dann mußt du eben in dieser Gruppe Mitgleid sein.
Wenn das nicht die Ursache ist weiß ich auch nicht weiter, vielleicht liegt es an der Konfiguration (falsche Gerätedatei angeben....)
Ich hab die Rechte geändert. Leider noch immer kein sound.
Ich hab mal den aumix ausführen wollen der geht bei mir nicht gibt es noch so ein tool um den Ton einzustellen?? vielleicht kann ich da was einstellen??
mfg
der link und die eigentliche datei haben immer die gleichen rechte ;-)
Hast Du den (passenden) Sound-Treiber in den Kernel reinkompiliert, oder als Modul kompiliert?
Manche Treiber reagieren ziemlich ekelhaft darauf, wenn man sie als Module kompiliert.
Ups, sorry, hab' gerade gesehen, dass Du ihn als Modul kompiliert hat.
Versuch' mal, den Treiber für den Soundkartenchipsatz in den Kernel einzukompilieren.
Wenn du den richtigen Treiber ausgewählt hast und bei der Compilierung keine Fehlermeldungen angezeigt wurden, dann mußt du mal prüfen ob der Treiber auch geladen wurde:
Befehl "lsmod" zeigt sämtliche Treibermodule an, die momentan im Speicher (Speicherbereich des Kernles) geladen sind. Ich kenne aber den namen des Treibermodules nicht. Das mußt du wissen. Mit dem Befehle als root "modprobe Treibermodule" oder "insmod Treibermodule" wird ein modularer Treiber (Treibermodul) manuell in den Speicher geladen. Die Module sind im Verzeichnis /lib/modules/... und haben das Suffix *.o (kompilierter Objektcode).
Die Treibermodule werden vom Programm Kmod automatisch geladen (auch mitHilfe von modprobe). Dazu mußt du aber auch die Unterstützung für Kmod in den Kern kompiliert haben. Wenn das O.K. ist dann kannst du dir Datei /etc/modules.conf oder die Datei /etc/conf.modules anschauen und bearbeiten (der Dateiname ändert sich manchmal bei SUSE).
Mit Hilfe dieser Datei wird vom Programm KMod das entsprechende Treibermodul geladen.
Ich versuche das mal zu erklären:
Vom Betriebsystemkern wird bei Bedarf ein sogenannter ALIAS an das Programm KMOD geschickt. Dieser ALIAS ist ein anderer Bezeichner für den Treiber der gebraucht wird. KMOD schaut in die Datei /etc/modules.conf (oder /etc/conf.modules). Auf der liken Seite stehen die ALIASE und auf der echten Seite steht das entsprechende Treibermodul, welches geladen werden soll. Bei SCSI-Controller steht beispielsweise HOSTADAPTER und auf der rechten Seite das Treibermodule welches dann von Kmod mit dem Befehl modprobe geladen wird. Da müssen manchmal ein paar Anpassungen vorgenommen werden. Bei Soundkarten kenne ich mich nicht aus. Es muß aber immer der Befehl "modprobe Treibermodul" funktionieren. Wenn nicht, dann hast du ein Problem mit dem Treiber selbst.
Wenn das alles nicht funktioniert kannst du die Kompilierung der Treibermodule nochmal machen und eventuelle Fehlerausgaben in eine Textdatei umleiten:
"make modules 2>/home/Benutzername/fehler.txt"
Dabei werden die Ausgaben des Standardfehlerkanals (2) umgeleitet in eine Textdatei deiner Wahl um die Fehler in aller Ruhe zu betrachten, die sonst untergehen würden in der Menge der Ausgaben des Compilers gcc.
Oder aber den Treiber in den Betriebsystemkern kompilieren (monolitischer Treiber). Dann wird der Treiber schon beim Hochfahren des Rechners mitgeladen.
Ich hoffe das war nicht zuviel.
Der einfachste Test ob du Sound hast, oder ob z.B. das KDE-Zeug nicht richtig geht oder falsch Einstellungen vorliegen ist folgender Befehl:
"cat /dev/urandom > /dev/audio"
ist zwar ein ziemlich "dirty" Trick, aber doch recht effektiv um zu testen. /dev/audio natürlich durch die entsprechende Ausgabegerätedatei (dsp, dsp0, ...) ersetzen.
..........oder aber starte mal mit der Eingabe 1 am Bootprompt dein Linux, log dich mit Rootrechten ein und gib alsaconf ein, so habe ich noch jede SK zum Laufen gebracht.
Gruß
NANÜ
Entweder hast du den Soundtreiber für deine Karte nicht mitinstalliert oder wenn du ALSA benutzt, dann musst du erst die Alsa-Treiber für den Kernel neuinstallieren. Die Treiber werden dann in /lib/modules/deinekernelversion/... abgelegt.
Alsa müsste dann aber auch beim starten meckern, wenn er den Treiber nicht findet.
Zumindestens muss ich immer die Alsa-Treiber neukompilieren, wenn ich den Kernel update. ;-)
Momentan arbeite ich gerade mit dem Standard Kernel. Bin gerade dabei auf Kernel 2.6.6 umzusteigen. Will aber mit diesem Kernel nur meine Treiber einbinden. Da gibts aber ein paar unklarheiten und ich bin somit momentan beim durchforsten von Linux comunities um mehr Informationemn zu bekommen.
->Wenn ich meine ES1371 Treiber im Kernel als m einbinde dann bracuh ich nix anderes beim Sound oder?? was ist Sinvoll noch einzubinden?? (zb. die ALSA optionen?)
Vorerst glaub ich wird das Problem mit alsaconf behoben sein; sobald ich wieder daheim bin probier ichs aus.
meld mich wieder
Ps.: Wenn man seinen ersten Kernel mal selber compiliert hat dann wirds in Zukunft schneller gehen. Jetzt muss ich immer wieder schauen was für Chips ich hab.
So ich hab den Kernel neu compiliert und die Karte als Modul hinzugefügt.
Naja klappt nicht aber ich bastel ja gerade am 2.6.6 naja und um diesen Fehler zu vermeiden hab ich folgende Frage:
Habe eine Ensoniq ES1371 /Es 1373 Audio PCI (onboard) dann muss ich ja nurbei Open Sound System Ensoniq Audio PCI ES 1371 aktivieren und sonst nix oder?
Zweite Frage USB: ich hab einen USB stick den ich später mounten will naja auf was muss ich achten?
Ethernet: Hab einen Realtek RTL8029AS was muss ich aktivieren?? Ich kann nur die 8139 C finden.
Danke!