hmmm. i started this discussion in another thread, but I'm restarting it here. earlier, I wrote...
....ntpclient. first, fix busybox to include adjtimex, by editing sources/openwrt/busybox/busybox.config and adding ...
CONFIG_ADJTIMEX=y
and rebuild your openwrt (make clean in the busybox dir, then make in the top should be sufficient), and download this new openwrt, also `make ntpclient` and ipkg install it.
now, per the readme on ntpclient, run
# ntpclient -i 60 -c 30 -h 192.168.0.1 | tee /tmp/ntp.log
(replace that IP with your friendly neighborhood NTP server)
and then find rate.awk in the ntpclient source directory, and feed that .log file through it like...
$ awk -f rate.awk < ntp.log
delta-t 1500 seconds
delta-o 622716 useconds
slope 415.145 ppm
old frequency 0 ( 0 ppm)
new frequency 27206931 ( 415.145 ppm)
(I did this on my build computer rather than the WRT).
Now, take the last value displayed, like 27206931, and put this in /etc/init.d/S90ntpclient ...
#!/bin/sh
adjtimex -f 27206931
/usr/sbin/ntpclient -h 192.168.0.1 -s
/usr/sbin/ntpclient -h 192.168.0.1 -l &
(again, replacing the IP's with the correct ones, and the adjtimex value with the one from rate.awk above)
*NOW* your clock should be right on the money, and ntpclient should run a phased lock loop to KEEP it that way. Check it in a few days with `date` against that of your NTP reference server.
-------
yeah, I wrote that, and I left it running... my clock has drifted several seconds, and still appears unlocked. ;-/ FYI, I'm using these instructions...
http://doolittle.faludi.com/ntpclient/HOWTO
so, has anyone actually gotten this working? yes, I know how to pseudo-CRON a periodic rdate, I dislike that approach for various reasons. If ntpclient can't be made to work properly, it probably should be dropped from the distro.