linuxarmntpntpd

NTPD on arm box version 4.2.6p5


i have managed to cross compile ntpd 4.2.6p5 for my arm box. I have a custom toolchain provided by the manufacturer.

Box is running busybox + some variant of debian linux.

So I have no installation of ntp and did a manual copy, created a conf file for the ntpd and tried to run it.

ntpd always returns this when in debug mode: ~/ntp # ./ntpd -c ntp.conf -d

    ntpd 4.2.6p5@1.2349 Mon Apr  7 19:58:25 UTC 2014 (1)
    9 Apr 07:39:44 ntpd[3592]: signal_no_reset: signal 13 had flags 4000000
    9 Apr 07:39:44 ntpd[3592]: proto: precision = 91.000 usec event at 0 0.0.0.0 c01d 0d   
    kern kernel time sync enabled
    Finished Parsing!!
    9 Apr 07:39:44 ntpd[3592]: ntp_io: estimated max descriptors: 1024, initial socket          
    boundary: 16
    9 Apr 07:39:44 ntpd[3592]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
    9 Apr 07:39:44 ntpd[3592]: unable to bind to wildcard address :: - another process   
    may be   running - EXITING

before that I had to add into /etc/services also

    ntp             123/udp

my ntp.conf looks like:

 ~/ntp # cat ntp.conf
 server 193.2.4.6
 server 193.2.4.2
 driftfile ntp.drift

So I have checked netstat and nothing is running on port 123, no ntpdate etc...

~/ntp # netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.3.1     0.0.0.0         UG        0 0          0 eth0
192.168.3.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

~ # netstat -a | grep 123
~ #

Therefore it must be something with the config, or this arm box does not have something configured...

Oh and running manually ntpdate works:

~/ntp # ./ntpdate 193.2.4.6
 9 Apr 07:49:16 ntpdate[3614]: step time server 193.2.4.6 offset -0.755704 sec
~/ntp #

So yes i could use ntpdate in cron, but this is not my intent!

Any idea?

Thank you and best regards!


Solution

  • The following error indicates that ntp had trouble binding to the ipv6 wildcard:

    9 Apr 07:39:44 ntpd[3592]: unable to bind to wildcard address :: - another process   
    may be   running - EXITING
    

    I think your problem is ipv6 but it is hard to tell because your diagnosticinformation was not very good. Your netstat -a |grep 123 command is useless because netstat would substitute ntp for port 123. Try it again with:

    netstat -a -n | grep 123

    Along those lines netstat -rn only works with ipv4, try it again with -6:

    netstat -r -n -6

    Your test ntpdate used an ipv4 host. Does your server support ipv6? What happens when you run:

    $ sntp -d -6 time.nist.gov
    

    I used sntp because I do not know if ntpdate has a -6option and sntp does.