<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for SyncEvolution - The Missing Link</title>
	<atom:link href="http://www.estamos.de/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.estamos.de/blog</link>
	<description>About SyncEvolution, writing software and more.</description>
	<lastBuildDate>Sun, 04 Jul 2010 13:39:24 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1-beta1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Running SyncEvolution as cron Job by Sync Multiple Calendars on the Nokia N900 &#124; Maemo Nokia N900</title>
		<link>http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/comment-page-1/#comment-53948</link>
		<dc:creator>Sync Multiple Calendars on the Nokia N900 &#124; Maemo Nokia N900</dc:creator>
		<pubDate>Sun, 04 Jul 2010 13:39:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/?p=139#comment-53948</guid>
		<description>[...] we want.  I used alarmd (available in extras-devel) to do this.  I used a tip from here: http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/ to setup the alarm command.  To save you the jump [...]</description>
		<content:encoded><![CDATA[<p>[...] we want.  I used alarmd (available in extras-devel) to do this.  I used a tip from here: http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/ to setup the alarm command.  To save you the jump [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on iPhone Address Book Synchronization with SyncEvolution: The Making Of by iPhone &#38; Ubuntu notes&#8230; &#124; sephiroth.it</title>
		<link>http://www.estamos.de/blog/2007/10/29/iphone-address-book-synchronization-with-syncevolution-the-making-of/comment-page-1/#comment-53623</link>
		<dc:creator>iPhone &#38; Ubuntu notes&#8230; &#124; sephiroth.it</dc:creator>
		<pubDate>Sun, 20 Jun 2010 13:14:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/10/29/iphone-address-book-synchronization-with-syncevolution-the-making-of/#comment-53623</guid>
		<description>[...] For a full AddressBook sync you can read more here: http://www.estamos.de/blog/&#8230;the-making-of/ [...]</description>
		<content:encoded><![CDATA[<p>[...] For a full AddressBook sync you can read more here: <a href="http://www.estamos.de/blog/&#8230;the-making-of/" rel="nofollow">http://www.estamos.de/blog/&#8230;the-making-of/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Linux 2.6.30: Hardware Assisted Time Stamping of Network Packets by Patrick Ohly</title>
		<link>http://www.estamos.de/blog/2009/07/01/linux-2-6-30-hardware-assisted-time-stamping-of-network-packets/comment-page-1/#comment-51390</link>
		<dc:creator>Patrick Ohly</dc:creator>
		<pubDate>Mon, 29 Mar 2010 13:09:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/?p=174#comment-51390</guid>
		<description>Dries, hardware time stamping can be applied to all incoming packets, but in the 82576 hardware there is a risk that time stamps get lost. For more information better contact the Intel driver team.</description>
		<content:encoded><![CDATA[<p>Dries, hardware time stamping can be applied to all incoming packets, but in the 82576 hardware there is a risk that time stamps get lost. For more information better contact the Intel driver team.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Linux 2.6.30: Hardware Assisted Time Stamping of Network Packets by Dries</title>
		<link>http://www.estamos.de/blog/2009/07/01/linux-2-6-30-hardware-assisted-time-stamping-of-network-packets/comment-page-1/#comment-50996</link>
		<dc:creator>Dries</dc:creator>
		<pubDate>Fri, 19 Mar 2010 15:23:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/?p=174#comment-50996</guid>
		<description>Does the hardware assistance also include time-stamping of incoming packages? I need to have the time-stamp value of incoming packages as accurate as possible. What is the best way to do this, and how does this work relate to my problem?

Thanks.
Regards,
Dries.</description>
		<content:encoded><![CDATA[<p>Does the hardware assistance also include time-stamping of incoming packages? I need to have the time-stamp value of incoming packages as accurate as possible. What is the best way to do this, and how does this work relate to my problem?</p>
<p>Thanks.<br />
Regards,<br />
Dries.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SyncML Client for KDE4 by rune</title>
		<link>http://www.estamos.de/blog/2009/02/15/syncml-client-for-kde4/comment-page-1/#comment-50036</link>
		<dc:creator>rune</dc:creator>
		<pubDate>Wed, 17 Feb 2010 22:47:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/?p=133#comment-50036</guid>
		<description>confusionplusplus, you are an idiot. 

Stick to Microsoft and come back and comment when you&#039;ve got a clue.</description>
		<content:encoded><![CDATA[<p>confusionplusplus, you are an idiot. </p>
<p>Stick to Microsoft and come back and comment when you&#8217;ve got a clue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SyncEvolution Available for Nokia N810 by Synchronisationsgeschichten (3): Adressbuch synchronisieren &#124; maemonews.de</title>
		<link>http://www.estamos.de/blog/2008/01/29/syncevolution-available-for-nokia-n810/comment-page-1/#comment-49645</link>
		<dc:creator>Synchronisationsgeschichten (3): Adressbuch synchronisieren &#124; maemonews.de</dc:creator>
		<pubDate>Thu, 04 Feb 2010 06:57:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2008/01/29/syncevolution-available-for-nokia-n810/#comment-49645</guid>
		<description>[...] existieren eine Menge Fallstricke, die ich bei meinen ersten Installationsversuchen auch brav alle mitgenommen habe. Dank diverser Hinweise des Programmautors hats dann aber irgendwann doch noch [...]</description>
		<content:encoded><![CDATA[<p>[...] existieren eine Menge Fallstricke, die ich bei meinen ersten Installationsversuchen auch brav alle mitgenommen habe. Dank diverser Hinweise des Programmautors hats dann aber irgendwann doch noch [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Magic Tricks Revealed: How SyncML Works and When It Fails by Peter T</title>
		<link>http://www.estamos.de/blog/2008/11/04/magic-tricks-revealed-how-syncml-works-and-when-it-fails/comment-page-1/#comment-49095</link>
		<dc:creator>Peter T</dc:creator>
		<pubDate>Thu, 21 Jan 2010 22:13:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/?p=89#comment-49095</guid>
		<description>Thanks for the interesting item. I&#039;m just coming to SyncML on my N900 and finding out all the wrinkles.</description>
		<content:encoded><![CDATA[<p>Thanks for the interesting item. I&#8217;m just coming to SyncML on my N900 and finding out all the wrinkles.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Linux 2.6.30: Hardware Assisted Time Stamping of Network Packets by Christopher Johnston</title>
		<link>http://www.estamos.de/blog/2009/07/01/linux-2-6-30-hardware-assisted-time-stamping-of-network-packets/comment-page-1/#comment-45278</link>
		<dc:creator>Christopher Johnston</dc:creator>
		<pubDate>Tue, 20 Oct 2009 22:27:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/?p=174#comment-45278</guid>
		<description>Is PTPv2 supported with the client and with Intel 82576 NICs with the Kernel hardware assisted timestamping?</description>
		<content:encoded><![CDATA[<p>Is PTPv2 supported with the client and with Intel 82576 NICs with the Kernel hardware assisted timestamping?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Linux 2.6.30: Hardware Assisted Time Stamping of Network Packets by Barry</title>
		<link>http://www.estamos.de/blog/2009/07/01/linux-2-6-30-hardware-assisted-time-stamping-of-network-packets/comment-page-1/#comment-44553</link>
		<dc:creator>Barry</dc:creator>
		<pubDate>Sun, 27 Sep 2009 03:33:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/?p=174#comment-44553</guid>
		<description>Patrick Ohly,
Thank you very much for you bring-up hardware timestamp supporting in ptpd. I am using it, but unfortunately it doesn&#039;t work.
Case 1:
master Sep 27 2009,  slave Jan 5 1970, running ptpd -z linux_hw -g in slave, the log is:

root:/&gt; ptpd -z linux_hw -g

(ptpd debug) allocated 1264 bytes for protocol engine data
(ptpd debug) allocated 600 bytes for foreign master data
(ptpd debug) event POWERUP
(ptpd debug) state PTP_INITIALIZING
(ptpd debug) manufacturerIdentity: Kendall;1.0.0
(ptpd debug) netInit
(ptpd debug) initData
(ptpd debug) initTimer
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) sync message interval: 2
(ptpd debug) clock identifier: DFLT
(ptpd debug) 256*log2(clock variance): -4000
(ptpd debug) clock stratum: 4
(ptpd debug) clock preferred?: no
(ptpd debug) bound interface name: eth0
(ptpd debug) communication technology: 1
(ptpd debug) uuid: 00:e0:22:fe:5c:e0
(ptpd debug) PTP subdomain name: _DFLT
(ptpd debug) subdomain address: e0.0.1.81
(ptpd debug) event port address: 3f 1
(ptpd debug) general port address: 40 1
(ptpd debug) state PTP_LISTENING
(ptpd debug) updateForeign: new record (0,1) 1 1 00:22:19:0a:46:7d
(ptpd debug) state PTP_PTP_SLAVE
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) Q = 0, R = 6
(ptpd notice) resetting system clock to 1254021169s 935610415ns
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:      -1253605562s  -863610415ns
(ptpd debug) observed drift:          0
(ptpd notice) resetting system clock to 2134629930s 225735894ns
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:      -880608758s  -290125894ns
(ptpd debug) observed drift:          0
(ptpd info) requested adj 11420 ppb =&gt; adjust system frequency by 742300 scaled ppm (11420 ppb) + 0 us/tick (0 ppb) = adj 11420 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:               0s     -113078ns
(ptpd debug) observed drift:       -113
(ptpd info) requested adj 25746 ppb =&gt; adjust system frequency by 1673490 scaled ppm (25746 ppb) + 0 us/tick (0 ppb) = adj 25746 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:               0s     -253807ns
(ptpd debug) observed drift:       -366
(ptpd info) requested adj 24677 ppb =&gt; adjust system frequency by 1604005 scaled ppm (24677 ppb) + 0 us/tick (0 ppb) = adj 24677 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:               0s     -240717ns
(ptpd debug) observed drift:       -606
(ptpd debug) Q = 0, R = 20
(ptpd debug) handleDelayReq: self
(ptpd info) requested adj 18520 ppb =&gt; adjust system frequency by 1203800 scaled ppm (18520 ppb) + 0 us/tick (0 ppb) = adj 18520 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:               0s     -177371ns
(ptpd debug) observed drift:       -783
(ptpd info) requested adj 15849 ppb =&gt; adjust system frequency by 1030185 scaled ppm (15849 ppb) + 0 us/tick (0 ppb) = adj 15849 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:               0s     -149179ns
(ptpd debug) observed drift:       -932
(ptpd info) requested adj 14357 ppb =&gt; adjust system frequency by 933205 scaled ppm (14357 ppb) + 0 us/tick (0 ppb) = adj 14357 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:               0s     -132939ns
(ptpd debug) observed drift:      -1064
(ptpd info) requested adj 11621 ppb =&gt; adjust system frequency by 755365 scaled ppm (11621 ppb) + 0 us/tick (0 ppb) = adj 11621 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:               0s     -104531ns
(ptpd debug) observed drift:      -1168
(ptpd info) requested adj 7668 ppb =&gt; adjust system frequency by 498420 scaled ppm (7668 ppb) + 0 us/tick (0 ppb) = adj 7668 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:               0s      -64364ns
(ptpd debug) observed drift:      -1232
^C(ptpd notice) shutdown on interrupt signal

Then I check the time:
root:/&gt; date
Sun Aug 23 08:45:48 UTC 2037
root:/&gt;
The time is so much different with master&#039;s Sep 27 2009.

Case 2:
After that, I start-up slave ptpd again, then the log is:
root:/&gt; ptpd -z linux_hw -g
(ptpd debug) allocated 1264 bytes for protocol engine data
(ptpd debug) allocated 600 bytes for foreign master data
(ptpd debug) event POWERUP
(ptpd debug) state PTP_INITIALIZING
(ptpd debug) manufacturerIdentity: Kendall;1.0.0
(ptpd debug) netInit
(ptpd debug) initData
(ptpd debug) initTimer
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) sync message interval: 2
(ptpd debug) clock identifier: DFLT
(ptpd debug) 256*log2(clock variance): -4000
(ptpd debug) clock stratum: 4
(ptpd debug) clock preferred?: no
(ptpd debug) bound interface name: eth0
(ptpd debug) communication technology: 1
(ptpd debug) uuid: 00:e0:22:fe:5c:e0
(ptpd debug) PTP subdomain name: _DFLT
(ptpd debug) subdomain address: e0.0.1.81
(ptpd debug) event port address: 3f 1
(ptpd debug) general port address: 40 1
(ptpd debug) state PTP_LISTENING
(ptpd debug) updateForeign: new record (0,1) 1 1 00:22:19:0a:46:7d
(ptpd debug) state PTP_PTP_SLAVE
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) Q = 0, R = 6
(ptpd notice) resetting system clock to 766255858s 548470130ns
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:      1368374263s   670814870ns
(ptpd debug) observed drift:          0
(ptpd notice) resetting system clock to -1381227787s -451556678ns
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:      -2147483647s  -999973322ns
(ptpd debug) observed drift:          0
(ptpd notice) resetting system clock to -1381227785s -451539169ns
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:      -2147483647s  -999990831ns
(ptpd debug) observed drift:          0
(ptpd notice) resetting system clock to -1381227783s -451487406ns
(ptpd debug) initClock
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)
(ptpd error) adjtimex -&gt; time bad
(ptpd debug) offset from master:      -2147483648s      -42594ns
(ptpd debug) observed drift:          0
^C(ptpd notice) shutdown on interrupt signal

Now the time comes to:
root:/&gt; date
Wed Apr 13 16:51:06 UTC 1994
The time is still so much different with master&#039;s Sep 27 2009.

Case 3:
I simple changes the codes in drivers like:
                        timecompare_update(&amp;adapter-&gt;compare, ns);
                        shhwtstamps.hwtstamp = ns_to_ktime(ns);
                        shhwtstamps.syststamp =
-                                timecompare_transform(&amp;adapter-&gt;compare, ns);
+                                ktime_get_real();
I means replacing transformed hardware time-stamp by system time directly,  then then the slave time can sync with master right.

So I want to know whether &quot;ptpd -z linux_hw&quot; can really work.
In ptpd patched by you, there are many ioctl like E1000_TSYNC_SYSTIME_IOCTL,E1000_TSYNC_ADJTIME_IOCTL for &quot;both&quot; and &quot;nic&quot; mode, but the driver codes don&#039;t have them fulfilled. So do hardware timestamp must have them fulfilled to work?</description>
		<content:encoded><![CDATA[<p>Patrick Ohly,<br />
Thank you very much for you bring-up hardware timestamp supporting in ptpd. I am using it, but unfortunately it doesn&#8217;t work.<br />
Case 1:<br />
master Sep 27 2009,  slave Jan 5 1970, running ptpd -z linux_hw -g in slave, the log is:</p>
<p>root:/&gt; ptpd -z linux_hw -g</p>
<p>(ptpd debug) allocated 1264 bytes for protocol engine data<br />
(ptpd debug) allocated 600 bytes for foreign master data<br />
(ptpd debug) event POWERUP<br />
(ptpd debug) state PTP_INITIALIZING<br />
(ptpd debug) manufacturerIdentity: Kendall;1.0.0<br />
(ptpd debug) netInit<br />
(ptpd debug) initData<br />
(ptpd debug) initTimer<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) sync message interval: 2<br />
(ptpd debug) clock identifier: DFLT<br />
(ptpd debug) 256*log2(clock variance): -4000<br />
(ptpd debug) clock stratum: 4<br />
(ptpd debug) clock preferred?: no<br />
(ptpd debug) bound interface name: eth0<br />
(ptpd debug) communication technology: 1<br />
(ptpd debug) uuid: 00:e0:22:fe:5c:e0<br />
(ptpd debug) PTP subdomain name: _DFLT<br />
(ptpd debug) subdomain address: e0.0.1.81<br />
(ptpd debug) event port address: 3f 1<br />
(ptpd debug) general port address: 40 1<br />
(ptpd debug) state PTP_LISTENING<br />
(ptpd debug) updateForeign: new record (0,1) 1 1 00:22:19:0a:46:7d<br />
(ptpd debug) state PTP_PTP_SLAVE<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) Q = 0, R = 6<br />
(ptpd notice) resetting system clock to 1254021169s 935610415ns<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:      -1253605562s  -863610415ns<br />
(ptpd debug) observed drift:          0<br />
(ptpd notice) resetting system clock to 2134629930s 225735894ns<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:      -880608758s  -290125894ns<br />
(ptpd debug) observed drift:          0<br />
(ptpd info) requested adj 11420 ppb =&gt; adjust system frequency by 742300 scaled ppm (11420 ppb) + 0 us/tick (0 ppb) = adj 11420 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:               0s     -113078ns<br />
(ptpd debug) observed drift:       -113<br />
(ptpd info) requested adj 25746 ppb =&gt; adjust system frequency by 1673490 scaled ppm (25746 ppb) + 0 us/tick (0 ppb) = adj 25746 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:               0s     -253807ns<br />
(ptpd debug) observed drift:       -366<br />
(ptpd info) requested adj 24677 ppb =&gt; adjust system frequency by 1604005 scaled ppm (24677 ppb) + 0 us/tick (0 ppb) = adj 24677 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:               0s     -240717ns<br />
(ptpd debug) observed drift:       -606<br />
(ptpd debug) Q = 0, R = 20<br />
(ptpd debug) handleDelayReq: self<br />
(ptpd info) requested adj 18520 ppb =&gt; adjust system frequency by 1203800 scaled ppm (18520 ppb) + 0 us/tick (0 ppb) = adj 18520 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:               0s     -177371ns<br />
(ptpd debug) observed drift:       -783<br />
(ptpd info) requested adj 15849 ppb =&gt; adjust system frequency by 1030185 scaled ppm (15849 ppb) + 0 us/tick (0 ppb) = adj 15849 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:               0s     -149179ns<br />
(ptpd debug) observed drift:       -932<br />
(ptpd info) requested adj 14357 ppb =&gt; adjust system frequency by 933205 scaled ppm (14357 ppb) + 0 us/tick (0 ppb) = adj 14357 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:               0s     -132939ns<br />
(ptpd debug) observed drift:      -1064<br />
(ptpd info) requested adj 11621 ppb =&gt; adjust system frequency by 755365 scaled ppm (11621 ppb) + 0 us/tick (0 ppb) = adj 11621 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:               0s     -104531ns<br />
(ptpd debug) observed drift:      -1168<br />
(ptpd info) requested adj 7668 ppb =&gt; adjust system frequency by 498420 scaled ppm (7668 ppb) + 0 us/tick (0 ppb) = adj 7668 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:               0s      -64364ns<br />
(ptpd debug) observed drift:      -1232<br />
^C(ptpd notice) shutdown on interrupt signal</p>
<p>Then I check the time:<br />
root:/&gt; date<br />
Sun Aug 23 08:45:48 UTC 2037<br />
root:/&gt;<br />
The time is so much different with master&#8217;s Sep 27 2009.</p>
<p>Case 2:<br />
After that, I start-up slave ptpd again, then the log is:<br />
root:/&gt; ptpd -z linux_hw -g<br />
(ptpd debug) allocated 1264 bytes for protocol engine data<br />
(ptpd debug) allocated 600 bytes for foreign master data<br />
(ptpd debug) event POWERUP<br />
(ptpd debug) state PTP_INITIALIZING<br />
(ptpd debug) manufacturerIdentity: Kendall;1.0.0<br />
(ptpd debug) netInit<br />
(ptpd debug) initData<br />
(ptpd debug) initTimer<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) sync message interval: 2<br />
(ptpd debug) clock identifier: DFLT<br />
(ptpd debug) 256*log2(clock variance): -4000<br />
(ptpd debug) clock stratum: 4<br />
(ptpd debug) clock preferred?: no<br />
(ptpd debug) bound interface name: eth0<br />
(ptpd debug) communication technology: 1<br />
(ptpd debug) uuid: 00:e0:22:fe:5c:e0<br />
(ptpd debug) PTP subdomain name: _DFLT<br />
(ptpd debug) subdomain address: e0.0.1.81<br />
(ptpd debug) event port address: 3f 1<br />
(ptpd debug) general port address: 40 1<br />
(ptpd debug) state PTP_LISTENING<br />
(ptpd debug) updateForeign: new record (0,1) 1 1 00:22:19:0a:46:7d<br />
(ptpd debug) state PTP_PTP_SLAVE<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) Q = 0, R = 6<br />
(ptpd notice) resetting system clock to 766255858s 548470130ns<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:      1368374263s   670814870ns<br />
(ptpd debug) observed drift:          0<br />
(ptpd notice) resetting system clock to -1381227787s -451556678ns<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:      -2147483647s  -999973322ns<br />
(ptpd debug) observed drift:          0<br />
(ptpd notice) resetting system clock to -1381227785s -451539169ns<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:      -2147483647s  -999990831ns<br />
(ptpd debug) observed drift:          0<br />
(ptpd notice) resetting system clock to -1381227783s -451487406ns<br />
(ptpd debug) initClock<br />
(ptpd info) requested adj 0 ppb =&gt; adjust system frequency by 0 scaled ppm (0 ppb) + 0 us/tick (0 ppb) = adj 0 ppb (freq limit -504123/504123 ppm, tick limit -1000/1000 us*USER_HZ)<br />
(ptpd error) adjtimex -&gt; time bad<br />
(ptpd debug) offset from master:      -2147483648s      -42594ns<br />
(ptpd debug) observed drift:          0<br />
^C(ptpd notice) shutdown on interrupt signal</p>
<p>Now the time comes to:<br />
root:/&gt; date<br />
Wed Apr 13 16:51:06 UTC 1994<br />
The time is still so much different with master&#8217;s Sep 27 2009.</p>
<p>Case 3:<br />
I simple changes the codes in drivers like:<br />
                        timecompare_update(&amp;adapter-&gt;compare, ns);<br />
                        shhwtstamps.hwtstamp = ns_to_ktime(ns);<br />
                        shhwtstamps.syststamp =<br />
-                                timecompare_transform(&amp;adapter-&gt;compare, ns);<br />
+                                ktime_get_real();<br />
I means replacing transformed hardware time-stamp by system time directly,  then then the slave time can sync with master right.</p>
<p>So I want to know whether &#8220;ptpd -z linux_hw&#8221; can really work.<br />
In ptpd patched by you, there are many ioctl like E1000_TSYNC_SYSTIME_IOCTL,E1000_TSYNC_ADJTIME_IOCTL for &#8220;both&#8221; and &#8220;nic&#8221; mode, but the driver codes don&#8217;t have them fulfilled. So do hardware timestamp must have them fulfilled to work?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SyncEvolution 0.9 released by Csaba Kokai</title>
		<link>http://www.estamos.de/blog/2009/08/15/syncevolution-0-9-released/comment-page-1/#comment-44490</link>
		<dc:creator>Csaba Kokai</dc:creator>
		<pubDate>Fri, 25 Sep 2009 11:33:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/?p=184#comment-44490</guid>
		<description>Thanks yout great job</description>
		<content:encoded><![CDATA[<p>Thanks yout great job</p>
]]></content:encoded>
	</item>
</channel>
</rss>

