Skip to content

Commit a893284

Browse files
authored
Update ptp.md
1 parent e212510 commit a893284

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

reference/best-practice/ptp.md

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
11
# Synchronizing machines to the High Precision Clock
22

3-
Starting from Windows10 (build) window's System Time can be synchronized to a High Precision Time Sourse that uses [PTP](https://de.wikipedia.org/wiki/Precision_Time_Protocol) (Precision Time Protocol). PTP is more precise that NTP (Network Time Protocol), which is used normally by Windows to keep its time in sync.
3+
Starting from Windows10 (build) window's System Time can be synchronized to a High Precision Time Sourse that uses [PTP](https://de.wikipedia.org/wiki/Precision_Time_Protocol) (Precision Time Protocol). PTP is more precise than NTP (Network Time Protocol), which is used in Windows by default sync its time.
44

5-
### Overview:
5+
## Overview
66

7-
There should be at least one PTP Source in your LAN Network. In case there are many, they agee upon each other who the `Grandmaster` is. Clients sync their time to one of the sources.
7+
There needs to be at least one PTP Source in your LAN Network. In case there are multiple, they agree among each other who the `Grandmaster` is.
88

9-
### Configuration of a client
9+
## Configure Windows as a PTP client
1010

1111
Configuring PTP on the system takes several steps:
1212

13-
1. To check if your system has this dll: `C:\Windows\System32\ptpprov.dll`.
14-
1. Check if one of your LAN cards (Wi-Fi won't work) support PTP:
13+
1. Make sure the system has this dll: `C:\Windows\System32\ptpprov.dll`.
14+
1. Check if one of the systems LAN cards (Wi-Fi won't work) support PTP:
1515
1. Navigate to `View Network Connections > Right Click > Properties > Configure > Advanced`.
16-
1. Look for `PTP Protocol Timestamp` and enable it. Some network cards doesn't support it at all.
17-
1. If the system has several cards, the one with PTP Enabled should be assigned as preffered one, in order to be picked by a time service: in the `Properties` of the Network Adapter: `Internet Protocol Version 4 (TCP/IPv4) > Properties > Advanced` turn off `Automatic metric` and set it to a value, smaller than for the other cards.
18-
1. Run registry file (link), it sets several keys:
16+
1. Look for `PTP Protocol Timestamp` and enable it. Some network cards don't support it at all.
17+
1. If the system has multiple cards, the one with PTP Enabled must be assigned as the preffered one, in order to be picked by the time service: In the `Properties` of the Network Adapter: `Internet Protocol Version 4 (TCP/IPv4) > Properties > Advanced` turn off `Automatic metric` and set it to a value, smaller than for the other cards.
18+
1. Run registry file (link) to set several keys:
1919
1. A key `PtpClient` (Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\PtpClient) with some subkeys is added, as described [here](https://techcommunity.microsoft.com/blog/networkingblog/windows-subsystem-for-linux-for-testing-windows-10-ptp-client/389181). **Note**, you have to set `PtpMasters` key to the IP(s) of your ptp time providers.
2020
2. Some subkeys under a `Config` key (Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\PtpClient) are updated, as described in [Configuring Systems for High Accuracy](https://learn.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy).
21-
1. Ntp providers will be disabled (your normal default time server), only PtpClient remains enabled.
22-
1. Enable Inbound and Outbound UDP Ports 219,220 in Windows Firewall. These are used by the PTP protocol.
21+
1. The NtpClient will be disabled, only PtpClient remains enabled.
22+
1. Enable Inbound and Outbound UDP Ports 219 and 220 in Windows Firewall. These are used by the PTP protocol.
2323

2424
When the configuration is ready:
2525

2626
1. Start `Command Line` as Adminitrator
27-
1. Restart the time service: `net stop w32time && net start w32time`.
28-
1. Make sure that the service starts automatically on start (check `System Services`).
29-
1. Run `w32tm /query /configuration`, you should see PtPClient in the list.
30-
1. Run `w32tm /query /status /verbose` to see the status of the sync. If `Source` says `Local CMOS Clock` the system still doesn't sync to the PTP.
27+
1. Restart the time service: `net stop w32time && net start w32time`
28+
1. Make sure that the service starts automatically on start (check `System Services`)
29+
1. Run `w32tm /query /configuration`, you should see PtPClient in the list
30+
1. Run `w32tm /query /status /verbose` to see the status of the sync. If `Source` says `Local CMOS Clock` the system doesn't yet sync to PTP.
3131

32-
It takes some time until the client and server done their agreements, after that periodically checking `w32tm /query /status /verbose` will give you hints how many seconds ago the system was synced etc.
32+
It takes some time until the client and server have negotiated a sync. Checking `w32tm /query /status /verbose` will give you hints how many seconds ago the system was synced etc.
3333

34-
### Configuration of a Server (Ptp Time Source)
34+
## Configuration of a Server (Ptp Time Source)
3535

3636
Although there are special hardware PTP Sources, PTP Source Service can run from on a simple Raspberry Pi 5 (Network Card on the earlier versions doesn't support PTP). And if a real high precision time is needed, a GPS receiver could be added to the Raspberry Pi.
3737

@@ -40,7 +40,6 @@ These articles describe how to setup and run PTP Service on Linux:
4040
- [Nanosecond accurate PTP server](https://austinsnerdythings.com/2025/02/18/nanosecond-accurate-ptp-server-grandmaster-and-client-tutorial-for-raspberry-pi/)
4141
- [Windows Subsystem for Linux for testing Windows 10 PTP Client](https://techcommunity.microsoft.com/blog/networkingblog/windows-subsystem-for-linux-for-testing-windows-10-ptp-client/389181)
4242

43-
4443
## Unicast and Multicast scenarios
4544

46-
...
45+
...

0 commit comments

Comments
 (0)