linuxptp-users Mailing List for linuxptp (Page 20)
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
You can subscribe to this list here.
2012 |
Jan
|
Feb
(10) |
Mar
(47) |
Apr
|
May
(26) |
Jun
(10) |
Jul
(4) |
Aug
(2) |
Sep
(2) |
Oct
(20) |
Nov
(14) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2013 |
Jan
(6) |
Feb
(18) |
Mar
(27) |
Apr
(57) |
May
(32) |
Jun
(21) |
Jul
(79) |
Aug
(108) |
Sep
(13) |
Oct
(73) |
Nov
(51) |
Dec
(24) |
2014 |
Jan
(24) |
Feb
(41) |
Mar
(39) |
Apr
(5) |
May
(6) |
Jun
(2) |
Jul
(5) |
Aug
(15) |
Sep
(7) |
Oct
(6) |
Nov
|
Dec
(7) |
2015 |
Jan
(27) |
Feb
(18) |
Mar
(37) |
Apr
(8) |
May
(13) |
Jun
(44) |
Jul
(4) |
Aug
(50) |
Sep
(35) |
Oct
(6) |
Nov
(24) |
Dec
(19) |
2016 |
Jan
(30) |
Feb
(30) |
Mar
(23) |
Apr
(4) |
May
(12) |
Jun
(19) |
Jul
(26) |
Aug
(13) |
Sep
|
Oct
(23) |
Nov
(37) |
Dec
(15) |
2017 |
Jan
(33) |
Feb
(19) |
Mar
(20) |
Apr
(43) |
May
(39) |
Jun
(23) |
Jul
(20) |
Aug
(27) |
Sep
(10) |
Oct
(15) |
Nov
|
Dec
(24) |
2018 |
Jan
(3) |
Feb
(10) |
Mar
(34) |
Apr
(34) |
May
(28) |
Jun
(50) |
Jul
(27) |
Aug
(75) |
Sep
(21) |
Oct
(42) |
Nov
(25) |
Dec
(31) |
2019 |
Jan
(39) |
Feb
(28) |
Mar
(19) |
Apr
(7) |
May
(30) |
Jun
(22) |
Jul
(54) |
Aug
(36) |
Sep
(19) |
Oct
(33) |
Nov
(36) |
Dec
(32) |
2020 |
Jan
(29) |
Feb
(38) |
Mar
(29) |
Apr
(30) |
May
(39) |
Jun
(45) |
Jul
(31) |
Aug
(52) |
Sep
(40) |
Oct
(8) |
Nov
(48) |
Dec
(30) |
2021 |
Jan
(35) |
Feb
(32) |
Mar
(23) |
Apr
(55) |
May
(43) |
Jun
(63) |
Jul
(17) |
Aug
(24) |
Sep
(9) |
Oct
(31) |
Nov
(67) |
Dec
(55) |
2022 |
Jan
(31) |
Feb
(48) |
Mar
(76) |
Apr
(18) |
May
(13) |
Jun
(46) |
Jul
(75) |
Aug
(54) |
Sep
(59) |
Oct
(65) |
Nov
(44) |
Dec
(7) |
2023 |
Jan
(38) |
Feb
(32) |
Mar
(35) |
Apr
(23) |
May
(46) |
Jun
(53) |
Jul
(18) |
Aug
(10) |
Sep
(24) |
Oct
(15) |
Nov
(40) |
Dec
(6) |
From: Miroslav L. <mli...@re...> - 2022-09-12 14:58:15
|
On Mon, Sep 12, 2022 at 07:23:03PM +0530, Raj wrote: > Yes, ECU1 sends Announce packet in every 2 sec , however the switch in > between (NETGEAR GS724Tv4) sends Announce packet to ECU2 every 1 sec. > > I tried with "logAnnounceInterval 0" in both ECU1 & ECU2 and observed the > same issue as mentioned above. Ok, so there is a gPTP bridge between ECU1 and ECU2. What do you see in its announce messages? Is the grandmaster identity changing over time? The delay you had in the log was over 3 microseconds. Is the delay to ECU1 the same and is it acceptable for the switch according to its configured delay threshold? -- Miroslav Lichvar |
From: Raj <mai...@gm...> - 2022-09-12 13:53:22
|
Hi Miroslav, Yes, ECU1 sends Announce packet in every 2 sec , however the switch in between (NETGEAR GS724Tv4) sends Announce packet to ECU2 every 1 sec. I tried with "logAnnounceInterval 0" in both ECU1 & ECU2 and observed the same issue as mentioned above. Thanks, Raj On Mon, Sep 12, 2022 at 2:18 PM Miroslav Lichvar <mli...@re...> wrote: > On Sat, Sep 10, 2022 at 09:18:04PM +0530, Raj wrote: > > We are observing that When ECU1 is active ECU2 initially takes a long > time > > (randomly 10 sec - 2min approx) to sync with ECU1(GM) and once ECU2 > > successfully syncs with ECU1 then after that there is no issue. ECU2 > > throwing "SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES" error and > > considering itself as GM by sending announce packet , after that again > > considering ECU1 as GM and going to slave mode, this fluctuation on ECU2 > is > > happening intially when ECU2 is trying to sync with ECU1 and after some > > time (randomly 10 sec -2min) ECU2 successfully getting synchronozed with > > ECU1. > > > > > > The question is why does ECU2 take more time initially to select ECU1 as > GM > > ? > > If you capture PTP traffic on ECU2, do you see announce messages from > ECU1 every two seconds (following logAnnounceInterval=1) ? > > -- > Miroslav Lichvar > > |
From: Miroslav L. <mli...@re...> - 2022-09-12 08:48:44
|
On Sat, Sep 10, 2022 at 09:18:04PM +0530, Raj wrote: > We are observing that When ECU1 is active ECU2 initially takes a long time > (randomly 10 sec - 2min approx) to sync with ECU1(GM) and once ECU2 > successfully syncs with ECU1 then after that there is no issue. ECU2 > throwing "SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES" error and > considering itself as GM by sending announce packet , after that again > considering ECU1 as GM and going to slave mode, this fluctuation on ECU2 is > happening intially when ECU2 is trying to sync with ECU1 and after some > time (randomly 10 sec -2min) ECU2 successfully getting synchronozed with > ECU1. > > > The question is why does ECU2 take more time initially to select ECU1 as GM > ? If you capture PTP traffic on ECU2, do you see announce messages from ECU1 every two seconds (following logAnnounceInterval=1) ? -- Miroslav Lichvar |
From: Raj <mai...@gm...> - 2022-09-10 15:48:31
|
Hi Team, We are currently running BMCA, where we have 3 ECUs. ECU1 - GM1 ECU2- GM2 ECU3- Slave When ECU1 is active, ECU2 & ECU3 will be the slave for ECU1. When ECU1 is down/lost, ECU2 has to switch from slave to GM role. We have configured the below priority for ECUs as: Priority1 126 (ECU1) Priority1 127 (ECU2) Priority1 128 (ECU3) We are observing that When ECU1 is active ECU2 initially takes a long time (randomly 10 sec - 2min approx) to sync with ECU1(GM) and once ECU2 successfully syncs with ECU1 then after that there is no issue. ECU2 throwing "SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES" error and considering itself as GM by sending announce packet , after that again considering ECU1 as GM and going to slave mode, this fluctuation on ECU2 is happening intially when ECU2 is trying to sync with ECU1 and after some time (randomly 10 sec -2min) ECU2 successfully getting synchronozed with ECU1. The question is why does ECU2 take more time initially to select ECU1 as GM ? Could you please suggest any configuration changes that could solve this issue? Please find the below debug enabled Logs on ECU2 & ECU1 for more details. ECU2 logs: ========= root@autotalks:~# ptp4l -i eth0 -f /home/root/ECU2.cfg -m -l 7 ptp4l[272154.941]: config item (null).assume_two_step is 1 ptp4l[272154.942]: config item (null).check_fup_sync is 0 ptp4l[272154.943]: config item (null).tx_timestamp_timeout is 100 ptp4l[272154.944]: config item (null).hwts_filter is 0 ptp4l[272154.945]: config item (null).clock_servo is 0 ptp4l[272154.945]: config item (null).clock_type is 32768 ptp4l[272154.946]: config item (null).clock_servo is 0 ptp4l[272154.947]: config item (null).clockClass is 248 ptp4l[272154.947]: config item (null).clockAccuracy is 254 ptp4l[272154.948]: config item (null).offsetScaledLogVariance is 65535 ptp4l[272154.949]: config item (null).productDescription is ';;' ptp4l[272154.950]: config item (null).revisionData is ';;' ptp4l[272154.951]: config item (null).userDescription is '' ptp4l[272154.952]: config item (null).manufacturerIdentity is '00:00:00' ptp4l[272154.953]: config item (null).domainNumber is 0 ptp4l[272154.953]: config item (null).slaveOnly is 0 ptp4l[272154.954]: config item (null).gmCapable is 1 ptp4l[272154.954]: config item (null).gmCapable is 1 ptp4l[272154.955]: config item (null).G.8275.defaultDS.localPriority is 128 ptp4l[272154.955]: config item (null).maxStepsRemoved is 255 ptp4l[272154.955]: config item (null).time_stamping is 1 ptp4l[272154.955]: config item (null).twoStepFlag is 1 ptp4l[272154.955]: config item (null).twoStepFlag is 1 ptp4l[272154.956]: config item (null).time_stamping is 1 ptp4l[272154.956]: config item (null).priority1 is 128 ptp4l[272154.956]: config item (null).priority2 is 248 ptp4l[272154.957]: interface index 2 is up ptp4l[272154.958]: config item (null).free_running is 0 ptp4l[272154.958]: selected /dev/ptp0 as PTP clock ptp4l[272154.958]: config item (null).clockIdentity is '000000.0000.000000' ptp4l[272154.958]: config item (null).uds_address is '/var/run/ptp4l' ptp4l[272154.959]: section item /var/run/ptp4l.announceReceiptTimeout now 0 ptp4l[272154.959]: section item /var/run/ptp4l.delay_mechanism now 0 ptp4l[272154.959]: section item /var/run/ptp4l.network_transport now 0 ptp4l[272154.959]: section item /var/run/ptp4l.delay_filter_length now 1 ptp4l[272154.960]: config item (null).free_running is 0 ptp4l[272154.960]: config item (null).freq_est_interval is 1 ptp4l[272154.960]: config item (null).write_phase_mode is 0 ptp4l[272154.960]: config item (null).gmCapable is 1 ptp4l[272154.961]: config item (null).kernel_leap is 1 ptp4l[272154.961]: config item (null).utc_offset is 0 ptp4l[272154.961]: config item (null).timeSource is 32 ptp4l[272154.961]: config item (null).pi_proportional_const is 0.000000 ptp4l[272154.962]: config item (null).pi_integral_const is 0.000000 ptp4l[272154.962]: config item (null).pi_proportional_scale is 0.000000 ptp4l[272154.962]: config item (null).pi_proportional_exponent is -0.300000 ptp4l[272154.962]: config item (null).pi_proportional_norm_max is 0.700000 ptp4l[272154.963]: config item (null).pi_integral_scale is 0.000000 ptp4l[272154.963]: config item (null).pi_integral_exponent is 0.400000 ptp4l[272154.963]: config item (null).pi_integral_norm_max is 0.300000 ptp4l[272154.963]: config item (null).step_threshold is 1.000000 ptp4l[272154.964]: config item (null).first_step_threshold is 0.000020 ptp4l[272154.964]: config item (null).max_frequency is 900000000 ptp4l[272154.964]: config item (null).servo_offset_threshold is 30 ptp4l[272154.964]: config item (null).servo_num_offset_values is 10 ptp4l[272154.965]: config item (null).dataset_comparison is 0 ptp4l[272154.965]: config item (null).tsproc_mode is 0 ptp4l[272154.965]: config item (null).delay_filter is 1 ptp4l[272154.965]: config item (null).delay_filter_length is 10 ptp4l[272154.966]: config item (null).initial_delay is 0 ptp4l[272154.966]: config item (null).summary_interval is 0 ptp4l[272154.966]: config item (null).sanity_freq_limit is 200000000 ptp4l[272154.966]: PI servo: sync interval 1.000 kp 0.700 ki 0.300000 ptp4l[272154.967]: config item /var/run/ptp4l.boundary_clock_jbod is 0 ptp4l[272154.967]: config item /var/run/ptp4l.network_transport is 0 ptp4l[272154.967]: config item /var/run/ptp4l.masterOnly is 0 ptp4l[272154.967]: config item /var/run/ptp4l.BMCA is 0 ptp4l[272154.967]: config item /var/run/ptp4l.delayAsymmetry is 0 ptp4l[272154.968]: config item /var/run/ptp4l.follow_up_info is 1 ptp4l[272154.968]: config item /var/run/ptp4l.freq_est_interval is 1 ptp4l[272154.968]: config item /var/run/ptp4l.msg_interval_request is 1 ptp4l[272154.968]: config item /var/run/ptp4l.net_sync_monitor is 0 ptp4l[272154.968]: config item /var/run/ptp4l.path_trace_enabled is 1 ptp4l[272154.968]: config item /var/run/ptp4l.tc_spanning_tree is 0 ptp4l[272154.968]: config item /var/run/ptp4l.ingressLatency is 1086 ptp4l[272154.968]: config item /var/run/ptp4l.egressLatency is 753 ptp4l[272154.968]: config item /var/run/ptp4l.delay_mechanism is 0 ptp4l[272154.968]: config item /var/run/ptp4l.hybrid_e2e is 0 ptp4l[272154.969]: config item /var/run/ptp4l.fault_badpeernet_interval is 16 ptp4l[272154.969]: config item /var/run/ptp4l.fault_reset_interval is 4 ptp4l[272154.969]: config item /var/run/ptp4l.tsproc_mode is 0 ptp4l[272154.969]: config item /var/run/ptp4l.delay_filter is 1 ptp4l[272154.969]: config item /var/run/ptp4l.delay_filter_length is 1 ptp4l[272154.969]: config item (null).slave_event_monitor is '' ptp4l[272154.969]: config item eth0.boundary_clock_jbod is 0 ptp4l[272154.970]: config item eth0.network_transport is 3 ptp4l[272154.970]: config item eth0.masterOnly is 0 ptp4l[272154.970]: config item eth0.BMCA is 0 ptp4l[272154.970]: config item eth0.delayAsymmetry is 0 ptp4l[272154.970]: config item eth0.follow_up_info is 1 ptp4l[272154.971]: config item eth0.freq_est_interval is 1 ptp4l[272154.971]: config item eth0.msg_interval_request is 1 ptp4l[272154.971]: config item eth0.net_sync_monitor is 0 ptp4l[272154.971]: config item eth0.path_trace_enabled is 1 ptp4l[272154.971]: config item eth0.tc_spanning_tree is 0 ptp4l[272154.971]: config item eth0.ingressLatency is 1086 ptp4l[272154.971]: config item eth0.egressLatency is 753 ptp4l[272154.971]: config item eth0.delay_mechanism is 2 ptp4l[272154.971]: config item eth0.unicast_master_table is 0 ptp4l[272154.971]: config item eth0.unicast_listen is 0 ptp4l[272154.972]: config item eth0.hybrid_e2e is 0 ptp4l[272154.972]: config item eth0.fault_badpeernet_interval is 16 ptp4l[272154.972]: config item eth0.fault_reset_interval is 4 ptp4l[272154.972]: config item eth0.tsproc_mode is 0 ptp4l[272154.972]: config item eth0.delay_filter is 1 ptp4l[272154.972]: config item eth0.delay_filter_length is 10 ptp4l[272154.973]: config item eth0.logMinDelayReqInterval is 0 ptp4l[272154.973]: config item eth0.logAnnounceInterval is 1 ptp4l[272154.973]: config item eth0.inhibit_announce is 0 ptp4l[272154.973]: config item eth0.ignore_source_id is 0 ptp4l[272154.973]: config item eth0.announceReceiptTimeout is 3 ptp4l[272154.974]: config item eth0.syncReceiptTimeout is 3 ptp4l[272154.974]: config item eth0.transportSpecific is 1 ptp4l[272154.974]: config item eth0.ignore_transport_specific is 0 ptp4l[272154.974]: config item eth0.G.8275.portDS.localPriority is 128 ptp4l[272154.974]: config item eth0.logSyncInterval is -3 ptp4l[272154.974]: config item eth0.operLogSyncInterval is 0 ptp4l[272154.974]: config item eth0.logMinPdelayReqInterval is 0 ptp4l[272154.974]: config item eth0.operLogPdelayReqInterval is 0 ptp4l[272154.974]: config item eth0.neighborPropDelayThresh is 20000000 ptp4l[272154.975]: config item eth0.min_neighbor_prop_delay is -20000000 ptp4l[272154.975]: config item eth0.asCapable is 0 ptp4l[272154.975]: config item eth0.inhibit_delay_req is 0 ptp4l[272154.975]: config item eth0.ptp_dst_mac is '01:80:C2:00:00:0E' ptp4l[272154.976]: config item eth0.p2p_dst_mac is '01:80:C2:00:00:0E' ptp4l[272154.976]: config item global.socket_priority is 0 ptp4l[272155.050]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l[272155.051]: config item /var/run/ptp4l.logMinDelayReqInterval is 0 ptp4l[272155.051]: config item /var/run/ptp4l.logAnnounceInterval is 1 ptp4l[272155.051]: config item /var/run/ptp4l.inhibit_announce is 0 ptp4l[272155.051]: config item /var/run/ptp4l.ignore_source_id is 0 ptp4l[272155.052]: config item /var/run/ptp4l.announceReceiptTimeout is 0 ptp4l[272155.052]: config item /var/run/ptp4l.syncReceiptTimeout is 3 ptp4l[272155.052]: config item /var/run/ptp4l.transportSpecific is 1 ptp4l[272155.053]: config item /var/run/ptp4l.ignore_transport_specific is 0 ptp4l[272155.053]: config item /var/run/ptp4l.G.8275.portDS.localPriority is 128 ptp4l[272155.053]: config item /var/run/ptp4l.logSyncInterval is -3 ptp4l[272155.053]: config item /var/run/ptp4l.operLogSyncInterval is 0 ptp4l[272155.054]: config item /var/run/ptp4l.logMinPdelayReqInterval is 0 ptp4l[272155.054]: config item /var/run/ptp4l.operLogPdelayReqInterval is 0 ptp4l[272155.054]: config item /var/run/ptp4l.neighborPropDelayThresh is 20000000 ptp4l[272155.055]: config item /var/run/ptp4l.min_neighbor_prop_delay is -20000000 ptp4l[272155.055]: config item /var/run/ptp4l.asCapable is 0 ptp4l[272155.055]: config item /var/run/ptp4l.inhibit_delay_req is 0 ptp4l[272155.056]: config item (null).uds_address is '/var/run/ptp4l' ptp4l[272155.056]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l[272155.057]: port 1: ignoring message ptp4l[272155.057]: port 1: received link status notification ptp4l[272155.057]: interface index 2 is up ptp4l[272155.357]: port 1: peer port id set to 3498b5.fffe.abc7c3-7 ptp4l[272156.051]: port 1: delay timeout ptp4l[272156.057]: delay filtered 3420 raw 3420 ptp4l[272156.376]: port 1: new foreign master 3498b5.fffe.abc7c3-7 ptp4l[272157.051]: port 1: delay timeout ptp4l[272157.057]: delay filtered 3414 raw 3408 ptp4l[272158.051]: port 1: delay timeout ptp4l[272158.056]: delay filtered 3408 raw 3404 ptp4l[272158.376]: selected best master clock 0022a0.fffe.000106 ptp4l[272158.376]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE ptp4l[272158.384]: PI servo: sync interval 0.125 kp 1.306 ki 0.130583 ptp4l[272159.052]: port 1: delay timeout ptp4l[272159.066]: delay filtered 3411 raw 3414 ptp4l[272159.390]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l[272160.016]: rms 56708456162738 max 113416912325556 freq +636 +/- 375 delay 3411 +/- 0 ptp4l[272160.052]: port 1: delay timeout ptp4l[272160.056]: negative delay -1470193 ptp4l[272160.056]: delay = (t2 - t3) * rr + (t4 - t1) ptp4l[272160.056]: t2 - t3 = -51 ptp4l[272160.056]: t4 - t1 = -2940336 ptp4l[272160.056]: rr = -0.000017632 ptp4l[272160.056]: delay filtered 3408 raw -1470193 ptp4l[272161.017]: rms 471 max 592 freq +91 +/- 101 delay 3408 +/- 0 ptp4l[272161.052]: port 1: delay timeout ptp4l[272161.056]: negative delay -1409256 ptp4l[272161.056]: delay = (t2 - t3) * rr + (t4 - t1) ptp4l[272161.056]: t2 - t3 = -49 ptp4l[272161.056]: t4 - t1 = -2818464 ptp4l[272161.056]: rr = -0.000017632 ptp4l[272161.057]: delay filtered 3406 raw -1409256 ptp4l[272162.020]: rms 259 max 382 freq +12 +/- 45 delay 3406 +/- 0 ptp4l[272162.053]: port 1: delay timeout ptp4l[272162.054]: delay filtered 3406 raw 3406 ptp4l[272163.027]: rms 60 max 108 freq +137 +/- 29 delay 3406 +/- 0 ptp4l[272163.053]: port 1: delay timeout ptp4l[272163.057]: delay filtered 3406 raw 3406 ptp4l[272164.027]: rms 49 max 104 freq +207 +/- 68 delay 3406 +/- 0 ptp4l[272164.053]: port 1: delay timeout ptp4l[272164.057]: delay filtered 3406 raw 3432 ptp4l[272165.037]: rms 38 max 67 freq +255 +/- 37 delay 3406 +/- 0 ptp4l[272165.054]: port 1: delay timeout ptp4l[272165.057]: delay filtered 3406 raw 3401 ptp4l[272166.037]: rms 58 max 112 freq +271 +/- 75 delay 3406 +/- 0 ptp4l[272166.054]: port 1: delay timeout ptp4l[272166.058]: delay filtered 3405 raw 3397 ptp4l[272166.542]: port 1: rx sync timeout ptp4l[272166.542]: port 1: SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES ptp4l[272166.543]: selected local clock 26cc35.fffe.82241b as best master ptp4l[272166.543]: port 1: assuming the grand master role ptp4l[272166.544]: port 1: master tx announce timeout ptp4l[272167.054]: port 1: delay timeout ptp4l[272167.058]: delay filtered 3403 raw 3403 ptp4l[272167.543]: port 1: master sync timeout ptp4l[272168.055]: port 1: delay timeout ptp4l[272168.057]: delay filtered 3404 raw 3440 ptp4l[272168.436]: selected best master clock 0022a0.fffe.000106 ptp4l[272168.437]: port 1: MASTER to UNCALIBRATED on RS_SLAVE ptp4l[272169.048]: PI servo: sync interval 1.000 kp 0.700 ki 0.300000 ptp4l[272169.055]: port 1: delay timeout ptp4l[272169.057]: delay filtered 3402 raw 3398 ptp4l[272169.177]: PI servo: sync interval 0.125 kp 1.306 ki 0.130583 ptp4l[272169.428]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l[272169.928]: rms 139 max 237 freq +441 +/- 243 delay 3404 +/- 2 ptp4l[272170.056]: port 1: delay timeout ptp4l[272170.057]: delay filtered 3403 raw 3404 ptp4l[272170.927]: rms 267 max 324 freq +240 +/- 115 delay 3403 +/- 0 ptp4l[272171.056]: port 1: delay timeout ptp4l[272171.058]: delay filtered 3405 raw 3422 ptp4l[272171.927]: rms 184 max 279 freq +110 +/- 36 delay 3405 +/- 0 ptp4l[272172.056]: port 1: delay timeout ptp4l[272172.058]: delay filtered 3405 raw 3420 ptp4l[272172.929]: rms 73 max 123 freq +186 +/- 77 delay 3405 +/- 0 ptp4l[272173.057]: port 1: delay timeout ptp4l[272173.058]: delay filtered 3412 raw 3438 ptp4l[272173.937]: rms 44 max 84 freq +170 +/- 41 delay 3412 +/- 0 ptp4l[272174.057]: port 1: delay timeout ptp4l[272174.060]: delay filtered 3412 raw 3436 ptp4l[272174.938]: rms 27 max 52 freq +192 +/- 37 delay 3412 +/- 0 ptp4l[272175.057]: port 1: delay timeout ptp4l[272175.068]: delay filtered 3413 raw 3406 ptp4l[272175.313]: port 1: rx sync timeout ptp4l[272175.313]: port 1: SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES ptp4l[272175.314]: selected local clock 26cc35.fffe.82241b as best master ptp4l[272175.314]: port 1: assuming the grand master role ptp4l[272175.315]: port 1: master tx announce timeout ptp4l[272176.058]: port 1: delay timeout ptp4l[272176.067]: delay filtered 3421 raw 3424 ptp4l[272176.314]: port 1: master sync timeout ptp4l[272176.517]: selected best master clock 0022a0.fffe.000106 ptp4l[272176.517]: port 1: MASTER to UNCALIBRATED on RS_SLAVE ptp4l[272176.698]: PI servo: sync interval 1.000 kp 0.700 ki 0.300000 ptp4l[272176.818]: PI servo: sync interval 0.125 kp 1.306 ki 0.130583 ptp4l[272177.058]: port 1: delay timeout ptp4l[272177.067]: delay filtered 3423 raw 3424 ptp4l[272177.448]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l[272177.948]: rms 106 max 200 freq +129 +/- 115 delay 3418 +/- 5 ptp4l[272178.058]: port 1: delay timeout ptp4l[272178.067]: delay filtered 3422 raw 3422 ptp4l[272178.948]: rms 151 max 196 freq +276 +/- 38 delay 3422 +/- 0 ptp4l[272179.059]: port 1: delay timeout ptp4l[272179.062]: delay filtered 3423 raw 3428 ptp4l[272179.949]: rms 90 max 130 freq +304 +/- 46 delay 3423 +/- 0 ptp4l[272180.059]: port 1: delay timeout ptp4l[272180.068]: delay filtered 3424 raw 3448 ptp4l[272180.952]: rms 54 max 113 freq +281 +/- 62 delay 3424 +/- 0 ptp4l[272181.059]: port 1: delay timeout ptp4l[272181.061]: delay filtered 3425 raw 3426 ptp4l[272182.060]: port 1: delay timeout ptp4l[272182.068]: delay filtered 3426 raw 3426 ptp4l[272182.213]: port 1: rx sync timeout ptp4l[272182.213]: port 1: SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES ptp4l[272182.214]: selected local clock 26cc35.fffe.82241b as best master ptp4l[272182.215]: port 1: assuming the grand master role ptp4l[272182.215]: port 1: master tx announce timeout ptp4l[272183.060]: port 1: delay timeout ptp4l[272183.068]: delay filtered 3426 raw 3426 ptp4l[272183.214]: port 1: master sync timeout ptp4l[272183.547]: selected best master clock 0022a0.fffe.000106 ptp4l[272183.547]: port 1: MASTER to UNCALIBRATED on RS_SLAVE ptp4l[272183.710]: PI servo: sync interval 1.000 kp 0.700 ki 0.300000 ptp4l[272183.836]: PI servo: sync interval 0.125 kp 1.306 ki 0.130583 ptp4l[272184.060]: port 1: delay timeout ptp4l[272184.062]: delay filtered 3425 raw 3422 ptp4l[272184.091]: rms 27 max 55 freq +251 +/- 38 delay 3425 +/- 0 ptp4l[272184.463]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l[272185.061]: port 1: delay timeout ptp4l[272185.063]: delay filtered 3425 raw 3412 ptp4l[272185.090]: rms 32 max 65 freq +254 +/- 57 delay 3425 +/- 0 ptp4l[272186.061]: port 1: delay timeout ptp4l[272186.068]: delay filtered 3425 raw 3423 ptp4l[272186.099]: rms 61 max 114 freq +219 +/- 84 delay 3425 +/- 0 ptp4l[272187.062]: port 1: delay timeout ptp4l[272187.068]: delay filtered 3426 raw 3463 ptp4l[272187.095]: port 1: rx sync timeout ptp4l[272187.095]: port 1: SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES ptp4l[272187.095]: selected local clock 26cc35.fffe.82241b as best master ptp4l[272187.096]: port 1: assuming the grand master role ptp4l[272187.097]: port 1: master tx announce timeout ptp4l[272188.062]: port 1: delay timeout ptp4l[272188.068]: delay filtered 3426 raw 3431 ptp4l[272188.095]: port 1: master sync timeout ptp4l[272188.578]: selected best master clock 0022a0.fffe.000106 ptp4l[272188.578]: port 1: MASTER to UNCALIBRATED on RS_SLAVE ptp4l[272189.062]: port 1: delay timeout ptp4l[272189.068]: delay filtered 3426 raw 3419 ptp4l[272189.121]: PI servo: sync interval 1.000 kp 0.700 ki 0.300000 ptp4l[272189.121]: master offset -33 s3 freq +186 path delay 3426 ptp4l[272189.729]: master offset -1 s3 freq +208 path delay 3426 ptp4l[272190.063]: port 1: delay timeout ptp4l[272190.068]: delay filtered 3424 raw 3417 ptp4l[272190.231]: master offset 42 s3 freq +251 path delay 3424 ptp4l[272190.739]: master offset 49 s3 freq +270 path delay 3424 ptp4l[272191.063]: port 1: delay timeout ptp4l[272191.070]: delay filtered 3422 raw 3415 ptp4l[272191.239]: master offset 14 s3 freq +250 path delay 3422 ptp4l[272191.860]: master offset -9 s3 freq +231 path delay 3422 ptp4l[272192.063]: port 1: delay timeout ptp4l[272192.069]: delay filtered 3420 raw 3413 ptp4l[272192.369]: master offset 17 s3 freq +254 path delay 3420 ptp4l[272192.870]: master offset 17 s3 freq +259 path delay 3420 ptp4l[272193.064]: port 1: delay timeout ptp4l[272193.070]: delay filtered 3420 raw 3449 ECU1 logs: ========== root@autotalks:~# ptp4l -i eth0 -f /home/root/ECU1.cfg -m -l 7 ptp4l[158072.905]: config item (null).assume_two_step is 1 ptp4l[158072.906]: config item (null).check_fup_sync is 0 ptp4l[158072.907]: config item (null).tx_timestamp_timeout is 100 ptp4l[158072.908]: config item (null).hwts_filter is 0 ptp4l[158072.908]: config item (null).clock_servo is 0 ptp4l[158072.909]: config item (null).clock_type is 32768 ptp4l[158072.909]: config item (null).clock_servo is 0 ptp4l[158072.910]: config item (null).clockClass is 248 ptp4l[158072.911]: config item (null).clockAccuracy is 254 ptp4l[158072.911]: config item (null).offsetScaledLogVariance is 65535 ptp4l[158072.912]: config item (null).productDescription is ';;' ptp4l[158072.912]: config item (null).revisionData is ';;' ptp4l[158072.913]: config item (null).userDescription is '' ptp4l[158072.914]: config item (null).manufacturerIdentity is '00:00:00' ptp4l[158072.915]: config item (null).domainNumber is 0 ptp4l[158072.915]: config item (null).slaveOnly is 0 ptp4l[158072.915]: config item (null).gmCapable is 1 ptp4l[158072.916]: config item (null).gmCapable is 1 ptp4l[158072.916]: config item (null).G.8275.defaultDS.localPriority is 128 ptp4l[158072.916]: config item (null).maxStepsRemoved is 255 ptp4l[158072.916]: config item (null).time_stamping is 1 ptp4l[158072.917]: config item (null).twoStepFlag is 1 ptp4l[158072.917]: config item (null).twoStepFlag is 1 ptp4l[158072.917]: config item (null).time_stamping is 1 ptp4l[158072.918]: config item (null).priority1 is 126 ptp4l[158072.918]: config item (null).priority2 is 248 ptp4l[158072.919]: interface index 2 is up ptp4l[158072.919]: config item (null).free_running is 0 ptp4l[158072.920]: selected /dev/ptp0 as PTP clock ptp4l[158072.920]: config item (null).clockIdentity is '000000.0000.000000' ptp4l[158072.920]: config item (null).uds_address is '/var/run/ptp4l' ptp4l[158072.921]: section item /var/run/ptp4l.announceReceiptTimeout now 0 ptp4l[158072.921]: section item /var/run/ptp4l.delay_mechanism now 0 ptp4l[158072.921]: section item /var/run/ptp4l.network_transport now 0 ptp4l[158072.921]: section item /var/run/ptp4l.delay_filter_length now 1 ptp4l[158072.922]: config item (null).free_running is 0 ptp4l[158072.922]: config item (null).freq_est_interval is 1 ptp4l[158072.922]: config item (null).write_phase_mode is 0 ptp4l[158072.922]: config item (null).gmCapable is 1 ptp4l[158072.923]: config item (null).kernel_leap is 1 ptp4l[158072.923]: config item (null).utc_offset is 0 ptp4l[158072.923]: config item (null).timeSource is 32 ptp4l[158072.923]: config item (null).pi_proportional_const is 0.000000 ptp4l[158072.924]: config item (null).pi_integral_const is 0.000000 ptp4l[158072.924]: config item (null).pi_proportional_scale is 0.000000 ptp4l[158072.924]: config item (null).pi_proportional_exponent is -0.300000 ptp4l[158072.924]: config item (null).pi_proportional_norm_max is 0.700000 ptp4l[158072.925]: config item (null).pi_integral_scale is 0.000000 ptp4l[158072.925]: config item (null).pi_integral_exponent is 0.400000 ptp4l[158072.926]: config item (null).pi_integral_norm_max is 0.300000 ptp4l[158072.926]: config item (null).step_threshold is 0.000000 ptp4l[158072.927]: config item (null).first_step_threshold is 0.000020 ptp4l[158072.927]: config item (null).max_frequency is 900000000 ptp4l[158072.928]: config item (null).servo_offset_threshold is 0 ptp4l[158072.928]: config item (null).servo_num_offset_values is 10 ptp4l[158072.928]: config item (null).dataset_comparison is 0 ptp4l[158072.929]: config item (null).tsproc_mode is 0 ptp4l[158072.929]: config item (null).delay_filter is 1 ptp4l[158072.929]: config item (null).delay_filter_length is 10 ptp4l[158072.930]: config item (null).initial_delay is 0 ptp4l[158072.930]: config item (null).summary_interval is 0 ptp4l[158072.930]: config item (null).sanity_freq_limit is 200000000 ptp4l[158072.931]: PI servo: sync interval 1.000 kp 0.700 ki 0.300000 ptp4l[158072.931]: config item /var/run/ptp4l.boundary_clock_jbod is 0 ptp4l[158072.932]: config item /var/run/ptp4l.network_transport is 0 ptp4l[158072.932]: config item /var/run/ptp4l.masterOnly is 0 ptp4l[158072.932]: config item /var/run/ptp4l.BMCA is 0 ptp4l[158072.932]: config item /var/run/ptp4l.delayAsymmetry is 0 ptp4l[158072.933]: config item /var/run/ptp4l.follow_up_info is 1 ptp4l[158072.933]: config item /var/run/ptp4l.freq_est_interval is 1 ptp4l[158072.933]: config item /var/run/ptp4l.msg_interval_request is 0 ptp4l[158072.933]: config item /var/run/ptp4l.net_sync_monitor is 0 ptp4l[158072.934]: config item /var/run/ptp4l.path_trace_enabled is 1 ptp4l[158072.934]: config item /var/run/ptp4l.tc_spanning_tree is 0 ptp4l[158072.934]: config item /var/run/ptp4l.ingressLatency is 1086 ptp4l[158072.935]: config item /var/run/ptp4l.egressLatency is 753 ptp4l[158072.935]: config item /var/run/ptp4l.delay_mechanism is 0 ptp4l[158072.935]: config item /var/run/ptp4l.hybrid_e2e is 0 ptp4l[158072.935]: config item /var/run/ptp4l.fault_badpeernet_interval is 16 ptp4l[158072.935]: config item /var/run/ptp4l.fault_reset_interval is 4 ptp4l[158072.935]: config item /var/run/ptp4l.tsproc_mode is 0 ptp4l[158072.936]: config item /var/run/ptp4l.delay_filter is 1 ptp4l[158072.936]: config item /var/run/ptp4l.delay_filter_length is 1 ptp4l[158072.936]: config item (null).slave_event_monitor is '' ptp4l[158072.936]: config item eth0.boundary_clock_jbod is 0 ptp4l[158072.936]: config item eth0.network_transport is 3 ptp4l[158072.936]: config item eth0.masterOnly is 0 ptp4l[158072.936]: config item eth0.BMCA is 0 ptp4l[158072.936]: config item eth0.delayAsymmetry is 0 ptp4l[158072.937]: config item eth0.follow_up_info is 1 ptp4l[158072.937]: config item eth0.freq_est_interval is 1 ptp4l[158072.937]: config item eth0.msg_interval_request is 0 ptp4l[158072.938]: config item eth0.net_sync_monitor is 0 ptp4l[158072.938]: config item eth0.path_trace_enabled is 1 ptp4l[158072.938]: config item eth0.tc_spanning_tree is 0 ptp4l[158072.938]: config item eth0.ingressLatency is 1086 ptp4l[158072.938]: config item eth0.egressLatency is 753 ptp4l[158072.939]: config item eth0.delay_mechanism is 2 ptp4l[158072.941]: config item eth0.unicast_master_table is 0 ptp4l[158072.941]: config item eth0.unicast_listen is 0 ptp4l[158072.941]: config item eth0.hybrid_e2e is 0 ptp4l[158072.941]: config item eth0.fault_badpeernet_interval is 16 ptp4l[158072.941]: config item eth0.fault_reset_interval is 4 ptp4l[158072.942]: config item eth0.tsproc_mode is 0 ptp4l[158072.942]: config item eth0.delay_filter is 1 ptp4l[158072.942]: config item eth0.delay_filter_length is 10 ptp4l[158072.942]: config item eth0.logMinDelayReqInterval is 0 ptp4l[158072.942]: config item eth0.logAnnounceInterval is 1 ptp4l[158072.942]: config item eth0.inhibit_announce is 0 ptp4l[158072.943]: config item eth0.ignore_source_id is 0 ptp4l[158072.943]: config item eth0.announceReceiptTimeout is 3 ptp4l[158072.943]: config item eth0.syncReceiptTimeout is 3 ptp4l[158072.943]: config item eth0.transportSpecific is 1 ptp4l[158072.944]: config item eth0.ignore_transport_specific is 0 ptp4l[158072.944]: config item eth0.G.8275.portDS.localPriority is 128 ptp4l[158072.944]: config item eth0.logSyncInterval is -3 ptp4l[158072.944]: config item eth0.operLogSyncInterval is 0 ptp4l[158072.944]: config item eth0.logMinPdelayReqInterval is 0 ptp4l[158072.944]: config item eth0.operLogPdelayReqInterval is 0 ptp4l[158072.944]: config item eth0.neighborPropDelayThresh is 20000000 ptp4l[158072.945]: config item eth0.min_neighbor_prop_delay is -20000000 ptp4l[158072.945]: config item eth0.asCapable is 0 ptp4l[158072.945]: config item eth0.inhibit_delay_req is 1 ptp4l[158072.946]: config item eth0.ptp_dst_mac is '01:80:C2:00:00:0E' ptp4l[158072.946]: config item eth0.p2p_dst_mac is '01:80:C2:00:00:0E' ptp4l[158072.946]: config item global.socket_priority is 0 ptp4l[158073.030]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l[158073.031]: config item /var/run/ptp4l.logMinDelayReqInterval is 0 ptp4l[158073.031]: config item /var/run/ptp4l.logAnnounceInterval is 1 ptp4l[158073.031]: config item /var/run/ptp4l.inhibit_announce is 0 ptp4l[158073.031]: config item /var/run/ptp4l.ignore_source_id is 0 ptp4l[158073.031]: config item /var/run/ptp4l.announceReceiptTimeout is 0 ptp4l[158073.031]: config item /var/run/ptp4l.syncReceiptTimeout is 3 ptp4l[158073.031]: config item /var/run/ptp4l.transportSpecific is 1 ptp4l[158073.032]: config item /var/run/ptp4l.ignore_transport_specific is 0 ptp4l[158073.032]: config item /var/run/ptp4l.G.8275.portDS.localPriority is 128 ptp4l[158073.032]: config item /var/run/ptp4l.logSyncInterval is -3 ptp4l[158073.032]: config item /var/run/ptp4l.operLogSyncInterval is 0 ptp4l[158073.033]: config item /var/run/ptp4l.logMinPdelayReqInterval is 0 ptp4l[158073.033]: config item /var/run/ptp4l.operLogPdelayReqInterval is 0 ptp4l[158073.034]: config item /var/run/ptp4l.neighborPropDelayThresh is 20000000 ptp4l[158073.035]: config item /var/run/ptp4l.min_neighbor_prop_delay is -20000000 ptp4l[158073.035]: config item /var/run/ptp4l.asCapable is 0 ptp4l[158073.036]: config item /var/run/ptp4l.inhibit_delay_req is 1 ptp4l[158073.037]: config item (null).uds_address is '/var/run/ptp4l' ptp4l[158073.037]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l[158073.038]: port 1: received link status notification ptp4l[158073.039]: interface index 2 is up ptp4l[158073.659]: port 1: peer port id set to 3498b5.fffe.abc7c3-5 ptp4l[158074.707]: port 1: new foreign master 3498b5.fffe.abc7c3-5 ptp4l[158076.707]: selected best master clock 3498b5.fffe.abc7c3 ptp4l[158076.708]: port 1: assuming the grand master role ptp4l[158076.708]: port 1: LISTENING to GRAND_MASTER on RS_GRAND_MASTER ptp4l[158076.709]: port 1: master tx announce timeout ptp4l[158076.833]: port 1: master sync timeout ptp4l[158076.959]: port 1: master sync timeout ptp4l[158077.084]: port 1: master sync timeout ptp4l[158077.209]: port 1: master sync timeout ptp4l[158077.335]: port 1: master sync timeout ptp4l[158077.460]: port 1: master sync timeout ptp4l[158077.586]: port 1: master sync timeout ptp4l[158077.711]: port 1: master sync timeout ptp4l[158077.836]: port 1: master sync timeout ptp4l[158077.962]: port 1: master sync timeout ptp4l[158078.087]: port 1: master sync timeout ptp4l[158078.212]: port 1: master sync timeout ptp4l[158078.338]: port 1: master sync timeout ptp4l[158078.463]: port 1: master sync timeout ptp4l[158078.588]: port 1: master sync timeout ptp4l[158078.709]: port 1: master tx announce timeout ptp4l[158078.714]: port 1: master sync timeout ptp4l[158078.839]: port 1: master sync timeout ptp4l[158078.965]: port 1: master sync timeout ptp4l[158079.090]: port 1: master sync timeout ptp4l[158079.215]: port 1: master sync timeout ptp4l[158079.341]: port 1: master sync timeout ptp4l[158079.466]: port 1: master sync timeout ptp4l[158079.591]: port 1: master sync timeout ptp4l[158079.717]: port 1: master sync timeout ptp4l[158079.842]: port 1: master sync timeout ptp4l[158079.967]: port 1: master sync timeout ptp4l[158080.093]: port 1: master sync timeout ptp4l[158080.218]: port 1: master sync timeout ptp4l[158080.344]: port 1: master sync timeout ptp4l[158080.469]: port 1: master sync timeout ptp4l[158080.594]: port 1: master sync timeout ptp4l[158080.710]: port 1: master tx announce timeout ptp4l[158080.720]: port 1: master sync timeout ptp4l[158080.845]: port 1: master sync timeout ptp4l[158080.970]: port 1: master sync timeout ptp4l[158081.096]: port 1: master sync timeout ptp4l[158081.221]: port 1: master sync timeout ptp4l[158081.347]: port 1: master sync timeout ptp4l[158081.472]: port 1: master sync timeout ptp4l[158081.597]: port 1: master sync timeout ptp4l[158081.723]: port 1: master sync timeout ptp4l[158081.848]: port 1: master sync timeout ptp4l[158081.973]: port 1: master sync timeout ptp4l[158082.099]: port 1: master sync timeout ptp4l[158082.224]: port 1: master sync timeout ptp4l[158082.349]: port 1: master sync timeout ptp4l[158082.475]: port 1: master sync timeout ptp4l[158082.600]: port 1: master sync timeout Thanks, Raj |
From: Brian L. <br...@ne...> - 2022-09-09 17:43:07
|
So Xilinx had me update the build environment because of an unrelated issue, with the added benefit that now things appear completely broken: Nov 19 09:26:20 xilinx-kv260-starterkit-20221 ptp4l: [421.049] port 1: FAULTY to LISTENING on INIT_COMPLETE Nov 19 09:26:21 xilinx-kv260-starterkit-20221 ptp4l: [422.000] port 1: received SYNC without timestamp Nov 19 09:26:22 xilinx-kv260-starterkit-20221 ptp4l: [422.999] port 1: new foreign master 489ebd.fffe.9f7c1b-1 Nov 19 09:26:22 xilinx-kv260-starterkit-20221 ptp4l: [422.999] port 1: received SYNC without timestamp Nov 19 09:26:23 xilinx-kv260-starterkit-20221 ptp4l: [424.000] port 1: received SYNC without timestamp Nov 19 09:26:24 xilinx-kv260-starterkit-20221 ptp4l: [425.000] port 1: received SYNC without timestamp Nov 19 09:26:25 xilinx-kv260-starterkit-20221 ptp4l: [426.000] port 1: received SYNC without timestamp Nov 19 09:26:26 xilinx-kv260-starterkit-20221 ptp4l: [427.000] port 1: received SYNC without timestamp Nov 19 09:26:26 xilinx-kv260-starterkit-20221 ptp4l: [427.000] selected best master clock 489ebd.fffe.9f7c1b Nov 19 09:26:26 xilinx-kv260-starterkit-20221 ptp4l: [427.000] running in a temporal vortex Nov 19 09:26:26 xilinx-kv260-starterkit-20221 ptp4l: [427.000] port 1: LISTENING to UNCALIBRATED on RS_SLAVE Nov 19 09:26:27 xilinx-kv260-starterkit-20221 ptp4l: [428.000] port 1: received SYNC without timestamp Nov 19 09:26:28 xilinx-kv260-starterkit-20221 ptp4l: [428.762] missing timestamp on transmitted delay request Nov 19 09:26:28 xilinx-kv260-starterkit-20221 ptp4l: [428.762] port 1: UNCALIBRATED to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED) Nov 19 09:26:28 xilinx-kv260-starterkit-20221 phc2sys: [429.215] Waiting for ptp4l... Phc2sys Waiting for ptp4l messages omitted save for the last one shown. Thoughts? Brian Lilly / Senior Firmware Engineer Email: br...@ne... -----Original Message----- From: Richard Cochran <ric...@gm...> Sent: Thursday, September 8, 2022 3:31 PM To: Brian Lilly <br...@ne...> Cc: lin...@li... Subject: Re: [Linuxptp-users] Help with what is undoubtedly a problem with my configuration On Thu, Sep 08, 2022 at 10:21:09PM +0000, Brian Lilly wrote: > This is on a Kria K26 SOM, though granted, it's the development board KV260 version and not the production SOM. I can test on a production SOM if that's an issue. I would ask the vendor if/how they tested and validated the PTP feature. Good luck, Richard |
From: Richard C. <ric...@gm...> - 2022-09-09 02:50:23
|
On Fri, Sep 09, 2022 at 08:45:19AM +0800, Hamilton Alex wrote: > Hi, Richard: > I am not quite understand. I am using Calnex master-->board slave, if the > linuxptp print out is correct, that means local clock > has the same frequency and phase as master clock, then the 1PPS out should > near the reference 1PPS. > > why path asymmetry would affect the 1PPS out? You reported a 40 nanosecond phase offset. One possible cause is path asymmetry. The PTP assumes the Tx and Rx transmission delays are exactly equal. However, this is almost never true. Any real asymmetry results in a phase offset that is uncorrectable by the PTP. Because your 40 ns phase offset is very small, you might very well have path asymmetry somewhere in your system. For example, your PHY might delay frames longer on Tx than on Rx. HTH, Richard |
From: Hamilton A. <ale...@gm...> - 2022-09-09 00:45:40
|
Hi, Richard: I am not quite understand. I am using Calnex master-->board slave, if the linuxptp print out is correct, that means local clock has the same frequency and phase as master clock, then the 1PPS out should near the reference 1PPS. why path asymmetry would affect the 1PPS out? Thanks Alex Richard Cochran <ric...@gm...> 于2022年9月8日周四 21:40写道: > On Thu, Sep 08, 2022 at 07:41:53PM +0800, Hamilton Alex wrote: > > > however, the 1pps time error is around 40 NS, which means my board is > > ahead of the reference for about 40NS, which doesn't match the result > > dumped by ptp4l. > > > > anyone has met similar issue before? how to debug such issue? > > This is likely due to path asymmetry. > > HTH, > Richard > |
From: Hamilton A. <ale...@gm...> - 2022-09-09 00:42:09
|
Hi, Miroslav: I am using calnex to test ptp. calnex can mimic the long path delay so it is reasonable. I am using switch chip, it has MAC timestamping and rx_delay, tx_delay are compensated. Thanks Alex Miroslav Lichvar <mli...@re...> 于2022年9月8日周四 21:26写道: > On Thu, Sep 08, 2022 at 07:41:53PM +0800, Hamilton Alex wrote: > > ptp4l[130171.662]: rms 1 max 2 freq -49 +/- 3 delay 9058 > +/- 0 > > > my board has 1PPS output, I connect it to the master and compared with > > reference PPS. > > however, the 1pps time error is around 40 NS, which means my board is > > ahead of the reference for about 40NS, which doesn't match the result > > dumped by ptp4l. > > ptp4l is just printing the measured offset. It doesn't know the actual > error. > > A measured delay of 9 microseconds is huge. That's few kilometers of > cable. What hardware do you use? Does it have PHY or MAC timestamping, > and are those errors compensated? > > -- > Miroslav Lichvar > > |
From: Brian L. <br...@ne...> - 2022-09-08 22:55:54
|
This is on a Kria K26 SOM, though granted, it's the development board KV260 version and not the production SOM. I can test on a production SOM if that's an issue. Here's the ptp4l entries in syslog: https://pastebin.com/54dqNgkB ntpd is stopped, chrony isn't installed. The output is the same when changing phc2sys start is: ExecStart=/usr/sbin/phc2sys -w -s eth0 -c CLOCK_REALTIME -S 1 -u 60 Brian Lilly / Senior Firmware Engineer Email: br...@ne... -----Original Message----- From: Richard Cochran <ric...@gm...> Sent: Thursday, September 8, 2022 3:08 PM To: Brian Lilly <br...@ne...> Cc: lin...@li... Subject: Re: [Linuxptp-users] Help with what is undoubtedly a problem with my configuration On Tue, Sep 06, 2022 at 08:20:48PM +0000, Brian Lilly wrote: > Some background: > > I'm building a Petalinux image (Xilinx' Yocto project based build system thing) that includes linuxPTP. I have it starting as a service, and subsequently, I also have phc2sys running to synchronize the system clock to the clock from eth0 and my PTP master. This seems to be working, to some degree. > > Problem is that the behavior is erratic, to say the least. > > For example: > phc2sys[46.726]: CLOCK_REALTIME phc offset -93776 s2 freq +32031 delay 1020 > phc2sys[47.727]: CLOCK_REALTIME phc offset -83999 s2 freq +32168 delay 1020 > phc2sys[48.727]: CLOCK_REALTIME phc offset -119501 s2 freq +27423 delay 1020 > phc2sys[49.727]: CLOCK_REALTIME phc offset -479032 s2 freq -13320 delay 1020 > phc2sys[50.727]: CLOCK_REALTIME phc offset -1923240 s2 freq -176973 delay 1020 > phc2sys[51.727]: CLOCK_REALTIME phc offset -3395674 s2 freq -358174 delay 1020 > phc2sys[52.727]: CLOCK_REALTIME phc offset -3394547 s2 freq -392006 delay 1010 > phc2sys[53.728]: CLOCK_REALTIME phc offset -2828314 s2 freq -363666 delay 1010 > phc2sys[54.728]: CLOCK_REALTIME phc offset -2187172 s2 freq -321424 delay 1020 > phc2sys[55.728]: CLOCK_REALTIME phc offset -1661911 s2 freq -285517 delay 1020 Are you sure no other program is fiddling with CLOCK_REALTIME? ntpd? chrony? > ExecStart=/usr/sbin/phc2sys -w -s eth0 -c CLOCK_REALTIME -P 0.1 -I 0.01 -m Maybe weights are making PI controller unstable? Defaults for SW time stamping are: #define SWTS_KP_SCALE 0.1 #define SWTS_KI_SCALE 0.001 Thanks, Richard |
From: Richard C. <ric...@gm...> - 2022-09-08 22:30:46
|
On Thu, Sep 08, 2022 at 10:21:09PM +0000, Brian Lilly wrote: > This is on a Kria K26 SOM, though granted, it's the development board KV260 version and not the production SOM. I can test on a production SOM if that's an issue. I would ask the vendor if/how they tested and validated the PTP feature. Good luck, Richard |
From: Richard C. <ric...@gm...> - 2022-09-08 22:18:22
|
On Thu, Sep 08, 2022 at 02:39:13PM -0700, Jacob Keller wrote: > > > On 9/8/2022 7:14 AM, Brian Lilly wrote: > > I’m building a Petalinux image (Xilinx’ Yocto project based build system > > thing) that includes linuxPTP. I have it starting as a service, and > > subsequently, I also have phc2sys running to synchronize the system > > clock to the clock from eth0 and my PTP master. This seems to be > > working, to some degree. > > > > > > > > Problem is that the behavior is erratic, to say the least. > > > > > > What hardware? This looks a lot like bad driver or hardware causing the > clock on the ethernet device to behave erratically. Brian had said: "Xilinx' Yocto project based build system thing" FWIW PTP in the Zynq is broken and cannot be made to work. I think the next gen. chip does fix the issues, however. Thanks, Richard |
From: Richard C. <ric...@gm...> - 2022-09-08 22:08:35
|
On Tue, Sep 06, 2022 at 08:20:48PM +0000, Brian Lilly wrote: > Some background: > > I'm building a Petalinux image (Xilinx' Yocto project based build system thing) that includes linuxPTP. I have it starting as a service, and subsequently, I also have phc2sys running to synchronize the system clock to the clock from eth0 and my PTP master. This seems to be working, to some degree. > > Problem is that the behavior is erratic, to say the least. > > For example: > phc2sys[46.726]: CLOCK_REALTIME phc offset -93776 s2 freq +32031 delay 1020 > phc2sys[47.727]: CLOCK_REALTIME phc offset -83999 s2 freq +32168 delay 1020 > phc2sys[48.727]: CLOCK_REALTIME phc offset -119501 s2 freq +27423 delay 1020 > phc2sys[49.727]: CLOCK_REALTIME phc offset -479032 s2 freq -13320 delay 1020 > phc2sys[50.727]: CLOCK_REALTIME phc offset -1923240 s2 freq -176973 delay 1020 > phc2sys[51.727]: CLOCK_REALTIME phc offset -3395674 s2 freq -358174 delay 1020 > phc2sys[52.727]: CLOCK_REALTIME phc offset -3394547 s2 freq -392006 delay 1010 > phc2sys[53.728]: CLOCK_REALTIME phc offset -2828314 s2 freq -363666 delay 1010 > phc2sys[54.728]: CLOCK_REALTIME phc offset -2187172 s2 freq -321424 delay 1020 > phc2sys[55.728]: CLOCK_REALTIME phc offset -1661911 s2 freq -285517 delay 1020 Are you sure no other program is fiddling with CLOCK_REALTIME? ntpd? chrony? > ExecStart=/usr/sbin/phc2sys -w -s eth0 -c CLOCK_REALTIME -P 0.1 -I 0.01 -m Maybe weights are making PI controller unstable? Defaults for SW time stamping are: #define SWTS_KP_SCALE 0.1 #define SWTS_KI_SCALE 0.001 Thanks, Richard |
From: Jacob K. <jac...@in...> - 2022-09-08 21:39:36
|
On 9/8/2022 7:14 AM, Brian Lilly wrote: > For reference, the output of phc2sys running for a good number of hours > with a 60 second report window: > > https://pastebin.com/YEra3LCK <https://pastebin.com/YEra3LCK> > > > > *Brian Lilly / *Senior Firmware Engineer > > Email: br...@ne... > > > > *From:* Brian Lilly <br...@ne...> > *Sent:* Tuesday, September 6, 2022 1:21 PM > *To:* lin...@li... > *Subject:* [Linuxptp-users] Help with what is undoubtedly a problem with > my configuration > > > > Some background: > > > > I’m building a Petalinux image (Xilinx’ Yocto project based build system > thing) that includes linuxPTP. I have it starting as a service, and > subsequently, I also have phc2sys running to synchronize the system > clock to the clock from eth0 and my PTP master. This seems to be > working, to some degree. > > > > Problem is that the behavior is erratic, to say the least. > > What hardware? This looks a lot like bad driver or hardware causing the clock on the ethernet device to behave erratically. > > For example: > > phc2sys[46.726]: CLOCK_REALTIME phc offset -93776 s2 freq +32031 > delay 1020 > > phc2sys[47.727]: CLOCK_REALTIME phc offset -83999 s2 freq +32168 > delay 1020 > > phc2sys[48.727]: CLOCK_REALTIME phc offset -119501 s2 freq +27423 > delay 1020 > > phc2sys[49.727]: CLOCK_REALTIME phc offset -479032 s2 freq -13320 > delay 1020 > > phc2sys[50.727]: CLOCK_REALTIME phc offset -1923240 s2 freq -176973 > delay 1020 > > phc2sys[51.727]: CLOCK_REALTIME phc offset -3395674 s2 freq -358174 > delay 1020 > > phc2sys[52.727]: CLOCK_REALTIME phc offset -3394547 s2 freq -392006 > delay 1010 > > phc2sys[53.728]: CLOCK_REALTIME phc offset -2828314 s2 freq -363666 > delay 1010 > > phc2sys[54.728]: CLOCK_REALTIME phc offset -2187172 s2 freq -321424 > delay 1020 > > phc2sys[55.728]: CLOCK_REALTIME phc offset -1661911 s2 freq -285517 > delay 1020 > > > > Eventually failing with a timeout since it can’t synchronize the system > or PTP hardware clock. > > what does the timeout look like? > > The PTP daemon is just chugging along, in a temporal vortex: > > ptp4l[1037]: ptp4l[246.499]: master offset 29510 s2 freq +64760 > path delay 265538 > > ptp4l[1037]: ptp4l[247.499]: master offset -20951 s2 freq +23152 > path delay 265538 > > ptp4l[1037]: ptp4l[248.499]: master offset -23629 s2 freq +14188 > path delay 265538 > > ptp4l[1037]: ptp4l[249.499]: master offset -40569 s2 freq -9840 > path delay 275390 > > ptp4l[1037]: ptp4l[250.499]: master offset -64721 s2 freq -46163 > path delay 275390 > > ptp4l[1037]: ptp4l[251.500]: master offset 90752 s2 freq +89894 > path delay 275390 > > ptp4l[1037]: ptp4l[252.499]: master offset 10070 s2 freq +36437 > path delay 275390 > > ptp4l[1037]: ptp4l[253.499]: master offset -65171 s2 freq -35783 > path delay 275390 > > ptp4l[1037]: ptp4l[254.499]: master offset 12986 s2 freq +22823 > path delay 275390 > > ptp4l[1037]: ptp4l[255.499]: master offset -40304 s2 freq -26571 > path delay 269316 > Is this using hardware timestamping? your frequency shifts are fairly high and erratic, and the measured offset is bouncing between -50usec and +50usec. The path delay is also really high.. 270 microseconds?? What sort of links do you have between your system and the server? Thanks, Jake |
From: Brian L. <br...@ne...> - 2022-09-08 16:48:03
|
For reference, the output of phc2sys running for a good number of hours with a 60 second report window: https://pastebin.com/YEra3LCK [cid:image001.png@01D8C352.92E38AF0] Brian Lilly / Senior Firmware Engineer Email: br...@ne... From: Brian Lilly <br...@ne...> Sent: Tuesday, September 6, 2022 1:21 PM To: lin...@li... Subject: [Linuxptp-users] Help with what is undoubtedly a problem with my configuration Some background: I'm building a Petalinux image (Xilinx' Yocto project based build system thing) that includes linuxPTP. I have it starting as a service, and subsequently, I also have phc2sys running to synchronize the system clock to the clock from eth0 and my PTP master. This seems to be working, to some degree. Problem is that the behavior is erratic, to say the least. For example: phc2sys[46.726]: CLOCK_REALTIME phc offset -93776 s2 freq +32031 delay 1020 phc2sys[47.727]: CLOCK_REALTIME phc offset -83999 s2 freq +32168 delay 1020 phc2sys[48.727]: CLOCK_REALTIME phc offset -119501 s2 freq +27423 delay 1020 phc2sys[49.727]: CLOCK_REALTIME phc offset -479032 s2 freq -13320 delay 1020 phc2sys[50.727]: CLOCK_REALTIME phc offset -1923240 s2 freq -176973 delay 1020 phc2sys[51.727]: CLOCK_REALTIME phc offset -3395674 s2 freq -358174 delay 1020 phc2sys[52.727]: CLOCK_REALTIME phc offset -3394547 s2 freq -392006 delay 1010 phc2sys[53.728]: CLOCK_REALTIME phc offset -2828314 s2 freq -363666 delay 1010 phc2sys[54.728]: CLOCK_REALTIME phc offset -2187172 s2 freq -321424 delay 1020 phc2sys[55.728]: CLOCK_REALTIME phc offset -1661911 s2 freq -285517 delay 1020 Eventually failing with a timeout since it can't synchronize the system or PTP hardware clock. The PTP daemon is just chugging along, in a temporal vortex: ptp4l[1037]: ptp4l[246.499]: master offset 29510 s2 freq +64760 path delay 265538 ptp4l[1037]: ptp4l[247.499]: master offset -20951 s2 freq +23152 path delay 265538 ptp4l[1037]: ptp4l[248.499]: master offset -23629 s2 freq +14188 path delay 265538 ptp4l[1037]: ptp4l[249.499]: master offset -40569 s2 freq -9840 path delay 275390 ptp4l[1037]: ptp4l[250.499]: master offset -64721 s2 freq -46163 path delay 275390 ptp4l[1037]: ptp4l[251.500]: master offset 90752 s2 freq +89894 path delay 275390 ptp4l[1037]: ptp4l[252.499]: master offset 10070 s2 freq +36437 path delay 275390 ptp4l[1037]: ptp4l[253.499]: master offset -65171 s2 freq -35783 path delay 275390 ptp4l[1037]: ptp4l[254.499]: master offset 12986 s2 freq +22823 path delay 275390 ptp4l[1037]: ptp4l[255.499]: master offset -40304 s2 freq -26571 path delay 269316 The service file for phc2sys looks like this: [Unit] Description=Synchronize system clock or PTP hardware clock (PHC) After=network-online.target [Service] Type=forking ExecStart=/usr/sbin/phc2sys -w -s eth0 -c CLOCK_REALTIME -P 0.1 -I 0.01 -m [Install] WantedBy=multi-user.target And the service file for ptpd: [Unit] Description=ptpd time precision daemon After=network-online.target StartLimitIntervalSec=1 [Service] Type=forking EnvironmentFile=/etc/default/ptpd ExecCondition=systemctl disable ntpd ExecStart=/usr/sbin/ptp4l -i eth0 -s -m PIDFile=/run/ptp41 Restart=always [Install] WantedBy=multi-user.target I'm sure that the issue lies with something obvious and stupid that I've done, only that I can't put my finger on what specifically that is. If more information is needed, I'm happy to provide it. Thank you for your help. |
From: Brian L. <br...@ne...> - 2022-09-08 15:32:58
|
Just throwing a ping out hoping that someone can shed a little light on this problem. Any takers? Get Outlook for Android<https://aka.ms/AAb9ysg> ________________________________ From: Brian Lilly <br...@ne...> Sent: Tuesday, September 6, 2022 1:20:48 PM To: lin...@li... <lin...@li...> Subject: [Linuxptp-users] Help with what is undoubtedly a problem with my configuration Some background: I’m building a Petalinux image (Xilinx’ Yocto project based build system thing) that includes linuxPTP. I have it starting as a service, and subsequently, I also have phc2sys running to synchronize the system clock to the clock from eth0 and my PTP master. This seems to be working, to some degree. Problem is that the behavior is erratic, to say the least. For example: phc2sys[46.726]: CLOCK_REALTIME phc offset -93776 s2 freq +32031 delay 1020 phc2sys[47.727]: CLOCK_REALTIME phc offset -83999 s2 freq +32168 delay 1020 phc2sys[48.727]: CLOCK_REALTIME phc offset -119501 s2 freq +27423 delay 1020 phc2sys[49.727]: CLOCK_REALTIME phc offset -479032 s2 freq -13320 delay 1020 phc2sys[50.727]: CLOCK_REALTIME phc offset -1923240 s2 freq -176973 delay 1020 phc2sys[51.727]: CLOCK_REALTIME phc offset -3395674 s2 freq -358174 delay 1020 phc2sys[52.727]: CLOCK_REALTIME phc offset -3394547 s2 freq -392006 delay 1010 phc2sys[53.728]: CLOCK_REALTIME phc offset -2828314 s2 freq -363666 delay 1010 phc2sys[54.728]: CLOCK_REALTIME phc offset -2187172 s2 freq -321424 delay 1020 phc2sys[55.728]: CLOCK_REALTIME phc offset -1661911 s2 freq -285517 delay 1020 Eventually failing with a timeout since it can’t synchronize the system or PTP hardware clock. The PTP daemon is just chugging along, in a temporal vortex: ptp4l[1037]: ptp4l[246.499]: master offset 29510 s2 freq +64760 path delay 265538 ptp4l[1037]: ptp4l[247.499]: master offset -20951 s2 freq +23152 path delay 265538 ptp4l[1037]: ptp4l[248.499]: master offset -23629 s2 freq +14188 path delay 265538 ptp4l[1037]: ptp4l[249.499]: master offset -40569 s2 freq -9840 path delay 275390 ptp4l[1037]: ptp4l[250.499]: master offset -64721 s2 freq -46163 path delay 275390 ptp4l[1037]: ptp4l[251.500]: master offset 90752 s2 freq +89894 path delay 275390 ptp4l[1037]: ptp4l[252.499]: master offset 10070 s2 freq +36437 path delay 275390 ptp4l[1037]: ptp4l[253.499]: master offset -65171 s2 freq -35783 path delay 275390 ptp4l[1037]: ptp4l[254.499]: master offset 12986 s2 freq +22823 path delay 275390 ptp4l[1037]: ptp4l[255.499]: master offset -40304 s2 freq -26571 path delay 269316 The service file for phc2sys looks like this: [Unit] Description=Synchronize system clock or PTP hardware clock (PHC) After=network-online.target [Service] Type=forking ExecStart=/usr/sbin/phc2sys -w -s eth0 -c CLOCK_REALTIME -P 0.1 -I 0.01 -m [Install] WantedBy=multi-user.target And the service file for ptpd: [Unit] Description=ptpd time precision daemon After=network-online.target StartLimitIntervalSec=1 [Service] Type=forking EnvironmentFile=/etc/default/ptpd ExecCondition=systemctl disable ntpd ExecStart=/usr/sbin/ptp4l -i eth0 -s -m PIDFile=/run/ptp41 Restart=always [Install] WantedBy=multi-user.target I’m sure that the issue lies with something obvious and stupid that I’ve done, only that I can’t put my finger on what specifically that is. If more information is needed, I’m happy to provide it. Thank you for your help. |
From: Richard C. <ric...@gm...> - 2022-09-08 13:46:21
|
On Thu, Sep 08, 2022 at 01:56:59PM +0200, Luigi 'Comio' Mantellini wrote: > - How is the 1PPS driven? Is there any reclocking logic? You need to ask > your FPGA-experts. +1 The circuit the produces the 1 PPS could well delay the signal by ten or more nanoseconds. Thanks, Richard |
From: Richard C. <ric...@gm...> - 2022-09-08 13:43:58
|
On Thu, Sep 08, 2022 at 06:40:26AM -0700, Richard Cochran wrote: > On Thu, Sep 08, 2022 at 07:41:53PM +0800, Hamilton Alex wrote: > > > however, the 1pps time error is around 40 NS, which means my board is > > ahead of the reference for about 40NS, which doesn't match the result > > dumped by ptp4l. > > > > anyone has met similar issue before? how to debug such issue? > > This is likely due to path asymmetry. Oh, and Miroslav is correct, 9 usec path delay is huge. It should be only 5 ns per meter of cable. Good luck, Richard |
From: Richard C. <ric...@gm...> - 2022-09-08 13:40:38
|
On Thu, Sep 08, 2022 at 07:41:53PM +0800, Hamilton Alex wrote: > however, the 1pps time error is around 40 NS, which means my board is > ahead of the reference for about 40NS, which doesn't match the result > dumped by ptp4l. > > anyone has met similar issue before? how to debug such issue? This is likely due to path asymmetry. HTH, Richard |
From: Miroslav L. <mli...@re...> - 2022-09-08 13:26:38
|
On Thu, Sep 08, 2022 at 07:41:53PM +0800, Hamilton Alex wrote: > ptp4l[130171.662]: rms 1 max 2 freq -49 +/- 3 delay 9058 +/- 0 > my board has 1PPS output, I connect it to the master and compared with > reference PPS. > however, the 1pps time error is around 40 NS, which means my board is > ahead of the reference for about 40NS, which doesn't match the result > dumped by ptp4l. ptp4l is just printing the measured offset. It doesn't know the actual error. A measured delay of 9 microseconds is huge. That's few kilometers of cable. What hardware do you use? Does it have PHY or MAC timestamping, and are those errors compensated? -- Miroslav Lichvar |
From: Hari K. <hku...@gm...> - 2022-09-08 12:31:37
|
Dear Chris , We dont use external PPS, instead trying to get the local system clock's timestamp. *Setup:* master <--> eth0 (Device 1 -device acts as boundary clock) eth1 <---> etho(Device 2-slave) In this setup, eth0 is receiving timestamp from the master and updating local system clock on Device 1. Now updated local system will be updated on eth1 interface to sync Device 2 clock. ptp4l can use eth0 as T-OC and eth1 as T-BC Can you please help, how to achieve this? Regards, Hari On Tue, 30 Aug 2022 at 19:39, Chris Caudle <680...@po...> wrote: > On Tue, August 30, 2022 7:13 am, > lin...@li... wrote: > > Date: Tue, 30 Aug 2022 16:21:36 +0530 > > From: Hari Kumar <hku...@gm...> > > Subject: [Linuxptp-users] ts2phc error (ts2phc[20737.341]: > > PTP_EXTTS_REQUEST failed: Invalid argument > > Message-ID: > > <CAMRjPWCtBQcFzQaG-bnThUEu2+2Lnog-aEWr7eUhEOS= > Nj...@ma...> > > ... > > [eth0] > > ts2phc.channel 0 > > ts2phc.extts_polarity both > ... > > ts2phc[20737.341]: PTP_EXTTS_REQUEST failed: Invalid argument > > You only mentioned synchronization using PTP, but the ts2phc man page > indicates that extts is for time stamping an external PPS signal: > > "ts2phc.extts_polarity > "The polarity of the external PPS signal, either "rising" or > "falling". Some PHC devices always time stamp both edges. Setting > this option to "both" will allow the ts2phc program to work with such > devices by detecting and ignoring the unwanted edge. In this case be > sure to set 'ts2phc.pulsewidth' to the correct value. The default is > `rising'." > > If you do not have an external PPS signal that does not seem to be the > correct configuration argument to use. I don't know how external PPS > input would make sense with a PTP follower. Maybe used when acting as the > PTP leader, but ignored when acting as a PTP follower, but I'm not sure. > > -- > Chris Caudle > > > > > _______________________________________________ > Linuxptp-users mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxptp-users > |
From: Hamilton A. <ale...@gm...> - 2022-09-08 12:10:18
|
Hi, Luigi: I am really thankful for your nice suggestions. 1. The delay for pps cable to calnex is already compensated in calnex configuration. 2. Yes, RX and TX path are asymmetry. the calnex can measure the T1, T4 and 2way time error, those time errors are only a few nano seconds, that means correct delays are compensated. https://www.calnexsol.cn/docman/techlib/timing-and-sync-lab/40-interpretation-of-time-error-results/file 3. the 1PPS is driven by zarlink z30772 DPLL. I will check whether is there any reclocking logic. Thanks Alex Luigi 'Comio' Mantellini <lui...@gm...> 于2022年9月8日周四 19:57写道: > Hi Alex, > > some guile line that I follow during my debug sessions: > > - Are you using a good cable-delay estimation for your cable? (Consider > ~5ns/m for classical eth cables) I suggest you to physically measure the > delay and place it as Dcable cell in Calnex configuration. > - Have you checked about any asymmetry between RX and TX paths? Can you > short-circuit your timestamper to check? You need to ask your FPGA and HW > experts. > - How is the 1PPS driven? Is there any reclocking logic? You need to ask > your FPGA-experts. > > > ciao > > luigi > > > Il giorno gio 8 set 2022 alle ore 13:44 Hamilton Alex < > ale...@gm...> ha scritto: > >> Hi: >> I got an issue that linuxptp result doesn't match 1PPS measurement. >> my board is acting as a slave, the calnex is acting as a master with >> reference clock. >> after ptp4l runs, result is below, looks pretty good: >> >> ptp4l[130166.661]: rms 1 max 2 freq -50 +/- 4 delay 9059 +/- >> 0 >> ptp4l[130167.661]: rms 1 max 1 freq -50 +/- 2 delay 9058 +/- >> 0 >> ptp4l[130168.662]: rms 1 max 2 freq -52 +/- 3 delay 9058 +/- >> 1 >> ptp4l[130169.661]: rms 1 max 3 freq -49 +/- 4 delay 9058 +/- >> 0 >> ptp4l[130170.661]: rms 1 max 2 freq -50 +/- 4 delay 9059 +/- >> 0 >> ptp4l[130171.662]: rms 1 max 2 freq -49 +/- 3 delay 9058 +/- >> 0 >> >> my board has 1PPS output, I connect it to the master and compared with >> reference PPS. >> however, the 1pps time error is around 40 NS, which means my board is >> ahead of the reference for about 40NS, which doesn't match the result >> dumped by ptp4l. >> >> anyone has met similar issue before? how to debug such issue? >> >> - >> >> 1ppsTE = (T1ppsMeasIngress – Dcable) - TRef >> >> >> https://calnexsolutions.atlassian.net/wiki/spaces/KB/pages/71991334/T-BC+Time+Error+Metrics >> >> Thanks >> Alex >> >> _______________________________________________ >> Linuxptp-devel mailing list >> Lin...@li... >> https://lists.sourceforge.net/lists/listinfo/linuxptp-devel >> > > > -- > *Luigi 'Comio' Mantellini* > My Professional Profile <http://www.linkedin.com/in/comio> > > *"UNIX is very simple, it just needs a genius to understand its > simplicity." [cit.]* > > |
From: Hamilton A. <ale...@gm...> - 2022-09-08 11:42:12
|
Hi: I got an issue that linuxptp result doesn't match 1PPS measurement. my board is acting as a slave, the calnex is acting as a master with reference clock. after ptp4l runs, result is below, looks pretty good: ptp4l[130166.661]: rms 1 max 2 freq -50 +/- 4 delay 9059 +/- 0 ptp4l[130167.661]: rms 1 max 1 freq -50 +/- 2 delay 9058 +/- 0 ptp4l[130168.662]: rms 1 max 2 freq -52 +/- 3 delay 9058 +/- 1 ptp4l[130169.661]: rms 1 max 3 freq -49 +/- 4 delay 9058 +/- 0 ptp4l[130170.661]: rms 1 max 2 freq -50 +/- 4 delay 9059 +/- 0 ptp4l[130171.662]: rms 1 max 2 freq -49 +/- 3 delay 9058 +/- 0 my board has 1PPS output, I connect it to the master and compared with reference PPS. however, the 1pps time error is around 40 NS, which means my board is ahead of the reference for about 40NS, which doesn't match the result dumped by ptp4l. anyone has met similar issue before? how to debug such issue? - 1ppsTE = (T1ppsMeasIngress – Dcable) - TRef https://calnexsolutions.atlassian.net/wiki/spaces/KB/pages/71991334/T-BC+Time+Error+Metrics Thanks Alex |
From: Miroslav L. <mli...@re...> - 2022-09-07 06:25:31
|
On Wed, Sep 07, 2022 at 10:30:09AM +0900, james jeong wrote: > Slave 1 and 2 are normally synchronized with Master's time. > However, Slave3 is out of sync as "Waiting for ptp4l..." is output in > the log of phc2sys. It would help if you could post the ptp4l logs. > Up to 2 slaves can be synchronized normally, but if you try to > configure 3 or more slaves, synchronization will fail. That is odd. What HW and driver does the server have? -- Miroslav Lichvar |
From: Brian L. <br...@ne...> - 2022-09-07 04:55:33
|
Some background: I'm building a Petalinux image (Xilinx' Yocto project based build system thing) that includes linuxPTP. I have it starting as a service, and subsequently, I also have phc2sys running to synchronize the system clock to the clock from eth0 and my PTP master. This seems to be working, to some degree. Problem is that the behavior is erratic, to say the least. For example: phc2sys[46.726]: CLOCK_REALTIME phc offset -93776 s2 freq +32031 delay 1020 phc2sys[47.727]: CLOCK_REALTIME phc offset -83999 s2 freq +32168 delay 1020 phc2sys[48.727]: CLOCK_REALTIME phc offset -119501 s2 freq +27423 delay 1020 phc2sys[49.727]: CLOCK_REALTIME phc offset -479032 s2 freq -13320 delay 1020 phc2sys[50.727]: CLOCK_REALTIME phc offset -1923240 s2 freq -176973 delay 1020 phc2sys[51.727]: CLOCK_REALTIME phc offset -3395674 s2 freq -358174 delay 1020 phc2sys[52.727]: CLOCK_REALTIME phc offset -3394547 s2 freq -392006 delay 1010 phc2sys[53.728]: CLOCK_REALTIME phc offset -2828314 s2 freq -363666 delay 1010 phc2sys[54.728]: CLOCK_REALTIME phc offset -2187172 s2 freq -321424 delay 1020 phc2sys[55.728]: CLOCK_REALTIME phc offset -1661911 s2 freq -285517 delay 1020 Eventually failing with a timeout since it can't synchronize the system or PTP hardware clock. The PTP daemon is just chugging along, in a temporal vortex: ptp4l[1037]: ptp4l[246.499]: master offset 29510 s2 freq +64760 path delay 265538 ptp4l[1037]: ptp4l[247.499]: master offset -20951 s2 freq +23152 path delay 265538 ptp4l[1037]: ptp4l[248.499]: master offset -23629 s2 freq +14188 path delay 265538 ptp4l[1037]: ptp4l[249.499]: master offset -40569 s2 freq -9840 path delay 275390 ptp4l[1037]: ptp4l[250.499]: master offset -64721 s2 freq -46163 path delay 275390 ptp4l[1037]: ptp4l[251.500]: master offset 90752 s2 freq +89894 path delay 275390 ptp4l[1037]: ptp4l[252.499]: master offset 10070 s2 freq +36437 path delay 275390 ptp4l[1037]: ptp4l[253.499]: master offset -65171 s2 freq -35783 path delay 275390 ptp4l[1037]: ptp4l[254.499]: master offset 12986 s2 freq +22823 path delay 275390 ptp4l[1037]: ptp4l[255.499]: master offset -40304 s2 freq -26571 path delay 269316 The service file for phc2sys looks like this: [Unit] Description=Synchronize system clock or PTP hardware clock (PHC) After=network-online.target [Service] Type=forking ExecStart=/usr/sbin/phc2sys -w -s eth0 -c CLOCK_REALTIME -P 0.1 -I 0.01 -m [Install] WantedBy=multi-user.target And the service file for ptpd: [Unit] Description=ptpd time precision daemon After=network-online.target StartLimitIntervalSec=1 [Service] Type=forking EnvironmentFile=/etc/default/ptpd ExecCondition=systemctl disable ntpd ExecStart=/usr/sbin/ptp4l -i eth0 -s -m PIDFile=/run/ptp41 Restart=always [Install] WantedBy=multi-user.target I'm sure that the issue lies with something obvious and stupid that I've done, only that I can't put my finger on what specifically that is. If more information is needed, I'm happy to provide it. Thank you for your help. |
From: james j. <jam...@gm...> - 2022-09-07 01:30:28
|
Dear, We want to use Linuxptp by configuring our device as follows: Master(192.168.1.100) Slave1 (192.168.1.200) Slave2 (192.168.1.201) Slave3 (192.168.1.202) Ethernet connections between devices used hubs. I used the following command: [Master] ./ptp4l -i eno1 -m --step_threshold=1 ./phc2sys -a -r -r -m --step_threshold=1 [Slave1-3] ./ptp4l -i enp23s0f0 -s -m --step_threshold=1 ./phc2sys -a -r -r -m --step_threshold=1 Slave 1 and 2 are normally synchronized with Master's time. However, Slave3 is out of sync as "Waiting for ptp4l..." is output in the log of phc2sys. Up to 2 slaves can be synchronized normally, but if you try to configure 3 or more slaves, synchronization will fail. When configuring multiple slaves, are there any items that need to be set separately? Any advice would be appreciated. Regards, |