Uhr der dbox per Internet aktualisieren

Wünsche, Anträge, Fehlermeldungen
dongyros
Interessierter
Interessierter
Beiträge: 69
Registriert: Donnerstag 4. März 2004, 21:15

Uhr der dbox per Internet aktualisieren

Beitrag von dongyros »

Hallo zusammen,

wäre es nicht möglich das sich die Uhrzeit der dbox auch anhand des Internets automatisch einstellen ließe? Eine meiner dboxen fungiert nur als 'Audioplayer'. D.h. es hängt kein Antennenkabel an der dbox. So wie es jetzt läuft wird ja die Uhrzeit anhand eines gerade dargestellten Kanals eingestellt, also im Falle einer Kabelbox über das Antennenkabel.
Die XBox z.B. bietet dieses Feature. Wäre cool wenn das die dbox auch könnte!

Gruß, DonGyros
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

klar geht das, sogar problemlos.

einfach mal nach rdate oder NTP googlen und dann das entsprechende Programm fuer die Box kompilieren.
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

rasc hat geschrieben:klar geht das, sogar problemlos.
einfach mal nach rdate oder NTP googlen und dann das entsprechende Programm fuer die Box kompilieren.
ntp ist mir ein begriff, rdate sagt mir ehrlich gesagt jetzt garnichts :o
aber auch egal: es waere nett, wenn jemand von den devs das mal ins cvs stellt, so das es schon fuer die dbox angepasst ist. mein server holt sich die uhrzeit eh aus dem web. wen nun die box ihre zeit von meinem server (lokal im lan) bezieht, waere das schon toll.
ich weiss leider mangels erfahrung nicht, wie ich sowas ins makefile einbinden soll. und von ppc habe ich ehrlich gesagt garkeinen plan :oops:

ich bin ja schon froh wenn ein head durchcompiled :P
aber das tut es meistens - tolle sache :P
Papst
Developer
Beiträge: 279
Registriert: Mittwoch 26. Juni 2002, 22:19

Beitrag von Papst »

Moin,

rdate ist in der busybox enthalten. Einfach in der busybox-flash.config ziemlich weit unten "# CONFIG_RDATE is not set" in "CONFIG_RDATE=y" ändern. Dann in tuxbox-cvs/cdk rm .deps/busybox und make busybox

Ich habs in die start_neutrino eingetragen:
rdate -s Zeitserveradresse
Gruß

Der Papst
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

Papst hat geschrieben: rdate ist in der busybox enthalten.
ja, habe auch gerade mal etweas gesucht, und z.b. das hier gefunden:
http://www.linux-fuer-alle.de/doc_show. ... 1&catid=11
allerdings haben wir auf de box ja keinen crond - wie soll man das programm dann regelmaessig aufrufen :o
Papst
Developer
Beiträge: 279
Registriert: Mittwoch 26. Juni 2002, 22:19

Beitrag von Papst »

crond ist auch in der busybox

Könnte man aber vielleicht auch mit nem Script oder so machen

while true
do
rdate -s Zeitserver
sleep 7200
done

Nicht getestet, kam mir nur grad so in den Sinn
Gruß

Der Papst
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

Papst hat geschrieben:crond ist auch in der busybox
tatsaechlich, und nach anlegen von /var/spool/cron/crontabs laeuft der sogar:

177 root 484 S crond :P

rdate scheint auch zu funktionieren:

/var/spool/cron # date 06221800
Tue Jun 22 18:00:00 CEST 2004
/var/spool/cron # date
Tue Jun 22 18:00:02 CEST 2004
/var/spool/cron # rdate -s time.uni-freiburg.de
/var/spool/cron # date
Tue Jun 22 19:08:37 CEST 2004
/var/spool/cron #

vielen dank, da habe ich ja heute noch was zu basteln - mal schauen obs hinhaut!

die crontab sollte so korrekt sein?
SHELL=/bin/sh
PATH=/bin
# MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
0 * * * * root /bin/rdate -s time.uni-freiburg.de

ich hoffe, der macht dann garkein mailto - beim busybox compilen habe ich auf die sendmail frage mit N geantwortet. und hoffentlich will der nirgendwo logs schreiben :o
Papst
Developer
Beiträge: 279
Registriert: Mittwoch 26. Juni 2002, 22:19

Beitrag von Papst »

Von http://www.busybox.net:

crond -d[#] -c <crondir> -f -b

-d [#] -l [#] -S -L logfile -f -b -c dir
-d num debug level
-l num log level (8 - default)
-S log to syslod (default)
-L file log to file
-f run in fordeground
-b run in background (default)
-c dir working dir

Vielleicht musste den Log Level auf 0 setzen. Weiß ich aber nicht genau
Zur crontab kann ich leider nix sagen
Gruß

Der Papst
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

och neee, nach umschalten auf bizarre arabische sender usw knallt mir dann irgendwas dazwischen (timerd? oder was ist zustaendig?) und die uhtzeit ist dann wieder daneben :evil:

kann man das irgendwie ausschalten, das die dbox sich die uhrzeit vom sat holt? mit einem parameter des zustaendigen demons, oder notfalls irgendwo im source? ich wuerde das dann auch gerne ueber einen zeitraum beobachten, und meine erfahrungen berichten.

leider kann ich im moment auch nichts zur cpu last des crond sagen, haette ich mal top mit eincompilen sollen - sory, vergessen :oops:
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

Papst hat geschrieben: -L file log to file
ich probiers mal so:
crond -L /dev/nul :P

ich bau mir das gleich schonmal in mein startscript, werde ich ja sehen, wenn irgendwie das jffs2 ueberlaeuft. ich lass die box dann mal ueber nacht laufen.

also nochmal zu der uhrzeit.. ich hab das gefunden, das ist "timethread" und "tot" in der sectionsd.cpp. habe das jetzt mal komplett rausgeworfen :P

ist ja nur probehalber.. und es macht auch fuer die meisten user hier sicherlich wenig sinn, denn dazu muss zwingend eine netzwerk verbindung bestehen. zumindest auf einen lokalen timeserver im intranet.
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

ZUSAMMENFASSUNG

Beitrag von Doc FunRock »

erstmal dank an alle helfer hier - es laeuft (bis auf einen kleinen schoenheitsfehler im display - dazu spaeter).

was ich gemacht habe:

busybox neu compiled, mit rdate und crond enabled in busybox-flash-config
sectionsd neu compiled, tot und timerthread einfach rausgeworfen
(die prozessorlast von crond ist nahezu 0, zumindest wenn er idled)

/var/spool/crontabs/crontab mit folgendem inhalt erstellt:
SHELL=/bin/sh
PATH=/bin
# MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
0 * * * * root /bin/rdate -s time.uni-freiburg.de

/ect/init.d/rcS folgendermassen erweitert:
/bin/rdate -s time.uni-freiburg.de
/bin/crond -L /dev/nul

das scheint soweit alles zu funktionieren. nun habe ich allerdings einen kleinen schoenheitsfehler:
wenn man in neutrino "?" drueckt, steht da nicht mehr die uhrzeit in dem blauen infobalken. naja, ist halt ein bischen gepfuscht, mein hack. ich nehme mal an, er braucht die tot aus der sectionsd - und dieser wert existiert ja nun nicht mehr.

es waere also wirklich nett, wenn sich ein dev mal dieser sache annimmt. die uhrzeit im infobalken koennte wohlmoeglich aus dem "date" der box genommen werden?

testweise habe ich mehrmals die sectionsd neugestartet (habe dazu das epg reset von http://www.dbox2.info verwendet). selbst nach dem schalten auf die wirresten sender war die uhrzeit staendig korrekt.

nun, wie ich vorher hier im thread schon schrieb: diese loesung ist sicherlich nur fuer einige user interessant. nicht jeder mag seine box im intranet haben (lokaler timeserver noetig) geschweige dem im internet (flatrate oder standleitung noetig).
daher waere vielleicht ein flag nicht schlecht, mit welchem man die sectionsd starten kann, so wie in etwa "sectionsd --notime" oder aehnliches.

so, also ich denke ich habe etwas vorarbeit geleistet - freiwillige devs vor :D

achso: die uhrzeit im LCD ist immer korrekt - nur in dem blauen infobalken nicht. aber den neutrino source zieh ich mir nicht heute auch noch rein :lol:
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

Doc FunRock hat geschrieben:ich lass die box dann mal ueber nacht laufen.
laeuft immer noch super - nichts auffaelliges in punkto memory verbrauch oder sonstwas, auch jffs2 ist OK. laeuft jetzt knapp 24h so :P
tja, niemand ne idee zu der uhrzeit anzeige im infobalken :roll:
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

bei mir rockt das jetzt:

Code: Alles auswählen

--- sectionsd.cpp.org	2004-06-24 12:48:34.000000000 +0200
+++ sectionsd.works	2004-06-24 12:41:48.000000000 +0200
@@ -2891,7 +2891,7 @@
 	UTC_t UTC;
 	time_t tim;
 	unsigned int seconds;
-	bool first_time = true; /* we don't sleep the first time (we try to get a TOT header) */
+	bool first_time = false; /* we don't sleep the first time (we try to get a TOT header) */
 	
 	try
 	{
@@ -2924,16 +2924,17 @@
 			}
 			else {
 				if (timeset) {
-					seconds = 60 * 30;
+					//funrock
+					seconds = 21*24*60L*60L;
 					dprintf("dmxTOT: going to sleep for %d seconds.\n", seconds);
 				}
-				else if (!scanning){
-					seconds = 60;
+/*				else if (!scanning){
+					seconds = 24* 60* 60;
 				}
 				else {
-					seconds = 1;
+					seconds = 24* 60* 60;
 				}
-				
+									*/
 				while (seconds)
 					seconds = sleep(seconds);
 			}
die uhrzeit wird jetzt nur noch alle 21 tage abgefragt, und nach einem restart der sectionsd. ich hoffe ich habe das mit den 21 tagen richtig verstanden? habs weiter oben aus dem source uebernommen :o
es gibt da sicher bessere wege, aber wenn es sonst niemand interessiert, behelfe ich mir halt so. wie gesagt - wenn ich die routine ganz rauswerfe, habe ich im infobalken keine anzeige der zeit mehr.

bin aber fuer weitere tipps offen - vielleicht hat ja noch jemand eine idee das besser zu loesen :o

PS: huch, das "we don't sleep" sollte dann natuerlich der uebersicht halber "we DO" heissen :oops: - naja, egal jetzt, nur kommentar
was mir aber noch einfaellt: man koennte das noch ein bisserl mit if/else schmuecken, und eine "/var/etc/.ntp" oder aehnliches abfragen.
jotwee
Einsteiger
Einsteiger
Beiträge: 147
Registriert: Mittwoch 5. Mai 2004, 10:41

Beitrag von jotwee »

wird das nun eigentlich ins cvs übernommen?
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

jotwee hat geschrieben:wird das nun eigentlich ins cvs übernommen?
also so wie das dort oben steht mit sicherheit nicht :lol: