Yo Jacob E! On Tue, 24 Feb 2015 22:32:40 +0000 "Keller, Jacob E" <jacob.e.kel...@intel.com> 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 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