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

Reply via email to