root@pd6000:~ # cd /usr/src root@pd6000:/usr/src # tar xfz /von/wo/auch/immer/pcfclock-0.44.tar.gzDa bei jeden neuen Kernel das Modul neu erzeugt werden muß, kann man sich eine manuelle Installation sparen. Mit folgenden Script wird das Modul bei Bedarf beim Booten gebaut. Die Uhrzeit wird im gleichen Rutsch gestellt. Die Datei habe ich auf einen LFS 6.0 System als /etc/rc.d/init.d/pcfclock angelegt:
#!/bin/sh case "$1" in start) echo -n "Checking for modul /lib/modules/$(/bin/uname -r)/misc/pcfclock.ko... " if test -f /lib/modules/$(/bin/uname -r)/misc/pcfclock.ko then echo "found" else echo "not found" echo "I will compile it now for kernel $(/bin/uname -r)" cd /usr/src/pcfclock-0.44 echo "make clean" make clean > /dev/null echo "configure" ./configure --sbindir=/sbin > /dev/null echo "make" make > /dev/null echo "make install" make install > /dev/null /bin/ls -l /lib/modules/$(/bin/uname -r)/misc/pcfclock.ko fi if test -c /dev/pcfclock0 then echo "/dev/pcfclock0 already there" else echo "Creating /dev/pcfclock0" /bin/mknod -m 444 /dev/pcfclock0 c 181 0 fi echo -n "Getting and setting current DCF77 time: " if test -f /lib/modules/$(/bin/uname -r)/misc/pcfclock.ko then if [ "$(/sbin/lsmod | grep pcfclock )" ] then /sbin/pcfdate -s else /sbin/insmod /lib/modules/$(/bin/uname -r)/misc/pcfclock.ko /sbin/pcfdate -s fi else echo "Did not find pcfclock.ko modul, maybe it did not compiled correct" exit 0 fi ;; stop) echo "Removing modul pcfclock.ko" /sbin/rmmod pcfclock.ko ;; status) echo -n "Current DCF 77 time: " /sbin/pcfdate esac exit 0Jetzt die Datei ausführbar machen und noch einen symbolischen Link im Runlevel 3 setzen (kann je nach Distribution auch ein anderer sein):
root@pd6000:/etc/rc.d/init.d # chmod 755 pcfdate root@pd6000:/etc/rc.d/init.d # cd ../rc3.d root@pd6000:/etc/rc.d/rc3.d # ln -s ../init.d/pcfdate S90pcfdateJetzt wird bei jeden Start des Rechners die Uhr gestellt.
time server = trueUnter Windows wird dann mit folgenden Befehl dir Uhrzeit abgeglichen:
net time \\namedessambaservers /set /yIdealerweise setzt man diesen Befehl in ein Loginscript.
Ab Kernel 2.6.17 lässt sich der Treiber leider nicht mehr als Modul kompilieren. Ich habe zwar keinen Plan von C, aber mit folgenden Patch funktioniert es.
Falls man Fehlermeldungen erhält, das keine Uhr gefunden wurde, sollte man überprüfen ob die LCD Anzeige irgendetwas gescheites anzeigt. Wenn nicht, ist die Batterie leer. Bei mir war eine vom Typ GPA76 eingebaut. So eine habe ich als Ersatz nicht auftreiben können, aber eine Renata Typ 357 tut es auch. Zu beachten ist, das die Uhr sich nicht sofort wieder neu stellt, sondern erst nachts. Solange wird weiterhin nichts im LCD angezeigt.
zurück zur Linuxübersicht
Letzte Aktualisierung dieser Seite: 16. Januar 2007