Bildquelle: Wikipedia

Zeit-Synchronisation mit dem WRT54Gx

synchronisation | time | uhr | uhrzeit | zeit | zeit-sychronisation

Einleitung

Da der WRT54Gx keine eingebaute Uhr hat, muss die Zeit nach jedem Neustart manuell eingestellt werden. Nach Gerüchten ist die Uhr auch nicht sonderlich genau, sie hat Abweichungen von mehrere Minuten pro Stunde. Aus diesem Grund biete sich die Aktualisierung per Zeit-Server an.

Zeitzone

Als ersten muss kontrolliert werden, ob die eingetragene Zeitzone korrekt ist. Diese Einstellung lässt sich im Web-Interface unter System -> Zeitzone anschauen und sollte "MET-1MEST-2,M3.3.0,M10.5.0" sein. Der direkte Weg zum Setzen dieser Einstellung auf der Shell ist.

root@wrt$ echo GMT-2 > /etc/TZ

Installation des ipkg-Paketes

root@wrt$ ipkg update
root@wrt$ ipkg install ntpclient

Nun wurde auch eine Datei /etc/init.d/S60ntpclient angelegt mit dem Inhalt

#!/bin/sh
/usr/sbin/ntpclient -c 1 -s -h pool.ntp.org &

Dies muss nun geändert werden und zwar wie folgt, da es ein Problem geben kann, wenn die Verbindung noch nicht hergestellt ist und der ntpclient versucht die Zeit abzufragen. Als Zeit-Server ist swisstime.ethz.ch eingetragen.

#!/bin/sh
# Existierende ntpclient-Prozesse werden gekillt
/usr/bin/killall ntpclient
# Zeit-Synchronisation
/usr/sbin/ntpclient -l -h 129.132.2.21 -c 1 -s &

Nun muss noch /etc/crontabs editiert werden, damit die Uhr jede Stunde abgeglichen wird. Für mehr Informationen zu crond siehe hier.

# Synchronisation jede Stunde
01 * * * * /etc/init.d/S60ntpclient