I am trying time synchronisation by using ptp4l on my i.mx93 EVK. The i.mx93 "eth1" ether is connected to my laptop's network port. Also, they can "ping" the IPs of each other successfully. After setting up the ptp4l and PMC, I used Wireshark to capture the message sent by the i.MX93.
I found the ptpTimescale parameter was false (0). However, I have previously set the ptpTimescale parameter to 1 in PMC.
I am not sure if it is a hardware problem or a software problem. Can you advise how to set the ptpTimescale parameter to 1 if that is not a hardware problem? Thank you in advance.
What I have done to set up the ptp4l and PMC previously:
1. ptp4l -m -i eth1 -f automotive-master_domain0.cfg --step_threshold=1 &
PS: The content of "automotive-master_domain0.cfg" file is:
[global]
# Options carried over from gPTP.
gmCapable 1
priority1 248
priority2 248
logSyncInterval -3
syncReceiptTimeout 3
neighborPropDelayThresh 800
min_neighbor_prop_delay -20000000
assume_two_step 1
path_trace_enabled 1
follow_up_info 1
transportSpecific 0x1
ptp_dst_mac 01:80:C2:00:00:0E
network_transport L2
delay_mechanism P2P
domainNumber 0
#
# Automotive Profile specific options
#
BMCA noop
masterOnly 1
2.
pmc -u -b 0 -t 1 "SET GRANDMASTER_SETTINGS_NP clockClass 248 \
clockAccuracy 0xfe offsetScaledLogVariance 0xffff \
currentUtcOffset 37 leap61 0 leap59 0 currentUtcOffsetValid 1 \
ptpTimescale 1 timeTraceable 1 frequencyTraceable 0 \
timeSource 0xa0"
Strangely, it outputs ptpTimescale 1 after I use command:
pmc -u -b 0 -t 1 'GET GRANDMASTER_SETTINGS_NP'
However, the ptpTimescale parameter of the message Wireshark captured was "false".
Hi,
Thank you for your interest in NXP Semiconductor products,
Could you share the output of the next command?
$ ./check_clocks -d eth1
Regards
Hi Joseph,
The output is:
phc-tai delta is greater than 50 usec !
TAI offset set in kernel is not correct !
Please verify ptp4l and phc config and restart them if necessary to synchronize the clocks !
I don't get why this happened.
I use the following command to check PMC settings:
pmc -u -b 0 -t 1 "GET GRANDMASTER_SETTINGS_NP"
The output is:
sending: GET GRANDMASTER_SETTINGS_NP
484952.fffe.411081-0 seq 0 RESPONSE MANAGEMENT GRANDMASTER_SETTINGS_NP
clockClass 248
clockAccuracy 0xfe
offsetScaledLogVariance 0xffff
currentUtcOffset 37
leap61 0
leap59 0
currentUtcOffsetValid 1
ptpTimescale 1
timeTraceable 1
frequencyTraceable 0
timeSource 0xa0
It doesn't seem wrong.
Can you please suggest what options I set wrong?
Regards,