Here is how to set and maintain the Zaurus SL-5600 clock through reboots, suspends, etc.
It should work on any Zaurus (as always YMMV):
First download and install the "ntp_4.1.1-0vl1_arm.ipk" package.
This will install the ntpd daemon and ntp utilities in the /usr/local/bin directory.
Go to
http://www.ntp.org/ntpfaq/NTP-a-faq.htm to learn all about ntp.
You definitely want to know how to configure the /usr/local/bin/ntp.conf file so visit:
http://docsrv.sco.com/NET_tcpip/CTOC-ntpN.ntp.htmlto learn about the ntp.conf parameters.
Then go to
http://www.eecis.udel.edu/~mills/ntp/servers.html and select some open time servers.
I use some (five) publicly available servers.
This is advantagous if you are off your home network (accessing Internet via airport Tmobile network or local coffeeshop "free wifi hotspot".
Note: NTP server authentication and generating keys to access secure NTP time servers is beyond the scope of this article. (If you NEED that kind of NTP time service; GPS receivers are cheap.)
I should set up my own "stratum 1" time server using a GPS receiver but then I'm not coordinating a "time-on-target" ICBM strike or Mars mission with my Zaurus, either. ;-)
I created a symbolic link in /etc to the ntp.conf file in /usr/local/bin.
(ln -s /usr/local/bin/ntp.conf /etc/ntp.conf)
I then created a "timed" script in my /etc/rc.d/init.d directory:
#!/bin/bash
#
# /etc/rc.d/init.d/timed - Start/Stop the ntpd daemon(s).
#
# Comment out the following exit line to enable this script.
# exit 0
# Source function library.
. /etc/rc.d/init.d/functions
DAEMON="/usr/local/bin/ntpd"
case "$1" in
start)
msg -n "Starting ntpd:"
daemon --survive=5 $DAEMON
if [ "$?" = "0" ]; then
touch /var/lock/subsys/ntp
fi
msg
;;
stop)
msg -n "Stopping ntpd:"
killproc $DAEMON
msg
rm -f /var/lock/subsys/ntp
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
Then I chmoded the timed file as follows:
chmod +x /etc/rc.d/init.d/timed
I then created a symbolic link to timed in the /etc/rc.d/rc5.d directory:
ln -s /etc/rc.d/init.d/timed /etc/rc.d/rc5.d/S98ntp
Now reboot ( issue "init 6" from the console).
Once your Zaurus has rebooted either connect to your network via wireless (which should set up
your routes ) or create a route to the network via your usb port:
route -v add -net default gw 192.168.129.1 netmask 0.0.0.0 metric 2 usbd0
OR you can edit your /etc/rc.d/net.agent file wilth the following at line 76 or there abouts:
75 usbd_net_if_up
76 # The following line adds a route via the usb interface to the network.
77 route -v add -net default gw $GATEWAY netmask 0.0.0.0 metric 2 usbd0
and place a "GATEWAY=192.168.129.1" entry in your " usbdnet.conf" file.
Now sit back and wait until the ntpd damon has synced up with the ntp server(s) you put in your ntp.conf file.
To check and make sure you're syncing with your NTP time servers, issue a "ntpq -p" command from the console; you should see something like this:
root@/home/root> ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+tick.usno.navy. .USNO. 1 u 69 256 311 178.362 44.337 34.849
*tock.usno.navy. .USNO. 1 u 67 256 273 177.761 52.138 25.023
-swisstime.ee.et .PPS. 1 u 16 256 377 162.823 18.540 3.752
-cuckoo.nevada.e tick.usnogps.na 2 u 70 256 377 99.848 4.237 5.439
+filbert.cc.colu gnomon.cc.colum 2 u 14 256 377 100.287 34.793 2.574
If you see the following your route is bad, you are not connected to the Internet, ie. something is wrong:
root@/home/root> ntpq -p
No association ID's returned
Another BAD example:
Any enty that looks like the following means you are not syncing with that NTP time server:
root@/home/root> ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
tick.usno.navy. 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00
If the stratum for any ITD (st) time server is "16" then your server is not synchronizing successfully with the ITD time server.