Updated ntpc to allow small incremental updates to the system time via "ntpstep"...
[tomato.git] / release / src / router / ntpc / README
blobfb5b20bb7ee4c9c0dc0304d54b011257b47aa40f
2 Some updates to the default 'ntpc' in Tomato
4 I modified the ntpc from the latest version
5 of Tomato at the time, which is Tomato 1.23.
8 1) I created 'ntpstep', via a symbolic link like 
9    it was done for 'ntpsync'.
11 2) Updated SYSLOG so an entry is made even if no
12    correction was applied.
14 3) When an update to the time is applied, use the
15    fracional seconds supplied with the data from
16    the NTP server.
19 The timekeeping ability of a typical WRT54G can be
20 quite poor. I have use over 6 different routers and all
21 drifted by 30+ seconds per day. Though the absolute
22 accuracy is poor, they do appear to be quite consistent.
24 And if this drift is consistent, it can be calibrated out.
26 I created a new executable, called 'ntpstep'. ntpstep 
27 will simply adjust the current clock by a specific 
28 offset that is supplied on the command line.
30 ntpstep takes two command line arguments, 'seconds' and 
31 'microseconds'.  So in the scheduled tasks (like 'Custom 1'), 
32 run ntpstep every hour with something like
34 /bin/ntpstep 1 215000
37 This advances the clock by 1.215 seconds every hour. So when 
38 the real ntpc runs, the correction is quite small. Every router 
39 will be different.  You can also go backwards in time if needed. 
40 'seconds' can be negative, but 'microseconds' must be positive 
41 (the way I implemented it).
43 So -4.32 seconds would be /bin/ntpstep -5 680000
46 With just 2 or 3 iterations, you can zero in on the correct
47 adjustments for your router. See a sample SYSLOG from my
48 router at the end of the README.
51 In the default Tomato source tree, replace 'Makefile' 
52 and 'ntpc.c' with the files included here. 
54 Location in the tomato source tree:
56 ./tomato/release/src/router/ntpc
61 M. Ring - 2009/04/05
63 ringx004 at tc dot umn dot edu
65 ======================================================================
67 Sample SYSLOG :
69 Mar 31 22:42:42 unknown syslog.info -- MARK --
70 Mar 31 23:42:43 unknown syslog.info -- MARK --
71 Apr  1 00:42:44 unknown syslog.info -- MARK --
72 Apr  1 01:42:46 unknown syslog.info -- MARK --
73 Apr  1 02:21:01 unknown user.info ntpc[442]: Time Updated: No change needed
74 Apr  1 02:42:47 unknown syslog.info -- MARK --
75 Apr  1 03:42:48 unknown syslog.info -- MARK --
76 Apr  1 04:42:49 unknown syslog.info -- MARK --
77 Apr  1 05:42:50 unknown syslog.info -- MARK --
78 Apr  1 06:42:51 unknown syslog.info -- MARK --
79 Apr  1 07:42:52 unknown syslog.info -- MARK --
80 Apr  1 08:21:01 unknown user.info ntpc[559]: Time Updated: No change needed
81 Apr  1 08:42:54 unknown syslog.info -- MARK --
82 Apr  1 09:42:55 unknown syslog.info -- MARK --
83 Apr  1 10:42:56 unknown syslog.info -- MARK --
84 Apr  1 11:42:57 unknown syslog.info -- MARK --
85 Apr  1 12:42:58 unknown syslog.info -- MARK --
86 Apr  1 13:42:59 unknown syslog.info -- MARK --
87 Apr  1 14:21:01 unknown user.info ntpc[662]: Time Updated: No change needed
88 Apr  1 14:43:01 unknown syslog.info -- MARK --
89 Apr  1 15:43:02 unknown syslog.info -- MARK --
90 Apr  1 16:43:03 unknown syslog.info -- MARK --
91 Apr  1 17:43:04 unknown syslog.info -- MARK --
92 Apr  1 18:43:06 unknown syslog.info -- MARK --
93 Apr  1 19:43:07 unknown syslog.info -- MARK --
94 Apr  1 20:21:01 unknown user.info ntpc[815]: Time Updated: No change needed
95 Apr  1 20:43:09 unknown syslog.info -- MARK --
96 Apr  1 21:43:10 unknown syslog.info -- MARK --
97 Apr  1 22:43:11 unknown syslog.info -- MARK --
98 Apr  1 23:43:12 unknown syslog.info -- MARK --
99 Apr  2 00:43:13 unknown syslog.info -- MARK --
100 Apr  2 01:43:14 unknown syslog.info -- MARK --
101 Apr  2 02:21:01 unknown user.info ntpc[946]: Time Updated: No change needed
102 Apr  2 02:43:16 unknown syslog.info -- MARK --
103 Apr  2 03:43:17 unknown syslog.info -- MARK --
104 Apr  2 04:43:18 unknown syslog.info -- MARK --
105 Apr  2 05:43:19 unknown syslog.info -- MARK --
106 Apr  2 06:43:20 unknown syslog.info -- MARK --
107 Apr  2 07:43:21 unknown syslog.info -- MARK --
108 Apr  2 08:21:01 unknown user.info ntpc[1049]: Time Updated: No change needed
109 Apr  2 08:43:23 unknown syslog.info -- MARK --
110 Apr  2 09:43:24 unknown syslog.info -- MARK --
111 Apr  2 10:43:25 unknown syslog.info -- MARK --
112 Apr  2 11:43:26 unknown syslog.info -- MARK --
113 Apr  2 12:43:27 unknown syslog.info -- MARK --
114 Apr  2 13:43:28 unknown syslog.info -- MARK --
115 Apr  2 14:21:01 unknown user.info ntpc[1152]: Time Updated: Thu, 02 Apr 2009 14:21:01 -0500 [-0.443s]
116 Apr  2 14:43:29 unknown syslog.info -- MARK --
117 Apr  2 15:43:30 unknown syslog.info -- MARK --
118 Apr  2 16:43:31 unknown syslog.info -- MARK --
119 Apr  2 17:43:32 unknown syslog.info -- MARK --
120 Apr  2 18:43:34 unknown syslog.info -- MARK --
121 Apr  2 19:43:35 unknown syslog.info -- MARK --
122 Apr  2 20:21:01 unknown user.info ntpc[1336]: Time Updated: No change needed
123 Apr  2 20:43:36 unknown syslog.info -- MARK --
124 Apr  2 21:43:37 unknown syslog.info -- MARK --
125 Apr  2 22:43:38 unknown syslog.info -- MARK --
126 Apr  2 23:43:39 unknown syslog.info -- MARK --
127 Apr  3 00:43:41 unknown syslog.info -- MARK --
128 Apr  3 01:43:42 unknown syslog.info -- MARK --
129 Apr  3 02:21:01 unknown user.info ntpc[1488]: Time Updated: No change needed
130 Apr  3 02:43:43 unknown syslog.info -- MARK --
131 Apr  3 03:43:44 unknown syslog.info -- MARK --
132 Apr  3 04:43:45 unknown syslog.info -- MARK --
133 Apr  3 05:43:46 unknown syslog.info -- MARK --
134 Apr  3 06:43:47 unknown syslog.info -- MARK --
135 Apr  3 07:43:49 unknown syslog.info -- MARK --
136 Apr  3 08:21:01 unknown user.info ntpc[1591]: Time Updated: Fri, 03 Apr 2009 08:21:01 -0500 [-0.520s]
137 Apr  3 08:43:49 unknown syslog.info -- MARK --
138 Apr  3 09:43:50 unknown syslog.info -- MARK --
139 Apr  3 10:43:52 unknown syslog.info -- MARK --
140 Apr  3 11:43:53 unknown syslog.info -- MARK --
141 Apr  3 12:43:54 unknown syslog.info -- MARK --
142 Apr  3 13:43:55 unknown syslog.info -- MARK --
143 Apr  3 14:21:01 unknown user.info ntpc[1694]: Time Updated: No change needed
144 Apr  3 14:43:56 unknown syslog.info -- MARK --
145 Apr  3 15:43:57 unknown syslog.info -- MARK --
146 Apr  3 16:43:58 unknown syslog.info -- MARK --
147 Apr  3 17:44:00 unknown syslog.info -- MARK --
148 Apr  3 18:44:01 unknown syslog.info -- MARK --
149 Apr  3 19:44:02 unknown syslog.info -- MARK --
150 Apr  3 20:21:01 unknown user.info ntpc[1834]: Time Updated: No change needed
151 Apr  3 20:44:03 unknown syslog.info -- MARK --
152 Apr  3 21:44:04 unknown syslog.info -- MARK --
153 Apr  3 22:44:05 unknown syslog.info -- MARK --
154 Apr  3 23:44:07 unknown syslog.info -- MARK --
155 Apr  4 00:44:08 unknown syslog.info -- MARK --
156 Apr  4 01:44:09 unknown syslog.info -- MARK --
157 Apr  4 02:21:01 unknown user.info ntpc[2031]: Time Updated: No change needed
158 Apr  4 02:44:10 unknown syslog.info -- MARK --
159 Apr  4 03:44:11 unknown syslog.info -- MARK --
160 Apr  4 04:44:12 unknown syslog.info -- MARK --
161 Apr  4 05:44:14 unknown syslog.info -- MARK --
162 Apr  4 06:44:15 unknown syslog.info -- MARK --
163 Apr  4 07:44:16 unknown syslog.info -- MARK --
164 Apr  4 08:21:01 unknown user.info ntpc[2134]: Time Updated: Sat, 04 Apr 2009 08:21:01 -0500 [-0.482s]
165 Apr  4 08:44:16 unknown syslog.info -- MARK --
166 Apr  4 09:44:18 unknown syslog.info -- MARK --
167 Apr  4 10:44:19 unknown syslog.info -- MARK --
168 Apr  4 11:44:20 unknown syslog.info -- MARK --
169 Apr  4 12:44:21 unknown syslog.info -- MARK --
170 Apr  4 13:44:22 unknown syslog.info -- MARK --
171 Apr  4 14:21:01 unknown user.info ntpc[2266]: Time Updated: No change needed
172 Apr  4 14:44:23 unknown syslog.info -- MARK --
173 Apr  4 15:44:25 unknown syslog.info -- MARK --
174 Apr  4 16:44:26 unknown syslog.info -- MARK --
175 Apr  4 17:44:27 unknown syslog.info -- MARK --
176 Apr  4 18:44:28 unknown syslog.info -- MARK --
177 Apr  4 19:44:29 unknown syslog.info -- MARK --
178 Apr  4 20:21:01 unknown user.info ntpc[2418]: Time Updated: No change needed
179 Apr  4 20:44:30 unknown syslog.info -- MARK --
180 Apr  4 21:44:32 unknown syslog.info -- MARK --
181 Apr  4 22:44:33 unknown syslog.info -- MARK --
182 Apr  4 23:44:34 unknown syslog.info -- MARK --
183 Apr  5 00:44:35 unknown syslog.info -- MARK --
184 Apr  5 01:44:36 unknown syslog.info -- MARK --
185 Apr  5 02:21:01 unknown user.info ntpc[2542]: Time Updated: No change needed
186 Apr  5 02:44:37 unknown syslog.info -- MARK --
187 Apr  5 03:44:38 unknown syslog.info -- MARK --
188 Apr  5 04:44:40 unknown syslog.info -- MARK --
189 Apr  5 05:44:41 unknown syslog.info -- MARK --
190 Apr  5 06:44:42 unknown syslog.info -- MARK --
191 Apr  5 07:44:43 unknown syslog.info -- MARK --
192 Apr  5 08:21:01 unknown user.info ntpc[2645]: Time Updated: Sun, 05 Apr 2009 08:21:01 -0500 [-0.433s]
193 Apr  5 08:44:44 unknown syslog.info -- MARK --
194 Apr  5 09:44:45 unknown syslog.info -- MARK --
195 Apr  5 10:44:46 unknown syslog.info -- MARK --
196 Apr  5 11:44:47 unknown syslog.info -- MARK --
197 Apr  5 12:44:48 unknown syslog.info -- MARK --
198 Apr  5 13:44:50 unknown syslog.info -- MARK --
199 Apr  5 14:21:01 unknown user.info ntpc[2748]: Time Updated: No change needed
200 Apr  5 14:44:51 unknown syslog.info -- MARK --
201 Apr  5 15:44:52 unknown syslog.info -- MARK --
202 Apr  5 16:44:53 unknown syslog.info -- MARK --
203 Apr  5 17:44:54 unknown syslog.info -- MARK --
204 Apr  5 18:44:55 unknown syslog.info -- MARK --
205 Apr  5 19:44:56 unknown syslog.info -- MARK --
206 Apr  5 20:21:01 unknown user.info ntpc[2952]: Time Updated: No change needed
207 Apr  5 20:44:58 unknown syslog.info -- MARK --