Ben's notes

Linux, Unix, network, radio...

User Tools

Site Tools


leap_second_schrikkelseconde_2016

Leap second (schrikkelseconde) 2016 UTC

It's over!

The 2016 leap second is over. The GPS did report the correct time, but the Heather program unfortunately not. It reported 01:00:60 instead of 00:59:60. At least we did saw the '60' second.

  • ntp1.polaire.nl:
    Dec 31 01:20:17 ntp1.polaire.nl ntpd[8407]: kernel reports leap second insertion scheduled
    Jan 01 00:59:59 ntp1.polaire.nl kernel: Clock: inserting leap second 23:59:60 UTC
    Jan 01 01:02:39 ntp1.polaire.nl ntpd[8407]: kernel reports leap second has occurred
    Jan 01 01:02:39 ntp1.polaire.nl ntpd[8407]: kernel reports leap second has occurred
  • Trimble Thunderbolt log:
    # tow                   pps(sec)        osc( ppb)       dac(V)          temp(C)         sats
    23:59:35  604792        8.26515e-09     0.022472        0.611401        36.727600       5
    23:59:36  604793        8.43311e-09     -0.008945       0.611401        36.727600       5
    23:59:37  604794        8.54155e-09     -0.001928       0.611401        36.727600       5
    23:59:38  604795        8.63533e-09     0.000671        0.611401        36.727600       5
    23:59:39  604796        8.7147e-09      -0.006617       0.611401        36.720154       5
    23:59:40  604797        8.75872e-09     -0.008327       0.611401        36.720123       5
    23:59:41  604798        8.83556e-09     0.011710        0.611401        36.720154       5
    23:59:42  604799        8.85405e-09     0.000682        0.611401        36.720154       5
    23:59:44       1        8.69994e-09     0.007716        0.611401        36.720154       5
    23:59:45       2        8.65063e-09     0.002435        0.611401        36.720154       5
    23:59:46       3        8.59314e-09     0.000077        0.611401        36.720154       5
    23:59:47       4        8.53703e-09     -0.005127       0.611401        36.720154       5
    23:59:48       5        8.45476e-09     -0.014400       0.611401        36.720154       5
    23:59:49       6        8.37115e-09     -0.013538       0.611401        36.720154       5
    23:59:50       7        8.22537e-09     -0.005261       0.611401        36.720154       5
    23:59:51       8        8.02418e-09     -0.024381       0.611401        36.720123       5
    23:59:52       9        7.87465e-09     -0.025426       0.611401        36.720154       5
    23:59:53      10        7.71318e-09     -0.027040       0.611401        36.720154       5
    23:59:54      11        7.53361e-09     -0.007596       0.611401        36.720154       5
    23:59:55      12        7.387e-09       -0.022948       0.611410        36.720154       5
    23:59:56      13        7.31412e-09     0.010798        0.611410        36.720154       5
    23:59:57      14        7.23471e-09     0.003512        0.611410        36.720154       5
    23:59:58      15        7.13773e-09     -0.011153       0.611410        36.720154       5
    23:59:59      16        7.06974e-09     0.018081        0.611410        36.720154       5
    
    23:59:60      17        6.99192e-09     -0.008905       0.611410        36.720184       5
    
    00:00:00      18        6.85744e-09     -0.000555       0.611410        36.727600       5
    00:00:01      19        6.72356e-09     0.008841        0.611410        36.720154       5
    00:00:02      20        6.609e-09       -0.001964       0.611410        36.720154       5
    00:00:03      21        6.5399e-09      -0.004864       0.611410        36.720184       5
    00:00:04      22        6.4497e-09      -0.003391       0.611410        36.720154       5
  • Heather screenshots:

This year i'm streaming the 2016 (UTC) leap second using a view only, single application, VNC service. You can find the Lady Heather's GPS Disciplined Oscillator Control Program documentation here.

In The Netherlands, the leap second will take place on 00:59:60 local time, as a result of the UTC+1 timezone. So for us it will already be 2017. Happy new year!

LH screenshot, leap second pending. About the north pole hole; GPS satellites orbit from 60° North to 60° South. Although the GPS signal covers the entire earth, satellite density is greater when facing the Equator than the Poles.

The Earth Orientation Center of IERS leap second announcement:



     INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS) 

SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE

SERVICE DE LA ROTATION TERRESTRE DE L'IERS
OBSERVATOIRE DE PARIS                                   
61, Av. de l'Observatoire 75014 PARIS (France)
Tel.      : +33 1 40 51 23 35
e-mail    : services.iers@obspm.fr
http://hpiers.obspm.fr/eop-pc


                                              Paris, 6 July 2016
                                                           
                                              Bulletin C 52
                                
 To authorities responsible for the measurement and distribution of time                                         


                                   UTC TIME STEP
                            on the 1st of January 2017
                      

 A positive leap second will be introduced at the end of December 2016.
 The sequence of dates of the UTC second markers will be:		
		
                          2016 December 31, 23h 59m 59s
                          2016 December 31, 23h 59m 60s
                          2017 January   1,  0h  0m  0s
              
 The difference between UTC and the International Atomic Time TAI is:

  from 2015 July 1, 0h UTC, to 2017 January 1 0h UTC   : UTC-TAI = - 36s
  from 2017 January 1, 0h UTC, until further notice    : UTC-TAI = - 37s 

 
  
 Leap seconds can be introduced in UTC at the end of the months of December 
 or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every 
 six months, either to announce a time step in UTC or to confirm that there 
 will be no time step at the next possible date.
 
 
                                              Christian Bizouard
                                              Head
                                              Earth Orientation Center of IERS
                                              Observatoire de Paris, France

VNC

  • The VNC server address and port will be provided on request only.

How to install

Prerequisite hardware

  • PC Engines APU, PDF Manual.
  • Trimble Thunderbolt GPS receiver, PDF Manual.
  • Active patch antenna on the roof.

Installation

  • Make sure you have an internet connection.
  • Start Arch Linux install over PXE.
  • A rundown:
    # Need to switch networks and renew lease
    dhclient -r -v enp1s0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v enp1s0
    
    ping ping.xs4all.nl
    timedatectl set-ntp true
    timedatectl status
    
    #Partition SSD and make the filesystem:
    fdisk /dev/sda
    mkfs.ext4 /dev/sda1
    
    mount /dev/sda1 /mnt
    
    # Create a swap file (instead of swap partition)
    fallocate -l 512M /mnt/swapfile
    chmod 600 /mnt/swapfile
    mkswap /mnt/swapfile
    swapon /mnt/swapfile
    
    # Install Arch Linux packages
    pacstrap /mnt base
    genfstab -U /mnt >> /mnt/etc/fstab
    
    # Correct the swap location in /etc/mnt/fstab 
    /swapfile none swap defaults 0 0
    
    # Chroot into the new installation
    arch-chroot /mnt
    
    # Configure the time zone
    ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime
    hwclock --systohc
    
    # Uncomment en_US.UTF-8 UTF-8 and other needed localizations in /etc/locale.gen
    locale-gen
    
    #/etc/locale.conf
    LANG=en_US.UTF-8
    
    #Set hostname in /etc/hostname
    apuarch
    
    #/etc/hosts
    127.0.1.1	apuarch.localdomain	apuarch
    
    #Configure network
    #Create: /etc/systemd/network/MyDhcp.network
    
    [Match]
    Name=en*
    
    [Network]
    DHCP=ipv4
    UseHostname=false
    
    systemctl enable systemd-networkd.service
    systemctl enable systemd-resolved.service
    
    # Install OpenSSH
    pacman -S openssh
    systemctl enable sshd.service
    
    # Install chrony
    pacman -S chrony
    #edit /etc/chrony.conf
    systemctl enable chrony.service
    
    #Generate initial ramdisk
    mkinitcpio -p linux
    
    # Set the root password
    passwd root
    
    # create aditional user accounts
    
    #Install GRUB
    pacman -S grub
    #/etc/default/grub
    GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    
    grub-install --target=i386-pc /dev/sda
    grub-mkconfig -o /boot/grub/grub.cfg
    
    #No getty on serial, because we are using the serial port for the GPS receiver.
    systemctl mask serial-getty@ttyS0.service
    
    exit
    reboot

Post install

  • Configure firewall (iptables)
  • Install packages:
    pacman -S unzip tigervnc xterm pacman -S xorg-fonts-misc xorg-xsetroot xorg-xrandr xorg-xrdb screen tmux base-devel libx11 dos2unix rxvt-unicode unclutter
  • Create the application user:
    useradd -d /home/heather -m heather
  • Link resolv.conf:
    ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
  • Disable IPv6 (if not needed):
    #/etc/sysctl.d/10-disable-ipv6.conf
    # Disable IPv6
    net.ipv6.conf.all.disable_ipv6 = 1
    
    # Load settings / or reboot:
    sysctl --system
  • Remove the serial terminal settings in Grub and kernel cmdline. The GPS receiver is connected to the only (from the outside) available serial port.

Install graphical environment

  • Log in as the application user and configure the VNC password, create normal and view-only account
    vncserver
  • Kill the VNC server:
    vncserver -kill :1
  • Edit the xstartup script:~/.vnc/xstartup:
    #!/bin/sh
    
    # Set background to solid grey
    xsetroot -solid grey
    
    # Hide mouse when idle for 5 seconds
    unclutter -idle 5 -root &
    
    # Start terminal
    urxvt
    
  • Edit the VNC config ~/.vnc/config:
    securitytypes=vncauth,tlsvnc
    geometry=1280x1024
    alwaysshared
  • Warning, don't use persistent session in untrusted networks. Create (as root) /etc/systemd/system/vncserver@:1.service:
    [Unit]
    Description=Remote desktop service (VNC)
    After=syslog.target network-online.target
    
    [Service]
    Type=simple
    User=heather
    PAMName=heather
    PIDFile=/home/heather/.vnc/%H:%i.pid
    ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
    ExecStart=/usr/bin/vncserver -fg %i
    ExecStop=/usr/bin/vncserver -kill %i
    Restart=always
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target:
  • Enable the new VNC service:
    systemctl enable vncserver@:1.service

Install Lady Heather's Disciplined Oscillator Control Program

  • Add heather user to uucp group.
  • Install the application:
    #as user heather:
    curl -O http://www.ke5fx.com/heather/heatherx11.zip
    unzip heatherx11.zip
    
    cd heatherx11
    make clean
    make
  • Configure application heather.cfg:
    #
    #  Lady Heather command line configuraion file
    #
    #  Place the command line options that you want to use in this file
    #  with one command line option per line.  Each option MUST start in column
    #  one with a '/', '-', '@', or '$' otherwise the line will be treated as a comment.
    #
    #  Lines that begin with '/' or '-' set command line option values.
    #  Lines that begin with '$' send hex values to the receiver.
    #  Lines that begin witj '@' send keyboard commands (all '@' lines are copied
    #  to temporary keyboard script file heathtmp.scr which is then processed 
    #  once heather has finished initializing the heardware, etc)
    #
    
    # set com port to use (note the 'u' USB option is ignored for Windows since
    # Windows treats USB com devices the same as hardware serial ports).  For Linux
    # and macOS, use a number 1 greater than the operating system device id (e.g.
    # -1u says to to use /dev/ttyUSB0) or use the -id= option to set the linux
    # device name.  The -ip= command line option can set the TCP/IP address of
    # a remote decice on the network (local or internet) 
    -id=/dev/ttyS0
    
    # force the baud rate to use here (if not set, a default value depending uoon
    # the receiver type is used)
    # -br=9600:8:N:1
    
    # set the receiver type to use (-rx says to auto-detect)
    # If you did not first set the baud rate, auto-detect tries 9600:8:N:1,
    # 115200:8:N:1, 57600:8:N:1 and, 19200:7:E:1 in that order.
    -rx
    
    # set your local time zone to use. You can use Linux standard format: CDT6CST
    #-tz=-6cst/cdt
    -tz=1CET/CEST
    
    # enable the digital clock display
    -gz1
    
    # enable the analog watch display
    #-gw1
    
    # enable the satellite position map display
    #-gm1
    
    # enable the satellite signal level display in the plot area
    -gq1
    -gb1
    
    # allow ESC ESC to exit the program
    -ke
    
    # enable the singing clock (-th=4h for cuckoo clock,  -th=1b for ships bells clock)
    #-th=4s
    
    #Resolution 1280x1024
    -vl
    
    # Antenna cable length 
    -c=-15m,.8v
    
    # DST UK/Europe
    -b=2
    
    # Use UTC time instead of GPS time
    -tu
    
    # Official sunrise/sunset times
    -sr=O
    
    # Plot Queue
    -q=2d
    
    # View
    -y=2D
    
    # Log file
    -w=tbolt.log
    
    # Hide location
    -glp

Workaround for slow systems

  • The creation of the screen dump takes a lot of resources and will hang Heather for a couple of seconds. The next steps let you take screenshots outside of Heather.
  • Install maim:
    pacman -S maim
  • Recompile heather with setting leap-dump = 0; in the file heather.cpp.
  • Create a script to take screenshots,
    /usr/bin/maim --xdisplay=:1 /var/tmp/heather-$(date +%Y%m%d-%H%M%S-%N).png
  • Run this script from cron or systemd.timer as user heather.
leap_second_schrikkelseconde_2016.txt · Last modified: 2021/10/09 15:14 by 127.0.0.1