#!/bin/sh # B7A board-side MEASUREMENT ONLY (no clock set, no RTC, no eMMC). Raw output -> /tmp/b7/raw. Local timestamps: busybox adjtimex time.tv_sec/usec (CLOCK_REALTIME, µs). trap '' HUP; B=/tmp/b7/busybox; R=/tmp/b7/raw; mkdir -p $R; Q="qmicli -p -d /dev/wwan0qmi0"; N=${1:-6} ts() { $B adjtimex | awk '/time.tv_sec/{s=$2} /time.tv_usec/{u=$2} END{printf "%d.%06d", s, u}'; } up() { cut -d' ' -f1 /proc/uptime; } echo "BEGIN $(ts) up=$(up)" > $R/log for r in $(seq 1 $N); do for k in 1 2 3; do a=$(ts); u=$(up); timeout 15 $Q --dms-get-time > $R/r$r-dms$k.txt 2>&1; b=$(ts) echo "r$r DMS$k up=$u t0=$a t1=$b $(grep -o "System time: '[0-9]*" $R/r$r-dms$k.txt | grep -o '[0-9]*$')" >> $R/log done for k in 1 2; do a=$(ts); u=$(up); timeout 15 $Q --nas-get-network-time > $R/r$r-nitz$k.txt 2>&1; b=$(ts) echo "r$r NITZ$k up=$u t0=$a t1=$b $(sed -n "s/.*3GPP Date: *'\(.*\)'/\1/p" $R/r$r-nitz$k.txt) $(sed -n "s/.*3GPP Time: *'\(.*\)'/\1/p" $R/r$r-nitz$k.txt) tz=$(sed -n "s/.*3GPP Timezone Offset: *'\(.*\)'.*/\1/p" $R/r$r-nitz$k.txt)" >> $R/log done for n in 1 2 3; do ip=89.109.251.2$n a=$(ts); u=$(up); timeout 9 $B ntpd -w -d -p $ip > $R/r$r-ntp$n.txt 2>&1; b=$(ts) echo "r$r NTP$n up=$u t0=$a t1=$b $ip" >> $R/log grep "reply from" $R/r$r-ntp$n.txt | sed "s/^/r$r NTP$n /" >> $R/log done done echo "END $(ts) up=$(up)" >> $R/log