NTP on a BELA board


06 August 2017

For both proper compilation and, most importantly, remote operation of scsynth, it is necessary that the BELA board’s time is synced with the one on your main machine. It is possible to set the date once via1

ntpdate pool.ntp.org    # sync time once with an ntp server

but this time will run out of sync over time with your main machine again. If you have an internet connection while doing live coding, a valid solution is to install and run a network time protocoll demon either as a server or a client on the BELA board. For the case that your livecode system requires you to be off-grid, i.e. especially off from the internet, it makes sense to get the time and date from your main machine. Since I did not manage to set up my OSX machine as an NTP server, I decided to configure one of the BELA boards as one that distributes its system time around the network.

Install the ntp package via

apt-get -y install ntp -t jessie

Configure NTP

Then I set up the ntp on the board that I want to be the time server with (in /etc/ntp.conf) as described at the arch wiki:

details follow

and on the client with

details follow

My OSX machine is also listening to the ntp server with

server 192.168.23.11
server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org

in /etc/ntp.conf

restarting the server on the BELA board is done with

/etc/init.d/ntp restart

On OSX, restart is more ugly by

killall ntpd

Servicing

Since the BBB does not feature a realtime clock that survives reboots, and ntp does slow adaption of the clock (which will take ages starting from 1993), you have to manually set the clock every time you reboot the board. Do this with

/etc/init.d/ntp stop
ntpdate 0.europe.pool.ntp.org
/etc/init.d/ntp start

You may want to check out my ruby script fielding which, among other things, can be used to take care of setting up the time and date after booting up the boards.

  1. If this command fails for some reason, it might be that your internet provider prevents ntp connections from inside its network to the outside. Very likely, it instead provides a dedicated ntp server that can be accessed from within the network. For the KUG, this is e.g. ntp.kug.ac.at.