|
2 | 2 |
|
3 | 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. |
4 | 4 |
|
5 | | -## Overview: |
| 5 | +### Overview: |
6 | 6 |
|
7 | 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. |
8 | 8 |
|
9 | | -## Configuration of a client |
| 9 | +### Configuration of a client |
10 | 10 |
|
11 | 11 | Configuring PTP on the system takes several steps: |
12 | 12 |
|
13 | 13 | 1. To check if your system has this dll: `C:\Windows\System32\ptpprov.dll`. |
14 | 14 | 1. Check if one of your LAN cards (Wi-Fi won't work) support PTP: |
15 | | - 1. Navigate to `View Network Connections > Right Click > Properties > Configure > Advanced` |
| 15 | + 1. Navigate to `View Network Connections > Right Click > Properties > Configure > Advanced`. |
16 | 16 | 1. Look for `PTP Protocol Timestamp` and enable it. Some network cards doesn't support it at all. |
17 | 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 | 18 | 1. Run registry file (link), it sets several keys: |
19 | | - 1. A key `PtpClient` (Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\PtpClient) with some subkeys is added, as described [here](). **Note**, you have to replace PtpMasters with the IP(s) of your ptp time providers. |
20 | | - 2. Some subkeys under a `Config` key (Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\PtpClient) are updated according to [Configuring Systems for High Accuracy](https://learn.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy). |
| 19 | + 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. |
| 20 | + 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 | 21 | 1. Ntp providers will be disabled (your normal default time server), only PtpClient remains enabled. |
22 | 22 | 1. Enable Inbound and Outbound UDP Ports 219,220 in Windows Firewall. These are used by the PTP protocol. |
23 | 23 |
|
24 | 24 | When the configuration is ready: |
25 | 25 |
|
26 | 26 | 1. Start `Command Line` as Adminitrator |
27 | | -1. Restart the time service: `net stop w32time`, `net start w32time`. |
| 27 | +1. Restart the time service: `net stop w32time && net start w32time`. |
28 | 28 | 1. Make sure that the service starts automatically on start (check `System Services`). |
29 | 29 | 1. Run `w32tm /query /configuration`, you should see PtPClient in the list. |
30 | 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. |
31 | 31 |
|
32 | 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. |
33 | 33 |
|
34 | | -## Configuration of a Server (Ptp Time Source) |
| 34 | +### Configuration of a Server (Ptp Time Source) |
35 | 35 |
|
36 | 36 | 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. |
37 | 37 |
|
|
0 commit comments