• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] "modprobe saa7134-dvb" nur von Hand?

G aus W

Hacker
Liebe Forengemeinde,

um ungetrübten DVB-T Empfang mit Kaffeine zu haben, muß ich nach jedem Neustart als Root in der Konsole den Befehl "modprobe saa7134-dvb" von Hand eingeben. Ohne diese Eingabe öffnet Kaffeine nur ohne DVB-Funktionalität.

Habe nun schon folgendes versucht:Den Befehl in ein Skript gepackt, welches ich in der /etc/init.d eingetragen habe und über YAST dem Runlevel-Editor mitgeteilt, daß er es in Runlevel 5 starten soll: vergebens.
Den Befehl im Gnome-Kontrollzentrum unter "Sitzungen" in den Startprogrammen eingetragen: vergebens.

Schlimmer noch: Wird der Befehl (laienhaft ausgedrückt) zu früh geladen, funktioniert Kaffeine bzw. die DVB-T Funktionalität nicht, auch nicht nach nochmaligem Eingeben des gleichen Befehls. Mir scheint also, der Befehl muß als allerletztes durchgeführt werden, nachdem alle anderen Module bereits geladen sind. Daher die Frage an die werten Experten:

- Wie/wo kann ich ein solches Skript hinterlegen?
- Gibt es eine andere Lösung für mein Problem?

Mein System: Suse 10.0 64-bit, AMD 64 x2 4200.
Wenn Ihr weitere Angaben braucht, bitte kurz nachhaken, bin - wie Ihr seht - noch reichlich unerfahren in der Welt der Pinguine.

Auf Eure Tips freut sich
Greg
 
Moin G aus W,

da ich kein SuSE mehr habe kann ich es nur umschreiben. In init.d werden die Skripte vorgehalten die in den einzelnen Runleveln (haben eigene Verzeichnisse) abgearbeitet werden können. Dies geschieht dadurch das symbolische Links auf die Dateien erstellt werden denen ein S (für Start) vorangestellt wird. Dazu kommt dann noch die Position an der das Skript abgearbeitet wird. 99 ist die letzte Position die Möglich ist. Also mußt Du ein 'ln -s /etc/init.d/SKRIPT /wo/das/runlevel/ist/S99SKRIPT' ausführen und im runlevel hast Du S99SKRIPT als symbolischen Link auf SKRIPT aus /etc/init.d

Ich hoffe dass das jetzt halbwegs verständlich war...
 
OP
G

G aus W

Hacker
Hallo Geier0815,

erst mal ein Dankeschön, daß Du Dich meines Problems angenommen hast.

Puh, das ist schwerer Tobak für einen Linux-Neuling...

Ich denke zwar, ich hab's richtig gemacht, hier meine Vorgehensweise:

- Ein Skript namens "AJDtv" mit dem Inhalt "modprobe saa7134-dvb" angelegt in /etc/init.d
- Im Ordner /etc/init.d/rc5.d einen symbolischen Link angelegt mit dem Namen "S99AJDtv".

Soweit, so gut. Jetzt kommt das "aber":
Nach dem Booten MIT diesem Eintrag ist die DVB-T-Funktion bei Kaffeine deaktiviert, auch ein neues Eingeben von "modprobe saa7134-dvb" über die Konsole hilft dann nicht mehr.

Testweise das Skript deaktiviert (ein "#" vor den Befehl) - und er verhält sich normal (was dann heißt: DVB-T geht zwar nicht auf Anhieb, aber nach manueller Eingabe des modprobe-Befehls).

Sehr, sehr merkwürdig. Wie kann es sein, daß "modprobe saa7134-dvb" nur dann die gewünschte Wirkung zeigt, wenn man es von Hand eintippt? Wo ist der Unterschied für das System zwischen einer manuellen Eingabe als Root, und einem Start via Befehl im init.d? Habe im /etc/init.d/rc5.d keinen weiteren Eintrag, der mit S99 startet.

Weißt Du noch einen Rat? Gibt es eine sinnvollere Herangehensweise für mein Problem?

Danke sagt
Greg
 
Moin G aus W,

der Unterschied besteht darin das bei dir wahrscheinlich Gnome gestartet wird bevor Du modprobe ausführst, evtl. ist da im autostart noch was drin was die TV-Karte betrifft. Versuch doch mal den Aufruf als letzten im Autostart von Gnome einzubinden. Da kann ich dir aber nicht sagen wo der liegt, da ich kein Gnome verwende.
 

gameboy

Hacker
Hallo G aus W,

ich habe nur einen kleinen Hinweis, der vermutlich nicht Dein gesamtes Problem löst, aber trotzdem hilfreich sein könnte: In (Runlevel-, Cronjob-)Skripten empfiehlt es sich grundsätzlich, bei Programmaufrufen den kompletten Pfad, in Deinem Fall also /sbin/modprobe anzugeben. Ansonsten kann es nämlich sein, daß das Programm oder Skript, welches gestartet werden soll, gar nicht gefunden wird.

Viele Grüße,
gameboy.
 
OP
G

G aus W

Hacker
Hallo Geier0815, hallo Gameboy,

vielen Dank für Eure Tips. Ich habe es mal mit dem Eintrag im Gnome-Kontrollzentrum (System -> Gnome-Kontrollzentrum -> Sitzungen) versucht. Kann es sein, daß die Befehle, die dort hinterlegt werden, nicht als Root ausgeführt werden? Habe einen kompletten Pfadnamen zu meiner Skript-Datei angegeben, daran liegt es nicht. Aber "modprobe saa7134-dvb" muß ich ja auch in der Konsole als Root eingeben, damit es funktioniert.
Ein "sudo" davor wird nicht akzeptiert...

Bin ich denn überhaupt auf dem richtigen Weg, oder laufe ich gerade in die Irre? :?

Ich poste hier mal die Ausgabe, die beim Starten von Kaffeine kommt:

Direkt nach Neustart:

Code:
DVB 0 : Das Gerät oder die Ressource ist belegt
DVB 1 : Datei oder Verzeichnis nicht gefunden
DVB 2 : Datei oder Verzeichnis nicht gefunden
DVB 3 : Datei oder Verzeichnis nicht gefunden

Und dann nach Eingabe von "modprobe saa7134-dvb" als Root, beim erneuten Aufruf von "kaffeine" über die Konsole (als normaler User):

Code:
DVB 0 : Das Gerät oder die Ressource ist belegt
DVB 2 : Datei oder Verzeichnis nicht gefunden
DVB 3 : Datei oder Verzeichnis nicht gefunden
Card 0 :openFe :: Das Gerät oder die Ressource ist belegt
Card 1 : opened ( Philips TDA10046H DVB-T )
Card 2 :openFe :: Datei oder Verzeichnis nicht gefunden
Card 3 :openFe :: Datei oder Verzeichnis nicht gefunden
ajd@Anselm:~> Tuning to : SAT.1 / autocount : 0
Using DVB card "Philips TDA10046H DVB-T"
tuning DVB-T to 738000000 Hz
inv:2 bw:0 fecH:2 fecL:9 mod:1 tm:1 gi:3 hier:0
polling....
Getting frontend event
polling....
Getting frontend event
Event:  Frequency: 738000000
NOUT : 1
Tuning delay : 1240 ms
dvbEvents started

Und danach läuft's.

Hilft Euch das, mir zu helfen?

Greg
 
OP
G

G aus W

Hacker
Hallo Geier0815, hallo Gameboy,

danke Euch vielmals - es hat zwar ein wenig gedauert, aber ich bin auf die Lösung gekommen. Und Ihr lagt - wie könnte es anders sein - mit Euren Tips goldrichtig. Was mir als Stolperstein im Weg lag, war meine mangelnde Erfahrung mit "sudo". Habe mich da mal tiefer einlesen müssen, jetzt geht es nach folgendem Schema:

- wie von Geier vorgeschlagen, Eintrag im Autostart des Gnome-Kontrollzentrums,
- und zwar mit "99" als Wert für einen spätestmöglichen Start
- Das Skript enthält den Befehl sudo /sbin/modprobe saa7134-dvb, wobei der Pfadname wichtig ist - danke an Gameboy für den Hinweis!
- In der /etc/sudoers muß es einen Eintrag für den Standard-User geben.

... Und damit funktioniert's: Der Standard-User darf mittels sudo nun (ohne Paßworteingabe) den Modprobe-Befehl ausführen - und somit klappt es problemlos, Kaffeine erkennt die Karte, DVB-T funktioniert auf Anhieb.

Also, vielen vielen Dank an Euch!

Greg
 

beule

Newbie
Hallo G aus W,
danke für diese Hinweise. Endlich habe auch meine Pinnacle
DVB-T 300i zum Laufen bekommen. Nur das mit dem Skript
habe ich noch nicht hinbekommen. Ist aber auch nicht so schlimm. Viel Spaß noch!
 
OP
G

G aus W

Hacker
Hallo Beule,

na, das ist doch ein Ding. Bin froh, daß mein Beitrag jemand geholfen hat... Die Pinnacle funktioniert nach dem selben Schema, auch erst nach Eingabe des "modprobe saa7134-dvb" über die Konsole? Dann hat die garantiert den identischen Chipsatz.

Das mit dem Skript ist überhaupt nicht schwer - jetzt wo ich weiß, wie's geht. Schreib' mir kurz, an welcher Stelle Du "hängst", dann ist das ruck-zuck erledigt.

Greg
 
Oben