Hi, We have been using the gPTP.cfg for a while now to synchronize an embedded linux product with either a PC running linuxptp or a dedicated time server synched to GNSS. In order to ensure that the time synchronization works we have monitored the portState, master_offset and gmPresent fields using pmc in the embedded system.
In order to consider an end station to be in good shape we have required that portState == SLAVE && gmPresent == true && master_offset < MAX_ALLOWED_MASTER_OFFSET This is an example output with the gPTP.cfg: sending: GET TIME_STATUS_NP 24d76b.fffe.000776-0 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP master_offset 103 ingress_time 1637221740828303224 cumulativeScaledRateOffset -0.000000007 scaledLastGmPhaseChange 0 gmTimeBaseIndicator 0 lastGmPhaseChange 0x0000'0000000000000000.0000 gmPresent true gmIdentity 78d004.fffe.277c58 78d004.fffe.277c58-1 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP master_offset 0 ingress_time 0 cumulativeScaledRateOffset +0.000000000 scaledLastGmPhaseChange 0 gmTimeBaseIndicator 0 lastGmPhaseChange 0x0000'0000000000000000.0000 gmPresent false gmIdentity 78d004.fffe.277c58 Now we have introduced another setup where we have a third-party high capacity data logger acting as a bridge between the time server and a number of embedded systems. This bridge also runs linuxptp but uses the automotive profile. In this setup we no longer get gmPresent true (and gmIdentity is the local clock), but the end stations still seem to be in sync with the time server. This is also the case when using the automotive profile in the original setup (PC -> embedded system). The output from pmc when running the automotive-slave.cfg is now: sending: GET TIME_STATUS_NP 24d76b.fffe.000776-0 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP master_offset -78 ingress_time 1637222317034857054 cumulativeScaledRateOffset +0.000000009 scaledLastGmPhaseChange 0 gmTimeBaseIndicator 0 lastGmPhaseChange 0x0000'0000000000000000.0000 gmPresent false gmIdentity 24d76b.fffe.000776 78d004.fffe.277c58-1 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP master_offset 0 ingress_time 0 cumulativeScaledRateOffset +0.000000000 scaledLastGmPhaseChange 0 gmTimeBaseIndicator 0 lastGmPhaseChange 0x0000'0000000000000000.0000 gmPresent false gmIdentity 78d004.fffe.277c58 1. Is this the expected behavior when using the automotive profile (especially the inhibit_announce option set to true)? 2. Is there a recommended way to monitor the end-stations as our earlier approach might not be the best, especially when introducing bridges? We want to ensure that the end-stations are synchronized to the dedicated time server and that the accuracy is at least X microseconds. Best regards, Mikael Arvids *************************************************************** To read the Company's Information and Confidentiality Notice, follow this link: https://www.arriver.com/important-information-and-confidentiality-notice ***************************************************************
_______________________________________________ Linuxptp-users mailing list Linuxptp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-users