Seite 1 von 1

busybox-ntpd holt beim booten keine zeit

Verfasst: Dienstag 14. Mai 2013, 22:19
von JimPoison
laut den sourcen wird ja bei aktivierter ntp-funktion erst der in der busybox integrierte ntpd versucht zu nutzen.
danach als fallback ntpdate.
obwohl ich in meinem selbstkompiliertem neutrino-mp für ne gm triplex in /sbin einen symlink habe auf den ntpd und ihn auch bei gestarteter box per hand in telnet starten kann, kann er offenbar während des bootvorgangs nicht aufgerufen werden.
es kommt nur im bootlog irgendwann die meldung "sh: ntpdate not found" (vom ntpd selber ist gar nichts zu sehen, nicht mal ne fehlermeldung) und später, daß die zeit über dvb gestzt wurde (weils über ntp halt nicht geklappt hat).
wenn ich nach dem bauen noch make ntp aufrufe, wird ja ein ntp.opk erstellt, welches bei installation auf der box dann ja nur ntpdate nachrüstet.
nach installation der ntp.opk wird die zeit beim booten auch über ntpdate geholt, aber trotzdem würde ich gerne wissen, wieso ntpd nicht funktioniert.

hat jemand ne ahnung, wo hier das problem liegt bzw. wie man es lösen kann?

Re: busybox-ntpd holt beim booten keine zeit

Verfasst: Dienstag 14. Mai 2013, 22:28
von seife
wie sieht denn dein startskript aus, mit dem du den busybox-ntpd startest?

Re: busybox-ntpd holt beim booten keine zeit

Verfasst: Dienstag 14. Mai 2013, 22:37
von JimPoison
ähm... wie sollte es denn aussehen und wo sollte es sich befinden? in etc/init.d? :gruebel:
dachte das läuft automatisch ab.
und wenn die box gestartet und per telnet erreichbar ist, funktionierts ja....

Re: busybox-ntpd holt beim booten keine zeit

Verfasst: Dienstag 14. Mai 2013, 22:39
von seife
Na wenn du den nicht startest, dann wird der auch nicht laufen. Per default wird kein ntpd gestartet.

Re: busybox-ntpd holt beim booten keine zeit

Verfasst: Dienstag 14. Mai 2013, 22:46
von JimPoison
wahrscheinlich oute ich mich hier jetzt mal wieder als relativer laie, aber diesen code aus sectionsd.cpp

Code: Alles auswählen

#ifdef USE_BB_NTPD

const std::string ntp_system_cmd_prefix = "/sbin/ntpd -q -p ";

#else

const std::string ntp_system_cmd_prefix = "/sbin/ntpdate ";

#endif
habe ich so verstanden, daß erst der ntpd gestartet wird, und erst wenn dieser nicht da ist oder nicht gestartet werden kann, ntpdate aufgerufen wird.
und ntpdate taucht bei mir auch in keinerlei startscript auf und wird ja trotzdem beim boot aufgerufen, wenn das binary denn vorhanden ist.
habe ich da nen denkfehler?

Re: busybox-ntpd holt beim booten keine zeit

Verfasst: Dienstag 14. Mai 2013, 23:04
von seife
USE_BB_NTPD wird nirgends definiert, also wird der ntpd nicht benutzt sondern ntpdate, wenn es da ist. Und wenn ntpdate funktioniert, sollte auch nicht mehr auf die dvb-zeit gewartet werden. Ich habe das allerdings seit Jahren nicht mehr probiert, weil ich immer die dvb-Zeit benutze, die passt wenigstens zu den EPG-Daten :-)

Re: busybox-ntpd holt beim booten keine zeit

Verfasst: Donnerstag 16. Mai 2013, 22:09
von JimPoison
könnte ich dann nicht entweder einfach die ifdef-zeile löschen und schon würde ntpd genutzt?
oder alternativ vor dem kompilieren ein export CFLAGS: -DUSE_BB_NTPD absetzen?

würde es dann jeweils reichen, nur neutrino neu zu kompilieren?

AW: busybox-ntpd holt beim booten keine zeit

Verfasst: Samstag 18. Mai 2013, 15:42
von JimPoison
So ich hab jetzt mal das ifdef auskommentiert. Dadurch wird jetzt offensichtlich der ntpd genutzt und als positiver Nebeneffekt ist die Uhrzeit und der epg auch direkt da ;-)

Gesendet von meinem MT15i mit Tapatalk 2