Jetson AGX Xavier HW PTP time sync unavailable??

Hi, I am doing a project that needs high precision time sync between several Xavier, so I tryed to use linuxptp to enable hardware time stamping via the Linux SO_TIMESTAMPING socket option. But I got no lucky, after I enable the hardware time stamping option, Xavier’s ethernet dead, with no more RX interrupt, reboot Xavier to make ethernet work again.
So, is Xavier’s ethernet fully support hardware Precision Time Protocol (PTP) ?
In JetsonXavierSOMDatSheet_v0.9.PDF, 1.9.8 RGMII, says yes, maybe ethernet driver mod is needed?
BTW, PTPd with software time stamping worke well.

THANKS

Hi, ztxfr

Nano works as Master:

kaya@K:~/linuxptp$ sudo ./ptp4l -i eth0 -m -S
ptp4l[58508.071]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[58508.071]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[58514.906]: port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[58514.907]: selected local clock 00044b.fffe.cc3c7a as best master
ptp4l[58514.908]: assuming the grand master role

Xavier works as Client:

nvidia@N:~/linuxptp$ sudo ./ptp4l -i eth0 -m -H -s
ptp4l[780664.938]: selected /dev/ptp0 as PTP clock
ptp4l[780664.939]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[780664.939]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[780666.034]: port 1: new foreign master 00044b.fffe.cc3c7a-1
ptp4l[780670.036]: selected best master clock 00044b.fffe.cc3c7a
ptp4l[780670.038]: foreign master not using PTP timescale
ptp4l[780670.039]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
ptp4l[780673.038]: master offset 37018441396 s0 freq      +0 path delay    208137
ptp4l[780674.039]: master offset 37018443546 s1 freq   +2148 path delay    206095
ptp4l[780675.040]: master offset      -1477 s2 freq    +671 path delay    206095
ptp4l[780675.042]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
ptp4l[780676.040]: master offset       -911 s2 freq    +794 path delay    206095
ptp4l[780677.041]: master offset      -3468 s2 freq   -2036 path delay    206095
ptp4l[780678.042]: master offset      -3432 s2 freq   -3041 path delay    206095
ptp4l[780679.043]: master offset        181 s2 freq    -457 path delay    204054
ptp4l[780680.044]: master offset      -1174 s2 freq   -1758 path delay    208137
ptp4l[780681.044]: master offset        843 s2 freq     -93 path delay    208191
ptp4l[780682.045]: master offset       3947 s2 freq   +3264 path delay    206150
ptp4l[780683.045]: master offset       -918 s2 freq    -417 path delay    205984
ptp4l[780684.046]: master offset       1346 s2 freq   +1571 path delay    202410
ptp4l[780685.047]: master offset        547 s2 freq   +1176 path delay    202410
ptp4l[780686.048]: master offset        -68 s2 freq    +725 path delay    201470
ptp4l[780687.049]: master offset      -1156 s2 freq    -383 path delay    201470
ptp4l[780688.049]: master offset      -1025 s2 freq    -599 path delay    201470
ptp4l[780689.050]: master offset      -3915 s2 freq   -3796 path delay    204003
ptp4l[780690.051]: master offset       1175 s2 freq    +119 path delay    202838

Xavier works as master:

nvidia@N:~/linuxptp$ sudo ./ptp4l -i eth0 -m -H
ptp4l[780901.106]: selected /dev/ptp0 as PTP clock
ptp4l[780901.107]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[780901.107]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[780902.145]: port 1: new foreign master 00044b.fffe.cc3c7a-1

ptp4l[780906.147]: selected best master clock 00044b.fffe.cc3c7a
ptp4l[780906.147]: assuming the grand master role
ptp4l[780906.148]: port 1: LISTENING to GRAND_MASTER on RS_GRAND_MASTER

Nano works as client:

kaya@K:~/linuxptp$ sudo ./ptp4l -i eth0 -m -S -s
ptp4l[58968.214]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[58968.214]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[58969.063]: port 1: new foreign master 00044b.fffe.cbd8b0-1
ptp4l[58973.063]: selected best master clock 00044b.fffe.cbd8b0
ptp4l[58973.064]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
ptp4l[58975.062]: master offset     233664 s0 freq  +21641 path delay    212219
ptp4l[58976.063]: master offset     251989 s0 freq  +21641 path delay    212219
ptp4l[58977.063]: master offset     243307 s0 freq  +21641 path delay    212701
ptp4l[58978.062]: master offset     256691 s0 freq  +21641 path delay    212701
ptp4l[58979.062]: master offset      69177 s0 freq  +21641 path delay    212792
ptp4l[58980.062]: master offset     -39672 s0 freq  +21641 path delay    212792
ptp4l[58981.063]: master offset     269345 s0 freq  +21641 path delay    212354
ptp4l[58982.062]: master offset     243810 s0 freq  +21641 path delay    212481
ptp4l[58983.063]: master offset     269243 s0 freq  +21641 path delay    212481
ptp4l[58984.063]: master offset     474262 s0 freq  +21641 path delay    212481
ptp4l[58985.063]: master offset     254513 s0 freq  +21641 path delay    212700
ptp4l[58986.063]: master offset     270881 s0 freq  +21641 path delay    211299
ptp4l[58987.063]: master offset     278686 s0 freq  +21641 path delay    211299

Nano only support software timestamp. Xavier support Hardware timestamp.

I think there is no problem on Xavier.

@alanz, are you able to wire gps to one of them to get PPS implementation and synchronization with a satellite?
References:
https://devtalk.nvidia.com/default/topic/1047944/jetson-agx-xavier/implementation-of-precise-time-synchronization-between-two-xaviers-over-wlan/