Hi,

Hopefully you can provide the ptp4l results alone without phc2sys or the 
chronyd interfering. Like I mentioned use the testptp program from the kernel 
Documentation to sanity check the device's clock. I have a few more comments 
below.

> -----Original Message-----
> From: Gary E. Miller [mailto:g...@rellim.com]
> Sent: Tuesday, February 24, 2015 2:13 PM
> To: Keller, Jacob E
> Cc: Jiri Benc; linuxptp-devel@lists.sourceforge.net
> Subject: Re: [Linuxptp-devel] ntp SHMs
> 
> Yo Jacob E!
> 
> On Tue, 24 Feb 2015 21:33:49 +0000
> "Keller, Jacob E" <jacob.e.kel...@intel.com> wrote:
> 
> > > No, I am not.  As noted in the test procedure dump I did this first:
> > >   # killall ptp4l phc2sys
> > >
> >
> > This is probably the root of your problem. Nothing else *should* be
> > writing the clock but any software that has privileges and access
> > to /dev/ptpX could write to it..
> 
> What else *could* be writing /dev/ptpX.  I have never installed ptpd or
> anything similar.
> 
> > Also your driver can do it in case of a reset.
> 
> I've not noticed any port resets.
> 
> > Could you post your dmesg log? This is an Intel part that I have some
> > driver experience with so maybe I can spot any inconsistency there.
> 
> Here you go, first the debug output:
> 
> 
> kong ~ # killall ptp4l phc2sys
> ptp4l: no process found
> phc2sys: no process found
> kong ~ # killall ptp4l phc2sys
> ptp4l: no process found
> phc2sys: no process found
> kong ~ # cat ptp.conf
> [global]
> clock_servo   linreg
> uds_address   /var/run/ptp4l
> 
> kong ~ # ptp4l -i eth0 -l 7 -m -f ptp.conf &

I recommend that you run with -l 6 ,since l7 prints a ton of debug information 
that is nearly always not helpful and clutters reading the time log output.

> kong ~ # sleep 3
> ptp4l[48368.046]: selected /dev/ptp0 as PTP clock
> ptp4l[48368.046]: port 1: INITIALIZING to LISTENING on INITIALIZE
> ptp4l[48368.046]: port 0: INITIALIZING to LISTENING on INITIALIZE
> ptp4l[48368.406]: port 1: setting asCapable
> ptp4l[48368.406]: port 1: new foreign master 003048.fffe.345fe2-1
> kong ~ # phc2sys -a -r -E ntpshm -m -M 2
> ptp4l[48371.047]: port 0: setting asCapable
> phc2sys[48372.047]: reconfiguring after port state change
> phc2sys[48372.047]: selecting eth0 for synchronization
> phc2sys[48372.047]: nothing to synchronize
> ptp4l[48372.406]: selected best master clock 003048.fffe.345fe2
> ptp4l[48372.406]: foreign master not using PTP timescale
> ptp4l[48372.406]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
> phc2sys[48373.048]: port 002590.fffe.f355da-1 changed state
> phc2sys[48373.048]: reconfiguring after port state change
> phc2sys[48373.048]: master clock not ready, waiting...
> ptp4l[48373.473]: port 1: delay timeout
> ptp4l[48373.474]: path delay         54411      54411
> ptp4l[48374.419]: master offset  328777253 s0 freq   -8900 path delay
> 54411
> ptp4l[48374.911]: port 1: delay timeout
> ptp4l[48374.912]: path delay         54730      55049
> ptp4l[48375.419]: master offset  328777178 s0 freq   -8900 path delay
> 54730
> ptp4l[48375.518]: port 1: delay timeout
> ptp4l[48375.519]: path delay         55049      64001
> ptp4l[48376.419]: master offset  328775902 s0 freq   -8900 path delay
> 55049
> ptp4l[48376.912]: port 1: delay timeout
> ptp4l[48376.912]: path delay         55455      55862
> ptp4l[48377.419]: linreg: points 4 slope 1.000009562 intercept -328775458
> err 0
> ptp4l[48377.419]: master offset  328775472 s1 freq   -9576 path delay
> 55455
> ptp4l[48377.508]: port 1: delay timeout
> ptp4l[48378.129]: port 1: delay timeout
> ptp4l[48378.419]: linreg: points 4 slope 1.000009634 intercept 41 err 78
> ptp4l[48378.419]: master offset         78 s2 freq   -9675 path delay     
> 55455

So here it seems to be "corrected"

> ptp4l[48378.419]: port 1: UNCALIBRATED to SLAVE on
> MASTER_CLOCK_SELECTED
> phc2sys[48379.049]: port 002590.fffe.f355da-1 changed state
> phc2sys[48379.049]: reconfiguring after port state change
> phc2sys[48379.049]: selecting CLOCK_REALTIME for synchronization
> phc2sys[48379.049]: selecting eth0 as the master clock
> phc2sys[48379.049]: phc offset 328806192 s0 freq      +0 delay   1516
> ptp4l[48379.419]: linreg: points 4 slope 1.000009343 intercept -533 err 341
> ptp4l[48379.419]: master offset        604 s2 freq   -8810 path delay     
> 55455
> phc2sys[48380.049]: phc offset 328806161 s0 freq      +0 delay   1516
> ptp4l[48380.205]: port 1: delay timeout
> ptp4l[48380.205]: path delay         55049      47086
> ptp4l[48380.419]: linreg: points 4 slope 1.000009269 intercept -159 err 298
> ptp4l[48380.419]: master offset        213 s2 freq   -9110 path delay     
> 55049
> ptp4l[48380.637]: port 1: delay timeout
> ptp4l[48380.638]: path delay         54730      43799
> phc2sys[48381.049]: phc offset 328806265 s0 freq      +0 delay   1517
> ptp4l[48381.419]: linreg: points 4 slope 1.000009081 intercept -376 err 341
> ptp4l[48381.419]: master offset        470 s2 freq   -8705 path delay     
> 54730
> phc2sys[48382.049]: phc offset 328806509 s0 freq      +0 delay   1515
> ptp4l[48382.373]: port 1: delay timeout
> ptp4l[48382.373]: path delay         55049      57392
> ptp4l[48382.419]: linreg: points 4 slope 1.000008817 intercept -579 err 431
> ptp4l[48382.419]: master offset        789 s2 freq   -8238 path delay     
> 55049
> phc2sys[48383.049]: phc offset 328807191 s0 freq      +0 delay   1517
> ptp4l[48383.419]: linreg: points 4 slope 1.000008839 intercept 183 err 426
> ptp4l[48383.419]: master offset       -403 s2 freq   -9023 path delay     
> 55049
> ptp4l[48383.578]: port 1: delay timeout
> ptp4l[48383.578]: path delay         55455      60894
> phc2sys[48384.050]: phc offset 328807550 s0 freq      +0 delay   1505
> ptp4l[48384.419]: linreg: points 4 slope 1.000008954 intercept 223 err 404
> ptp4l[48384.419]: master offset       -269 s2 freq   -9177 path delay     
> 55455
> phc2sys[48385.050]: phc offset 328807545 s0 freq      +0 delay   1515
> ptp4l[48385.369]: port 1: delay timeout
> ptp4l[48385.369]: path delay         55862      55986
> ptp4l[48385.419]: linreg: points 4 slope 1.000009416 intercept 942 err 503
> ptp4l[48385.419]: master offset      -1199 s2 freq  -10358 path delay
> 55862
> ptp4l[48385.593]: port 1: delay timeout
> ptp4l[48385.593]: path delay         55455      49211
> ptp4l[48385.810]: port 1: delay timeout
> ptp4l[48385.810]: path delay         55924      63105
> phc2sys[48386.050]: phc offset 328806728 s0 freq      +0 delay   1515
> ptp4l[48386.419]: linreg: points 4 slope 1.000009022 intercept -976 err 608
> ptp4l[48386.419]: master offset       1452 s2 freq   -8046 path delay     
> 55924
> phc2sys[48387.050]: phc offset 328806932 s0 freq      +0 delay   1517
> ptp4l[48387.174]: port 1: delay timeout
> ptp4l[48387.174]: path delay         55924      45407
> ptp4l[48387.419]: linreg: points 4 slope 1.000008845 intercept -336 err 587
> ptp4l[48387.419]: master offset        398 s2 freq   -8509 path delay     
> 55924
> ptp4l[48387.670]: port 1: delay timeout
> ptp4l[48387.671]: path delay         55924      60382
> ptp4l[48387.683]: port 1: delay timeout
> ptp4l[48387.684]: path delay         52608      49230
> phc2sys[48388.050]: phc offset 328807681 s0 freq      +0 delay   1516
> ptp4l[48388.419]: linreg: points 4 slope 1.000007825 intercept -2085 err
> 629
> ptp4l[48388.419]: master offset       2664 s2 freq   -5740 path delay     
> 52608
> phc2sys[48389.051]: phc offset 328809985 s0 freq      +0 delay   1536
> ptp4l[48389.419]: linreg: points 4 slope 1.000007838 intercept 133 err 622
> ptp4l[48389.419]: master offset       -300 s2 freq   -7971 path delay     
> 52608
> ptp4l[48389.423]: port 1: delay timeout
> ptp4l[48389.424]: path delay         52608      47867
> phc2sys[48390.051]: phc offset 328811953 s0 freq      +0 delay   1518
> ptp4l[48390.419]: linreg: points 4 slope 1.000008301 intercept 1323 err 653
> ptp4l[48390.419]: master offset      -2150 s2 freq   -9623 path delay     
> 52608
> ptp4l[48390.894]: port 1: delay timeout
> ptp4l[48390.894]: path delay         56592      57199
> phc2sys[48391.051]: phc offset 328812074 s0 freq      +0 delay   1515
> ptp4l[48391.349]: port 1: delay timeout
> ptp4l[48391.349]: path delay         52608      41147
> ptp4l[48391.419]: linreg: points 4 slope 1.000008882 intercept 715 err 647
> ptp4l[48391.419]: master offset       -335 s2 freq   -9597 path delay     
> 52608
> phc2sys[48392.051]: phc offset 328811597 s0 freq      +0 delay   1517
> ptp4l[48392.389]: port 1: delay timeout
> ptp4l[48392.389]: path delay         49220      47224
> ptp4l[48392.419]: linreg: points 4 slope 1.000007611 intercept -2922 err
> 716
> ptp4l[48392.419]: master offset       4126 s2 freq   -4689 path delay     
> 49220
> ptp4l[48392.568]: port 1: delay timeout
> ptp4l[48392.568]: path delay         49220      53497
> phc2sys[48393.051]: phc offset 328814195 s0 freq      +0 delay   1516
> ptp4l[48393.419]: linreg: points 4 slope 1.000007412 intercept 296 err 726
> ptp4l[48393.419]: master offset      -1236 s2 freq   -7709 path delay     
> 49220
> phc2sys[48394.051]: phc offset 328816715 s0 freq      +0 delay   1515
> ptp4l[48394.419]: linreg: points 4 slope 1.000008064 intercept 1401 err 749
> ptp4l[48394.419]: master offset      -1872 s2 freq   -9465 path delay     
> 49220
> ptp4l[48394.440]: port 1: delay timeout
> ptp4l[48394.440]: path delay         50829      52428
> phc2sys[48395.052]: phc offset 299887769 s0 freq      +0 delay   1378
> ptp4l[48395.362]: linreg: points 4 slope 1.000009908 intercept 3546 err 820
> ptp4l[48395.362]: master offset      -4256 s2 freq  -13453 path delay
> 50829
> ptp4l[48395.726]: port 1: delay timeout
> ptp4l[48395.727]: path delay         50829      54273
> phc2sys[48396.052]: phc offset 208967251 s0 freq      +0 delay   1379
> ptp4l[48396.279]: linreg: points 4 slope 1.000009460 intercept -1172 err
> 839
> ptp4l[48396.279]: master offset       1810 s2 freq   -8287 path delay     
> 50829
> ptp4l[48396.938]: port 1: delay timeout
> ptp4l[48396.938]: path delay         52962      60679
> phc2sys[48397.052]: phc offset 118050472 s0 freq      +0 delay   1470
> ptp4l[48397.195]: linreg: points 4 slope 1.000009995 intercept 1144 err 853
> ptp4l[48397.195]: master offset      -1520 s2 freq  -11139 path delay
> 52962
> phc2sys[48398.052]: phc offset  27131713 s0 freq      +0 delay   1390
> ptp4l[48398.112]: linreg: points 4 slope 1.000009589 intercept -618 err 846
> ptp4l[48398.112]: master offset        531 s2 freq   -8971 path delay     
> 52962
> ptp4l[48398.845]: port 1: delay timeout
> ptp4l[48398.845]: path delay         52962      56980
> phc2sys[48399.052]: phc offset -13300220 s0 freq      +0 delay   1597
> ptp4l[48399.077]: linreg: points 4 slope 1.000009968 intercept 375 err 830
> ptp4l[48399.077]: master offset          9 s2 freq  -10343 path delay     
> 52962
> ptp4l[48399.714]: port 1: delay timeout
> ptp4l[48399.714]: path delay         53885      55412
> ptp4l[48399.931]: port 1: delay timeout
> ptp4l[48399.932]: path delay         54842      63268
> phc2sys[48400.052]: phc offset -13301383 s0 freq      +0 delay   1516
> ptp4l[48400.077]: linreg: points 4 slope 1.000009308 intercept -1088 err
> 835
> ptp4l[48400.077]: master offset       1070 s2 freq   -8221 path delay     
> 54842
> ptp4l[48400.405]: port 1: delay timeout
> ptp4l[48400.405]: path delay         54842      58364
> phc2sys[48401.052]: phc offset -13300580 s0 freq      +0 delay   1516
> ptp4l[48401.077]: linreg: points 4 slope 1.000009393 intercept 145 err 821
> ptp4l[48401.077]: master offset       -150 s2 freq   -9538 path delay     
> 54842
> phc2sys[48402.052]: phc offset -13301020 s0 freq      +0 delay   1515
> ptp4l[48402.077]: linreg: points 4 slope 1.000009213 intercept -398 err 815
> ptp4l[48402.077]: master offset        546 s2 freq   -8815 path delay     
> 54842
> ptp4l[48402.182]: port 1: delay timeout
> ptp4l[48402.182]: path delay         54842      45838
> ptp4l[48402.688]: port 1: delay timeout
> ptp4l[48402.688]: path delay         54842      42398
> phc2sys[48403.053]: phc offset -13300753 s0 freq      +0 delay   1517
> ptp4l[48403.077]: linreg: points 4 slope 1.000009176 intercept -40 err 799
> ptp4l[48403.077]: master offset          6 s2 freq   -9135 path delay     
> 54842
> ptp4l[48404.038]: port 1: delay timeout
> ptp4l[48404.038]: path delay         54842      53071
> phc2sys[48404.053]: phc offset -13300764 s0 freq      +0 delay   1504
> ptp4l[48404.078]: linreg: points 4 slope 1.000009149 intercept -11 err 784
> ptp4l[48404.078]: master offset        -39 s2 freq   -9138 path delay     
> 54842
> phc2sys[48405.053]: phc offset -13300747 s0 freq      +0 delay   1516
> ptp4l[48405.078]: linreg: points 4 slope 1.000008982 intercept -468 err 783
> ptp4l[48405.078]: master offset        753 s2 freq   -8515 path delay     
> 54842
> ptp4l[48406.038]: port 1: delay timeout
> ptp4l[48406.038]: path delay         56196      57368
> phc2sys[48406.053]: phc offset -13300186 s0 freq      +0 delay   1516
> ptp4l[48406.078]: linreg: points 4 slope 1.000008225 intercept -1622 err
> 811
> ptp4l[48406.078]: master offset       2160 s2 freq   -6603 path delay     
> 56196
> phc2sys[48407.053]: phc offset -13297757 s0 freq      +0 delay   1595
> ptp4l[48407.078]: linreg: points 4 slope 1.000009064 intercept 2291 err 867
> ptp4l[48407.078]: master offset      -3629 s2 freq  -11356 path delay
> 56196
> ptp4l[48407.611]: port 1: delay timeout
> ptp4l[48407.611]: path delay         56196      46776
> phc2sys[48408.054]: phc offset -13299925 s0 freq      +0 delay   1516
> ptp4l[48408.078]: linreg: points 4 slope 1.000009548 intercept 671 err 859
> ptp4l[48408.078]: master offset       -469 s2 freq  -10219 path delay     
> 56196
> phc2sys[48409.054]: phc offset -13301099 s0 freq      +0 delay   1517
> ptp4l[48409.078]: linreg: points 4 slope 1.000009940 intercept 417 err 843
> ptp4l[48409.078]: master offset        -63 s2 freq  -10357 path delay     
> 56196
> ptp4l[48409.600]: port 1: delay timeout
> ptp4l[48409.601]: path delay         54241      48536
> phc2sys[48410.054]: phc offset -13318750 s0 freq      +0 delay   1582
> ptp4l[48410.078]: clockcheck: clock jumped forward or running faster than
> expected!

And at this point, the clock jumped. *something* twiddled with the clock. The 
"what" I am not sure. Also it seems weird that the phc switched from a positive 
to a negative offset..? I assume you put the NTP SHM into chronyd as a refclock?

> ptp4l[48410.078]: master offset 70368744180811 s0 freq  -10357 path
> delay     54241
> ptp4l[48410.078]: port 1: SLAVE to UNCALIBRATED on
> SYNCHRONIZATION_FAULT

At this point ptp4l has reset and now things get funky. I suspect this is 
either a driver bug, or somehow you have other things controlling the clock. 
Obviously both of us are stumped on what else could be doing it...

> phc2sys[48411.054]: port 002590.fffe.f355da-1 changed state
> phc2sys[48411.054]: reconfiguring after port state change
> phc2sys[48411.054]: master clock not ready, waiting...
> ptp4l[48411.079]: master offset 70368744183134 s0 freq  -10357 path
> delay     54241
> ptp4l[48412.029]: port 1: delay timeout
> ptp4l[48412.029]: path delay         51368      49666
> ptp4l[48412.084]: master offset 70368744187846 s0 freq  -10357 path
> delay     51368
> ptp4l[48413.084]: linreg: points 4 slope 1.000007855 intercept -
> 70368744188596 err 843
> ptp4l[48413.084]: master offset 70368744187580 s2 freq +599999999 path
> delay     51368
> ptp4l[48413.084]: port 1: UNCALIBRATED to SLAVE on
> MASTER_CLOCK_SELECTED
> ptp4l[48413.596]: port 1: delay timeout
> ptp4l[48413.596]: negative path delay    -131938
> ptp4l[48413.596]: path_delay = (t2 - t3) * rr + (t4 - t1) - (c1 + c2 + c3)
> ptp4l[48413.596]: t2 - t3 = -205239411
> ptp4l[48413.597]: t4 - t1 = +512838680
> ptp4l[48413.597]: rr = 2.500019631
> ptp4l[48413.597]: c1          0
> ptp4l[48413.597]: c2          0
> ptp4l[48413.597]: c3          0
> ptp4l[48413.597]: path delay         49101    -131938
> phc2sys[48414.055]: port 002590.fffe.f355da-1 changed state
> phc2sys[48414.055]: reconfiguring after port state change
> phc2sys[48414.055]: selecting CLOCK_REALTIME for synchronization
> phc2sys[48414.055]: selecting eth0 as the master clock
> phc2sys[48414.055]: phc offset -70368168772102 s0 freq      +0 delay   1636
> ptp4l[48414.084]: linreg: points 4 slope 0.999899345 intercept -
> 70368144209416 err 362185
> ptp4l[48414.084]: master offset 70368144318188 s2 freq +599999999 path
> delay     49101
> ptp4l[48414.136]: port 1: delay timeout
> ptp4l[48414.136]: path delay         47656      46209
> ptp4l[48414.520]: port 1: delay timeout
> ptp4l[48414.520]: path delay         47656      76564
> phc2sys[48415.055]: phc offset -70367568670828 s0 freq      +0 delay   1581
> ptp4l[48415.084]: linreg: points 4 slope 0.999863205 intercept -
> 70367544328976 err 181586
> ptp4l[48415.084]: master offset 70367544293425 s2 freq +599999999 path
> delay     47656
> ptp4l[48415.845]: port 1: delay timeout
> ptp4l[48415.845]: path delay         49101     118776
> phc2sys[48416.055]: phc offset -70366968524314 s0 freq      +0 delay   1800
> ptp4l[48416.084]: linreg: points 4 slope 0.999899195 intercept -
> 70366944350012 err 181776
> ptp4l[48416.084]: master offset 70366944276709 s2 freq +599999999 path
> delay     49101
> phc2sys[48417.056]: phc offset -70366368366638 s0 freq      +0 delay   1517
> ptp4l[48417.084]: linreg: points 4 slope 1.000008752 intercept -
> 70366344255069 err 182101
> ptp4l[48417.084]: master offset 70366344254785 s2 freq +599999999 path
> delay     49101
> ptp4l[48417.430]: port 1: delay timeout
> ptp4l[48417.431]: path delay         51368      60901
> phc2sys[48418.056]: phc offset -70365768242951 s0 freq      +0 delay   1517
> ptp4l[48418.084]: linreg: points 4 slope 1.000009541 intercept -
> 70365744237176 err 145995
> ptp4l[48418.084]: master offset 70365744237023 s2 freq +599999999 path
> delay     51368
> ptp4l[48418.137]: port 1: delay timeout
> ptp4l[48418.137]: path delay         49101      41680
> ptp4l[48418.421]: port 1: delay timeout
> ptp4l[48418.421]: path delay         48989      49442
> phc2sys[48419.056]: phc offset -70365168123872 s0 freq      +0 delay   1516
> ptp4l[48419.084]: linreg: points 4 slope 1.000008598 intercept -
> 70365144203149 err 122176
> ptp4l[48419.084]: master offset 70365144204054 s2 freq +599999999 path
> delay     48989
> ptp4l[48419.996]: port 1: delay timeout
> ptp4l[48419.997]: path delay         48989      37993
> phc2sys[48420.056]: phc offset -70364568028650 s0 freq      +0 delay   1582
> ptp4l[48420.084]: clockcheck: clock jumped forward or running faster than
> expected!
> ptp4l[48420.084]: master offset 140733288370371 s0 freq +599999999
> path delay     48989
> ptp4l[48420.084]: port 1: SLAVE to UNCALIBRATED on
> SYNCHRONIZATION_FAULT
> phc2sys[48421.056]: port 002590.fffe.f355da-1 changed state
> phc2sys[48421.057]: reconfiguring after port state change
> phc2sys[48421.057]: master clock not ready, waiting...
> ptp4l[48421.084]: master offset 140732688350093 s0 freq +599999999
> path delay     48989
> ptp4l[48421.570]: port 1: delay timeout
> ptp4l[48421.571]: path delay         49554  146073983
> ptp4l[48422.084]: master offset 140732088332451 s0 freq +599999999
> path delay     49554
> ptp4l[48422.536]: port 1: delay timeout
> ptp4l[48422.536]: path delay         55171  135723814
> ptp4l[48423.084]: linreg: points 4 slope 1.000010546 intercept -
> 140731488300783 err 122176
> ptp4l[48423.084]: master offset 140731488299227 s2 freq +599999999
> path delay     55171
> ptp4l[48423.084]: port 1: UNCALIBRATED to SLAVE on
> MASTER_CLOCK_SELECTED
> ptp4l[48423.093]: port 1: delay timeout
> ptp4l[48423.093]: path delay         59812      58724
> ptp4l[48423.502]: port 1: delay timeout
> ptp4l[48423.502]: path delay         59812      43311
> phc2sys[48424.057]: port 002590.fffe.f355da-1 changed state
> phc2sys[48424.057]: reconfiguring after port state change
> phc2sys[48424.057]: selecting CLOCK_REALTIME for synchronization
> phc2sys[48424.057]: selecting eth0 as the master clock
> phc2sys[48424.057]: phc offset -140730911647787 s0 freq      +0 delay
> 1470
> ptp4l[48424.084]: linreg: points 4 slope 1.000012236 intercept -
> 140730888281503 err 3818
> ptp4l[48424.084]: master offset 140730888280902 s2 freq +599999999
> path delay     59812
> ptp4l[48424.685]: port 1: delay timeout
> ptp4l[48424.685]: path delay         57425      56126
> phc2sys[48425.057]: phc offset -140730311546892 s0 freq      +0 delay
> 1517
> ptp4l[48425.084]: linreg: points 4 slope 1.000011115 intercept -
> 140730288244723 err 4804
> ptp4l[48425.084]: master offset 140730288247075 s2 freq +599999999
> path delay     57425
> phc2sys[48426.058]: phc offset -140729711417875 s0 freq      +0 delay
> 1517
> ptp4l[48426.084]: linreg: points 4 slope 1.000008793 intercept -
> 140729688242615 err 4790
> ptp4l[48426.084]: master offset 140729688243150 s2 freq +599999999
> path delay     57425
> ptp4l[48426.602]: port 1: delay timeout
> ptp4l[48426.602]: path delay         56291      56456
> ptp4l[48426.602]: port 1: delay timeout
> ptp4l[48426.603]: path delay         56291      64187
> phc2sys[48427.058]: phc offset -140729111582627 s0 freq      +0 delay
> 1512
> ptp4l[48427.083]: linreg: points 4 slope 1.000007751 intercept -
> 140729088214989 err 3828
> ptp4l[48427.083]: master offset 140729088214514 s2 freq +599999999
> path delay     56291
> ptp4l[48427.768]: port 1: delay timeout
> ptp4l[48427.768]: path delay         57590      63474
> phc2sys[48428.058]: phc offset -140728512483869 s0 freq      +0 delay
> 1595
> ptp4l[48428.081]: linreg: points 4 slope 1.000008704 intercept -
> 140728488200748 err 3433
> ptp4l[48428.081]: master offset 140728488200589 s2 freq +599999999
> path delay     57590
> phc2sys[48429.058]: phc offset -140727913371351 s0 freq      +0 delay
> 1578
> ptp4l[48429.079]: linreg: points 4 slope 1.000009008 intercept -
> 140727888176495 err 3016
> ptp4l[48429.079]: master offset 140727888176243 s2 freq +599999999
> path delay     57590
> ^Cphc2sys[48429.590]: phc offset -140727594663556 s0 freq      +0 delay
> 1577
> 
> Clearly bonkers now, so ^C.

Yes its bonkers now because of whatever that clock jump invalid event was that 
very much screwed all the settings.

> 
> Then I check dmesg, nothing there at all.
> 
> Any way to turn on some e1000e debugging?
> 
> 
> > > > You must not tell phc2sys to drive the system clock, then,
> > > > otherwise those two programs would fight each other. This means
> > > > you must not pass "-r" to phc2sys, that option tells phc2sys to
> > > > drive the system clock (please do read the phc2sys man page
> > > > before asking more questions about this, thanks).
> > >
> >
> > I do not believe Jiri is right. I ran a similar config and it
> > appeared to work fine, without crazy clock jumping. Chronyd simply
> > took the SHM reference and tuned the system clock over time, because
> > the ntpshm servo presents itself to the ntp daemon.
> 
> I hope so.  I'll believe it when I see it.
> 
> > > I tried removing the "-r".  When I do that the ntpshm is no longer
> > > written, thus cutting ntpshm out of the loop, making this useless.
> > >
> >
> > You need the "-r" because otherwise it doesn't have a clock to
> > synchronize..
> 
> As you can see, I re-added the "-r" clock above.
> 
> > > Well, that conflicts with prior advice on this list.  Are you
> > > saying that I have no need to run phc2sys in hardware timestamp
> > > mode?  Does that mean I can run just ptp4l in ntpshm mode and
> > > timestamp mode?
> > >
> >
> > You must run phc2sys in hardware timestamping mode.
> 
> OK, I think that is what I'm doing.  You can see above what I am doing.
> 

Just to clarify, without phc2sys then you only synchronize the MAC hardware 
clock and not the real system clock.

> > > I have also seen ptp4l software time suddenly gain large (300 mSec)
> > > offsets that persist for hours.  A program restart fixes that.
> > > There is a lot of promise to this package, but a lot of work to do
> > > as well.
> > >
> >
> > If the remote clock jumps by 300ms, it is below the normal "jump" and
> > ptp4l servo attempts to tune for this by reducing frequency which
> > will take a very long time to catch up since most devices cannot
> > adjust the frequency very far. This is in order to provide a smooth
> > transition instead of an immediate jump.
> 
> My remote master clock has local PPS linked using chronyd, jitter around
> 200 nSec or better.  Sometims I run my master with two local PPS for a
> sanity check.  My master chimer has a number of slaves also with local
> PPS.
> 
> So not possible the master is anything but near perfect.  Perfect being
> defined as better than 1 uSec.
> 

Good. So that is probably not the issue.

> But we can leave the 300 mSec problem aside for now. chronyd can handle
> that.  It is the hardware clock going totally bonkers that is killing
> me.
> 

Yes. That is a nasty problem.

> RGDS
> GARY
> ---------------------------------------------------------------------------
> Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97701
>       g...@rellim.com  Tel:+1(541)382-8588

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to