[time-nuts] Precision Time Protocol – Windows 10 implementation

Peter Membrey peter at membrey.hk
Thu Aug 8 16:36:14 UTC 2019


Hi Adam,

I've only ever used hardware PTP servers (and I'm far from an expert), but PTP is pretty sensitive to latency. It's common for PTP to deployed on dedicated networks to help keep jitter to a minimum (I think I remember one place doing it on Infiniband but I might be wrong). The challenge I think you're facing is that although the network card on the Pi 3b+ supports gigabit Ethernet, it's still connected via a USB2 hub. This introduces a *lot* of latency. For many applications (and general use) it doesn't hurt performance too much (you'll still be lucky to push ~330Mb/s through it), but when you care about latency it will cause you problems. I didn't test extensively but on the Pi3 (not b+), I would often see millisecond level latencies.

For the WiFi question, well, that has even worse latency than the wired (with a number of other issues introduced) so I don't think you'll get much mileage with it.

The Pi isn't bad as an NTP server really, especially if your alternative is a server on the Internet (the uBlox M8Q performs really nicely when compared to the Microsemi S650, an industrial grade GNSS time source), but I reckon you're pushing the envelope with what NTP can do on that hardware, and the Pi just doesn't have the hardware to deliver PTP.

I would love to hear differently though!

Cheers,

Pete


----- Original Message -----
From: "Adam Kumiszcza" <akumiszcza at gmail.com>
To: "Discussion of precise time and frequency measurement" <time-nuts at lists.febo.com>
Sent: Thursday, 8 August, 2019 19:26:11
Subject: [time-nuts] Precision Time Protocol – Windows 10 implementation

Hi everybody! My first post here, I hope the subject is adequate for this
mailing list.

I'm using a tiny layer 1 NTP server consisting of Raspberry Pi 3B+ with
Ublox MAX-M8Q expansion board providing GNSS (currently GPS, Galileo and
Glonass, sometimes I switch to Beidou, too) reference with PPS + a simple
patch antenna hanging near the window. Offset, jitter and rms are most
often smaller than 1 µs. The server is included in NTP pool.

I'm using several Windows 10 machines on the same LAN, all using NTP client
software from Meinberg. The typical offset and jitter in those are about
100-500 µs. I would like to make it lower. I've heard that one of the
latest versions of Windows 10 provides support for PTP protocol (IEEE
1588v2). Hence my questions:

1. Did anybody try using it on Windows 10 already? From what I can tell
right now, there's only a demonstration web site showing it works when
using Ubuntu Linux as a virtual machine [1]. Or should I wait a bit for
more robust implementation?
2. Do I guess correctly that current implementation of PTP works only on
Ethernet? Some of the computers are on wlan.
3. Is there any other way of making the clients' time offset lower?

I've already tried setting PTP on the Raspberry Pi 3B+. It needed a kernel
recompilation with a patch I found here: [2], but I'm not sure it works
correctly.

As you can see on the screenshot below, PTP appears here as a server, but
I'm not sure if it's used at all.
[image: status16.PNG]

Ptp4l status shows this:

pi at zegar:~ $ systemctl status ptp4l
● ptp4l.service - Precision Time Protocol (PTP) service
   Loaded: loaded (/lib/systemd/system/ptp4l.service; enabled; vendor
preset: enabled)
   Active: active (running) since Wed 2019-08-07 12:32:28 CEST; 24h ago
     Docs: man:ptp4l
 Main PID: 323 (ptp4l)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/ptp4l.service
           └─323 /usr/sbin/ptp4l -f /etc/linuxptp/ptp4l.conf -i eth0

Aug 07 12:32:31 zegar ptp4l[323]: ptp4l[6.631]: port 1: link up
Aug 07 12:32:31 zegar ptp4l[323]: ptp4l[6.631]: port 1: FAULTY to LISTENING
on FAULT_CLEARED
Aug 07 12:32:31 zegar ptp4l[323]: [6.631] port 1: link up
Aug 07 12:32:31 zegar ptp4l[323]: [6.631] port 1: FAULTY to LISTENING on
FAULT_CLEARED
Aug 07 12:32:38 zegar ptp4l[323]: ptp4l[13.526]: port 1: LISTENING to
MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
Aug 07 12:32:38 zegar ptp4l[323]: ptp4l[13.526]: selected best master clock
b827eb.fffe.006e65
Aug 07 12:32:38 zegar ptp4l[323]: ptp4l[13.526]: assuming the grand master
role
Aug 07 12:32:38 zegar ptp4l[323]: [13.526] port 1: LISTENING to MASTER on
ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
Aug 07 12:32:38 zegar ptp4l[323]: [13.526] selected best master clock
b827eb.fffe.006e65
Aug 07 12:32:38 zegar ptp4l[323]: [13.526] assuming the grand master role

Thanks in advance for any suggestions!

Adam Kumiszcza

[1]
https://techcommunity.microsoft.com/t5/Networking-Blog/Windows-Subsystem-for-Linux-for-testing-Windows-10-PTP-Client/ba-p/389181
[2] https://github.com/twteamware/raspberrypi-ptp/issues/2


-- 
This message has been scanned for viruses and dangerous content by 
E.F.A. Project, and is believed to be clean.

Click here to report this message as spam.
http://efa.membrey.hk/cgi-bin/learn-msg.cgi?id=7E44F20569.A93C5&token=8c56258c47d97b759f6153822c804b1a


_______________________________________________
time-nuts mailing list -- time-nuts at lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.


More information about the Time-nuts_lists.febo.com mailing list