diff -up ntp-dev-4.2.5p205/ntpd/ntp_io.c.orig ntp-dev-4.2.5p205/ntpd/ntp_io.c
--- ntp-dev-4.2.5p205/ntpd/ntp_io.c.orig	2009-08-09 13:03:48.000000000 +0200
+++ ntp-dev-4.2.5p205/ntpd/ntp_io.c	2009-08-19 13:21:13.000000000 +0200
@@ -518,6 +518,7 @@ collect_timing(struct recvbuf *rb, const
 void
 init_io(void)
 {
+	return;
 #ifdef SYS_WINNT
 	init_io_completion_port();
 #endif /* SYS_WINNT */
diff -up ntp-dev-4.2.5p205/ntpd/ntp_loopfilter.c.orig ntp-dev-4.2.5p205/ntpd/ntp_loopfilter.c
--- ntp-dev-4.2.5p205/ntpd/ntp_loopfilter.c.orig	2009-05-06 13:02:39.000000000 +0200
+++ ntp-dev-4.2.5p205/ntpd/ntp_loopfilter.c	2009-08-19 13:33:33.000000000 +0200
@@ -140,7 +140,7 @@ static u_int loop_tai;		/* last TAI offs
  */
 int	ntp_enable = 1;		/* clock discipline enabled */
 int	pll_control;		/* kernel support available */
-int	kern_enable = 1;	/* kernel support enabled */
+int	kern_enable = 0;	/* kernel support enabled */
 int	pps_enable;		/* kernel PPS discipline enabled */
 int	ext_enable;		/* external clock enabled */
 int	pps_stratum;		/* pps stratum */
@@ -701,6 +701,7 @@ adj_host_clock(
 	 */
 	sys_rootdisp += clock_phi;
 
+	return;
 #ifndef LOCKCLOCK
 	/*
 	 * If clock discipline is disabled or if the kernel is enabled,
@@ -871,6 +872,7 @@ loop_config(
 			break;
 
 		pll_control = 1;
+		break;
 		memset(&ntv, 0, sizeof(ntv));
 		ntv.modes = MOD_BITS;
 		ntv.status = STA_PLL;
diff -up ntp-dev-4.2.5p205/ntpd/ntp_refclock.c.orig ntp-dev-4.2.5p205/ntpd/ntp_refclock.c
--- ntp-dev-4.2.5p205/ntpd/ntp_refclock.c.orig	2009-08-19 13:20:29.000000000 +0200
+++ ntp-dev-4.2.5p205/ntpd/ntp_refclock.c	2009-11-24 17:48:07.000000000 +0100
@@ -39,6 +39,7 @@
 #include "refclock_atom.h"
 #endif /* HAVE_PPSAPI */
 
+#include <sys/un.h>
 /*
  * Reference clock support is provided here by maintaining the fiction
  * that the clock is actually a peer.  As no packets are exchanged with
@@ -410,6 +411,34 @@ refclock_process_offset(
 	L_SUB(&lftemp, &lastrec);
 	LFPTOD(&lftemp, doffset);
 	SAMPLE(doffset + fudge);
+
+	if (sys_peer != NULL && sys_peer->procptr == pp) {
+		struct sock_sample {
+			struct timeval tv;
+			double offset;
+			int pulse;
+			int leap;
+			int _pad;
+			int magic;
+		} sample;
+
+		struct sockaddr_un s = {AF_UNIX, "/tmp/chrony.sock"};
+		int chronyfd = socket(AF_UNIX, SOCK_DGRAM, 0);
+
+		TSTOTV(&lastrec, &sample.tv);
+		sample.tv.tv_sec -= JAN_1970;
+		sample.offset = doffset + fudge;
+		sample.pulse = 0;
+		sample.leap = pp->leap;
+		sample.magic = 0x534f434b;
+		if (connect(chronyfd, (struct sockaddr *)&s, sizeof (s))) {
+			printf("failed to connect to chrony socket\n");
+		} else {
+			send(chronyfd, &sample, sizeof (sample), 0);
+		}
+		close(chronyfd);
+		printf("%.9f\n", doffset + fudge);
+	}
 }
 
 
@@ -1221,6 +1250,7 @@ refclock_params(
 		return (0);
 	}
 
+#if 0
 	/*
 	 * If flag3 is lit, select the kernel PPS.
 	 */
@@ -1236,6 +1266,7 @@ refclock_params(
 		}
 		pps_enable = 1;
 	}
+#endif
 	return (1);
 }
 
diff -up ntp-dev-4.2.5p205/ntpd/ntp_timer.c.orig ntp-dev-4.2.5p205/ntpd/ntp_timer.c
--- ntp-dev-4.2.5p205/ntpd/ntp_timer.c.orig	2009-08-19 13:20:29.000000000 +0200
+++ ntp-dev-4.2.5p205/ntpd/ntp_timer.c	2009-08-19 13:20:40.000000000 +0200
@@ -275,6 +275,7 @@ timer(void)
 	for (n = 0; n < NTP_HASH_SIZE; n++) {
 		for (peer = peer_hash[n]; peer != 0; peer = next_peer) {
 			next_peer = peer->next;
+#if 0
 			if (peer->action && peer->nextaction <=
 			    current_time)
 				peer->action(peer);
@@ -287,19 +288,23 @@ timer(void)
 			 */
 			if (peer->throttle > 0)
 				peer->throttle--;
+#endif
 			if (peer->nextdate <= current_time) {
 #ifdef REFCLOCK
 				if (peer->flags & FLAG_REFCLOCK)
 					refclock_transmit(peer);
+#if 0
 				else
 					transmit(peer);
 #else /* REFCLOCK */
 				transmit(peer);
 #endif /* REFCLOCK */
+#endif
 			}
 		}
 	}
 
+#if 0
 	/*
 	 * Orphan mode is active when enabled and when no servers less
 	 * than the orphan statum are available. A server with no other
@@ -401,6 +406,7 @@ timer(void)
 		if (sys_tai != 0 && sys_time.l_ui > leap_expire)
 			report_event(EVNT_LEAPVAL, NULL, NULL);
 	}
+#endif
 }
 
 
