PTP time synchronization fails

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
1.9.1.10844
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

I want the NVIDIA DRIVE AGX Orin Devkit (below, DDPO) to be PTP time synchronized (IEEE 1588) with an external Grand Master (GM hereinafter).

I followed the instructions in the Linux SDK Devloper Guide, but unfortunately I couldn’t PTP time sync between the external GM and DDPO. I’ll show you the steps below, so if you have any problems or concerns, could you point them out?

HW connection configuration

DDPOの1000BASE-T1(Quad H-MTD) <=Slave

NIC Adapter(H-MTD ↔ RJ45)

Jetson AGX Xavier(NIC: Intel x550-T2) <=GM

Used software and commands

The following steps were followed. The PTP daemon used software provided by your company((drive-linux/samples/nvavb/daemons/ptp4l,phc2sys)). I tried two patterns, one with the configuration file provided by your company and the other without, but PTP time synchronization failed in both patterns.

Pattern 1(Use a configuration file)

DDPO(Slave)

sudo ifconfig mgbe2_0 192.168.1.100 netmask 255.255.255.0
sudo ./ptp4l -f automotive_slave.cfg -i mgbe2_0 -p /dev/ptp2 -m 

Also run on a separate console (There is no description in the SDK Devloper Guide, but additional execution is required to synchronize with MAC.)

sudo ./phc2sys -s mgbe2_0 -w

Jeton AGX Xavier(GM)

sudo ifconfig eth1 192.168.1.10 netmask 255.255.255.0
sudo ./ptp4l -f automotive_master.cfg -i eth1  -p /dev/ptp1 -m

Pattern 2(Do not use a configuration file)

DDPO(Slave)

sudo ifconfig mgbe2_0 192.168.1.100 netmask 255.255.255.0
sudo ./ptp4l -i mgbe2_0 -p /dev/ptp2 -m -s -l7 -4 

Also run on a separate console (There is no description in the SDK Devloper Guide, but additional execution is required to synchronize with MAC.)

sudo ./phc2sys -s mgbe2_0 -w -m

Jeton AGX Xavier(GM)

sudo ifconfig eth1 192.168.1.10 netmask 255.255.255.0
sudo ./ptp4l -i eth1 -p /dev/ptp1 -m -4 -l7

Best Regards,

Dear @shibata-a,
We are checking internally on this use case and update you.

Dear @SivaRamaKrishnaNV ,

Did you find a solution after doing research in NVIDIA?

Can you give me the latest status?

regards,

Hi Siva,

On a similar note is it possible to connect Drive AGX orin to PC and make sure that PC is a grandmaster and check for PTP for testing purposes ?
Regards,
S

Dear @0xdeadbeef,
We have not tested interoperability ptp sync between DRIVE OS and L4T.

Dear @SivaRamaKrishnaNV ,

We don’t have to use Jetson as GM.

Please tell us about the tested environment and procedure for PTP time synchronization of NVIDIA Drive AGX Orin in your company.

Regads,

Dear @SivaRamaKrishnaNV ,

Could you tell me the latest status of this matter?

Did you find out anything?

Regards,

Dear @shibata-a,
Could you double check if X in /dev/ptp correct ? use ethtool -T to find the , from line “PTP Hardware Clock: ”

Dear @SivaRamaKrishnaNV ,

We did a double check and made sure “/ dev/ptp” was correct.

Can you tell me the detailed procedure of PTP time synchronization for Drive AGX Orin that you performed in NVIDIA?

Regards,

When you say it’s not working, what do you mean?

FWIW, I’ve been able to synchronize an AGX Orin using ptp4l with the commands below. I didn’t need to specify the ptp device as ptp4l finds it via the Ethernet interface device.

I ran ptp4l as a master on Ubuntu 20 x86 PC with:
sudo ptp4l -i ens6f1 -f ptp.conf -m

I ran the Ethernet into port 4 of the embedded switch using the provided nvidia T1 to RJ adapter and then ran ptp4l on the AGX on mgbe2_0:
sudo ptp4l -i mgbe2_0 -f automotive-slave.cfg -m

Slave output showing sync:
ptp4l[671487.588]: master offset -137 s3 freq -9859 path delay 353

I do use phc2sys on the master side to synchronize the PTP GM time to the PC’s system time, but that isn’t necessary to just get the two sides synchronized.

I’ve also routed one of the other ports of the switch back through another media converter to a NIC on the x86 PC as a gPTP slave using the same ptp4l command i used on the AGX to verify a hardware PPS signal is close to the grand master PPS. I have a separate thread in the forum asking if it’s possible to get a PPS from the Orin to verify the synchronization there as well.

I did have to update to the latest ptp4l 3.1.1 on the AGX by manually downloading it. Using apt-get puts an old version on and the automotive-slave.cfg didn’t work due to unrecognized parameters.

The automotive slave config I’m using is from linuxptp github page and the master config was hand made, though I imagine the one from github should work as well.

Mine is below:
[global]
twoStepFlag 1
assume_two_step 1
network_transport L2
delay_mechanism P2P
time_stamping hardware
BMCA noop
masterOnly 1
inhibit_announce 0
transportSpecific 0x1
follow_up_info 1
asCapable true
ptp_dst_mac 01:80:C2:00:00:0E
tx_timestamp_timeout 5

Good luck!

Is this specific issue with DRIVE+ Jetson or even DRIVE + x86 or any other devices?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.