Wie setzt Ihr die Zeit beim Raspberry?

  • Hi,
    mit einer frisch erzeugten SD-Karte gab es Problem mit dem rpihddevice (Buffer stall) beim Start (Pi1-B).
    Ein manaueller zweiter Startversuch klappte immer.
    Im log sah ich daß der ntpd die Zeit während des vdr-Starts veränderte.
    Mit dieser Zeile in /etc/default/vdr

    Code
    ntp-wait -s 1 -n 60


    scheint das Problem jetzt weg zu sein.


    Ein Pi2 hatte mit der gleiche SD-Karte keine Probleme, dort war der NTPD schon früher fertig.
    Mich wunderts nur daß dies scheinbar nur bei mir auftritt.


    Der Pi1-B lief seit Dezember (jetzt hatte es mir die SD zerhackt, kein image, wollte sowiso unser Wiki gegenprüfen :-)).
    Der Zeit-Effekt hatte sich dort nur so gezeigt daß der VDR immer bald nach dem Start abschalten wollte.

    Grüße, Dieter :)

  • Wenn deine Distribution systemd nutzt, kann man den VDR nach dem time-sync.target starten lassen:

    time-sync.target
    Services responsible for synchronizing the system clock from a remote source (such as NTP client implementations) should pull in this target and order themselves before it. All services where correct time is essential should be ordered after this unit, but not pull it in. systemd automatically adds dependencies of type After= for this target unit to all SysV init script service units with an LSB header referring to the "$time" facility.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Leider nutzt raspian noch sys5.
    ntpd started vor vdr (S02, vdr: S05), aber es sagt ja nichts aus wann ntpd fertig ist.


    Aber ich werde mal einen Test mit Jessie machen. Upgrade soll angeblich problemlos sein.
    Und systemd wollte ich schon lange testen.


    Bisher läuft mein workaround zwar, aber warum hat niemand sonst dieses Problem? Haben alle einen Uhrenchip nachgerüstet?

    Grüße, Dieter :)

  • Um möglichst früh eine halbwegs plausible Zeit zu bekommen , benutze ich fake-hwclock.
    Wenn der zuständige Netzwerkdienst ( bei mir "NetworkManager") eine gültige Netzwerkverbindung meldet, dann wird die Systemzeit mit "ntpd -qg" gesetzt.
    Erst danach starte ich alle relevanten Dienste per Script. ( VDR inklusive).

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


    Einmal editiert, zuletzt von gehlhajo ()

  • Hi !


    Bestellt euch beim Chinamann ne Ds3231 RTC fuer 2,20 USD und wartet 3 Wochen, dann habt ihr nie ein Problem und euch kann wurscht sein ob NTP vor nach oder ueberhaupt startet :)


    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice

  • Auch mit einer RTC muss man sicherstellen, dass diese vor dem VDR-Start gelesen wird. Eine via I2C angebundene RTC wird nicht in der "frühen Startphase" des Kernels automatisch gelesen (wie man es bei PC-Mainboards kennt) sondern muss z.B. über eine udev-Regel gelesen werden.

  • Eine via I2C angebundene RTC wird nicht in der "frühen Startphase" des Kernels automatisch gelesen (wie man es bei PC-Mainboards kennt) sondern muss z.B. über eine udev-Regel gelesen werden.

    Das stimmt so allgemein nicht. Sobald man ein I2C-RTC-Device erzeugt, wird die RTC sofort vom Kernel angesprochen. Dieses Kernel-Device kann nun recht frueh (ACPI, Device-Tree, platform device) angelegt werden, oder spaeter vom Userspace aus (init script, udev).


    Auf meinem Matrix-ARM-Board habe ich z.B. einen Device-Tree-Node fuer die I2C-RTC und in den Kernel einkompilierte Treiber, da wird die Zeit schon gesetzt, bevor das Root-Filesystem gemountet wird. Soweit nur als prinzipielle Erklaerung, wie die RTC-Devices auf dem Raspi angelegt werden, weiss ich leider nicht (kann sein, dass man ohne Kernel-Patches auf die spaeten Userspace-Varianten angewiesen ist).


    Gruss,
    S:oren

  • Sobald man ein I2C-RTC-Device erzeugt, wird die RTC sofort vom Kernel angesprochen. Dieses Kernel-Device kann nun recht frueh (ACPI, Device-Tree, platform device) angelegt werden, oder spaeter vom Userspace aus (init script, udev).



    das müsste man mit dem Raspberry auch hin konfiguriert bekommen. Beim Banana-Pi bekomme ich sofort die Systemzeit ins log (siehe Anhang). Banana-Pi hat ja schon eine HW-RTC, wo nur noch die Stützbatterie aktiviert werden muss. Die Banana Distrie hat auch dementsprechend Scripte, wo man die HW-Clock enablen kann und diese dann eingebunden wird.




Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!