Yo Jacob E!
On Tue, 24 Feb 2015 22:32:40 +0000
"Keller, Jacob E" <[email protected]> wrote:
> > > This is telling you that your clock time (CLOCK_REALTIME) is off
> > > by 70,000 seconds. That's not happy.
> >
> > Except my clock time is off by about 60 uSec. At least until
> > phc2sys tries to 'fix' the problem.
> >
>
> No. That is a mis-understanding. Your internal NIC clock is off by 60
> uSec.
No misunderstanding. My slave is NTP connected, so I KNOW the
system clock is off by 60 uSec from the clock master.
> Your REALTIME clock is not the NIC clock, but actually the
> kernel time,
Never thought otherwise.
> and *that* is what phc2sys offset is for.
Hmm, I see the confusion, I never mentioned my phc2sys offest. Until
it goes to 70,000 seconds....
> > > So this looks quit suspicious as a driver bug. Especially as it
> > > appears to be toggling between a large positive and negative
> > > value I am recalling something similar.
> >
> > Ouch. I am on an Intel I217-LM with the e1000e driver.
>
> Ya. I looked at the driver for this, but nothing was obvious. The
> issue I thought might be related appears to be fine in the 3.19
> kernel.
Another dead end...
> > Got a suggested config and procedure for that?
>
> Please just run your setup without running phc2sys, and use -l6 on
> ptp4l instead of -l7.
So, to be clear. is this exactly what you want me to try:
The ptp.conf:
[global]
clock_servo linreg
uds_address /var/run/ptp4l
# killall ptp4l phc2sys
# killall ptp4l phc2sys
# ptp4l -i eth0 -l 6 -m -f ptp.conf &
> See if you get the same clock jump issue or not.
Since my ptp4l is in linreg mode, it can not jump my system clock.
So what should I look for?
I just did that, looks ugly, but I really have no idea:
# killall ptp4l phc2sys
ptp4l: no process found
phc2sys: no process found
# ptp4l -i eth0 -l 6 -m -f ptp.conf
ptp4l[52360.386]: selected /dev/ptp0 as PTP clock
ptp4l[52360.386]: port 1: INITIALIZING to LISTENING on INITIALIZE
ptp4l[52360.386]: port 0: INITIALIZING to LISTENING on INITIALIZE
ptp4l[52362.144]: port 1: new foreign master 003048.fffe.345fe2-1
ptp4l[52366.144]: selected best master clock 003048.fffe.345fe2
ptp4l[52366.144]: foreign master not using PTP timescale
ptp4l[52366.144]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
ptp4l[52367.211]: master offset -99132 s0 freq +599999998 path delay
46363
ptp4l[52368.211]: master offset -107849 s0 freq +599999998 path delay
46363
ptp4l[52369.211]: master offset -125869 s0 freq +599999998 path delay
55328
ptp4l[52370.211]: master offset -134962 s1 freq +599994160 path delay
55306
ptp4l[52371.211]: master offset -599870879 s2 freq +186802553 path delay
55306
ptp4l[52371.211]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
ptp4l[52372.211]: master offset -786797418 s2 freq -149872567 path delay
55306
ptp4l[52373.211]: master offset -637009628 s2 freq -599999999 path delay
58203
ptp4l[52374.211]: master offset -37092094 s2 freq -37208915 path delay
60342
ptp4l[52375.211]: master offset 244012 s2 freq +177926 path delay 58203
Strangely a kill and restart looks reasonable:
kong linuxptp # ptp4l -i eth0 -l 6 -m -f ptp.conf
ptp4l[52498.377]: selected /dev/ptp0 as PTP clock
ptp4l[52498.378]: port 1: INITIALIZING to LISTENING on INITIALIZE
ptp4l[52498.378]: port 0: INITIALIZING to LISTENING on INITIALIZE
ptp4l[52500.147]: port 1: new foreign master 003048.fffe.345fe2-1
ptp4l[52504.147]: selected best master clock 003048.fffe.345fe2
ptp4l[52504.147]: foreign master not using PTP timescale
ptp4l[52504.147]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
ptp4l[52506.215]: master offset -125996 s0 freq +177925 path delay 66149
ptp4l[52507.215]: master offset -114049 s0 freq +177925 path delay 46374
ptp4l[52508.215]: master offset -126964 s0 freq +177925 path delay 49315
ptp4l[52509.215]: master offset -136826 s1 freq +177442 path delay 52187
ptp4l[52510.215]: master offset -188068 s2 freq -21513 path delay 52187
ptp4l[52510.215]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
ptp4l[52511.216]: master offset -176435 s2 freq -97696 path delay 52187
ptp4l[52512.215]: master offset -89938 s2 freq -100192 path delay 55059
ptp4l[52513.216]: master offset 1079 s2 freq -9460 path delay 54937
ptp4l[52514.215]: master offset 1241 s2 freq -8949 path delay 54937
ptp4l[52515.216]: master offset 1141 s2 freq -8099 path delay 54815
ptp4l[52516.216]: master offset 1815 s2 freq -7358 path delay 54242
ptp4l[52517.216]: master offset 2330 s2 freq -5907 path delay 51492
ptp4l[52518.216]: master offset -102 s2 freq -7236 path delay 51492
ptp4l[52519.216]: master offset -2551 s2 freq -10142 path delay 52478
ptp4l[52520.216]: master offset -1582 s2 freq -10594 path delay 53035
ptp4l[52521.216]: master offset -90 s2 freq -9519 path delay 53035
ptp4l[52522.216]: master offset 543 s2 freq -8594 path delay 53035
ptp4l[52523.216]: master offset -958 s2 freq -8997 path delay 54242
ptp4l[52524.216]: master offset -656 s2 freq -9885 path delay 54242
ptp4l[52525.216]: master offset -735 s2 freq -9723 path delay 54242
ptp4l[52526.216]: master offset 2322 s2 freq -8113 path delay 53035
ptp4l[52527.216]: master offset 1049 s2 freq -8521 path delay 53035
ptp4l[52528.216]: master offset 575 s2 freq -8585 path delay 53035
ptp4l[52529.216]: master offset 2479 s2 freq -7484 path delay 51843
ptp4l[52530.216]: master offset -655 s2 freq -8534 path delay 53237
ptp4l[52531.216]: master offset -3311 s2 freq -10634 path delay 54517
ptp4l[52532.216]: master offset -1199 s2 freq -9462 path delay 54517
ptp4l[52533.216]: master offset -542 s2 freq -9120 path delay 55101
ptp4l[52534.216]: master offset 529 s2 freq -8762 path delay 54517
ptp4l[52535.216]: master offset 2668 s2 freq -8258 path delay 51809
ptp4l[52536.216]: master offset 4866 s2 freq -7613 path delay 48985
ptp4l[52537.216]: master offset 2497 s2 freq -8015 path delay 48985
ptp4l[52538.216]: master offset 3183 s2 freq -7700 path delay 48012
ptp4l[52539.216]: master offset 3050 s2 freq -7731 path delay 48012
ptp4l[52540.216]: master offset -2442 s2 freq -8956 path delay 51809
ptp4l[52541.216]: master offset -5123 s2 freq -9862 path delay 53957
ptp4l[52542.216]: master offset -3089 s2 freq -9278 path delay 53957
ptp4l[52543.217]: master offset -1177 s2 freq -8960 path delay 52186
ptp4l[52544.216]: master offset -1132 s2 freq -9018 path delay 52186
ptp4l[52545.217]: master offset -1822 s2 freq -8931 path delay 52186
ptp4l[52546.217]: master offset 2700 s2 freq -8034 path delay 48389
ptp4l[52547.217]: master offset 39 s2 freq -9219 path delay 49659
ptp4l[52548.217]: master offset 276 s2 freq -8977 path delay 49659
ptp4l[52549.217]: master offset -2340 s2 freq -8971 path delay 52804
ptp4l[52550.217]: master offset -2604 s2 freq -8968 path delay 52804
ptp4l[52551.217]: master offset -2020 s2 freq -8958 path delay 52804
ptp4l[52552.217]: master offset 304 s2 freq -8816 path delay 49659
ptp4l[52553.217]: master offset 1610 s2 freq -8671 path delay 48560
ptp4l[52554.217]: master offset 3023 s2 freq -8503 path delay 47050
ptp4l[52555.217]: master offset 4238 s2 freq -8378 path delay 45505
It is possible the PLL is going nuts on startup?
> Also if you have the kernel documentation installed, you can use
> Documentation/ptp/testptp.c in order to read the PTP hardware clock
> directly.
>
> Try building that and running
Tried, failed:
kong ptp # make testptp
cc testptp.c -o testptp
/tmp/ccfvNFmZ.o: In function `main':
testptp.c:(.text+0xa78): undefined reference to `timer_create'
testptp.c:(.text+0xad8): undefined reference to `timer_settime'
testptp.c:(.text+0xb04): undefined reference to `timer_delete'
testptp.c:(.text+0xb50): undefined reference to `timer_create'
testptp.c:(.text+0xbbf): undefined reference to `timer_settime'
collect2: error: ld returned 1 exit status
<builtin>: recipe for target 'testptp' failed
make: *** [testptp] Error 1
Ideas?
> ./testptp -g -d /dev/ptpX
>
> Where ptpX is your device's ptp device, which you can see via ethtool
> -T
>
> You can use that to sanity check whether the PTP device is being set
> correctly. It should match your remote PTP master's time.
If I can build it...
RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97701
[email protected] 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel