From owner-FreeBSD-users-jp@jp.freebsd.org  Fri Mar 24 18:07:10 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id SAA09008;
	Fri, 24 Mar 2000 18:07:10 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from gate.keisu.t.u-tokyo.ac.jp (gate.keisu.t.u-tokyo.ac.jp [133.11.68.1])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id SAA09002
	for <freebsd-users-jp@jp.freebsd.org>; Fri, 24 Mar 2000 18:07:10 +0900 (JST)
	(envelope-from simokawa@sat.t.u-tokyo.ac.jp)
Received: from sylph.sat.t.u-tokyo.ac.jp (sylph.sat.t.u-tokyo.ac.jp [10.6.1.20])
	by gate.keisu.t.u-tokyo.ac.jp (Postfix) with ESMTP
	id 675353DD3; Fri, 24 Mar 2000 18:07:06 +0900 (JST)
Received: from localhost (ett.sat.t.u-tokyo.ac.jp [10.6.1.30])
	by sylph.sat.t.u-tokyo.ac.jp (Postfix) with ESMTP
	id 234EA2DAA9; Fri, 24 Mar 2000 18:07:06 +0900 (JST)
To: freebsd-users-jp@jp.freebsd.org
Cc: arimura@hn.is.uec.ac.jp
X-Face: OE([KxWyJI0r[R~S/>7ia}SJ)i%a,$-9%7{*yihQk|]gl}2p#"oXmX/fT}Bn7:#j7i14gu$
 jgR\S*&C3R/pJX<mI-4Z8'mqt1R'CjWdw-xqVoilv`\JgZcquM5oVuO^<vt/~051rCDM(`{rM~?{Ok
 r,XC+}Ycm9IJO)odT*-0nyJjBJYzL{GsZ
X-Mailer: Mew version 1.94.1 on XEmacs 21.2 (Shinjuku)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <20000324180705R.simokawa@sat.t.u-tokyo.ac.jp>
Date: Fri, 24 Mar 2000 18:07:05 +0900
From: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
X-Dispatcher: imput version 20000113(IM136)
Lines: 136
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 50775
Subject: [FreeBSD-users-jp 50775] ntpd for Furuno GPS
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: simokawa@sat.t.u-tokyo.ac.jp

$B2<@n$G$9(B.

$B0JA0(B 3.x $BMQ$N(B ntp $B$N(B port $BMQ$N(B patch $B$rN.$7$?$h$&$J5$$,$7$^$9$,(B, 
4.0 $B$G$O(B base distribution $B$KF~$j$^$7$?$N$G(B, $B$=$l$rMxMQ$9$k(B patch $B$G$9(B.

/\ Hidetoshi Shimokawa
\/  simokawa@sat.t.u-tokyo.ac.jp
PGP public key: finger -l simokawa@sat.t.u-tokyo.ac.jp

===========================================================
Furuno GPS TS-800/820 $B$r(B FreeBSD-4.0 $B$G;H$&J}K!(B

FreeBSD-4.0 $B$r(B source $B9~$_$G(B install $B$7$F$*$/(B.

kernel configuration:

- options PPS_SYNC $B$rF~$l$k(B ($BI,?\(B)
- apm $B$r(B comment out (disable $B$@$1$G$O$@$a(B) (TSC $B$r;H$$$?$1$l$P(B)
- crystal $B$N@:EY$,$o$k$1$l$P(B,

options        CLK_USE_I8254_CALIBRATION
options        CLK_USE_TSC_CALIBRATION

$B$H$+$7$F(B, $B<+F0E*$K(B calibration $B$9$k$H$+(B,

options        TIMER_FREQ=1193182 <- $B$3$3$OJQ$($k(B.

$B$H$+$7$F@5$7$$(B i8254 $B$N(B clock $B$r65$($F$"$2$k(B.

ntpd:

$BE:IU$N(B diff $B$r(B /usr/src $B$G(B "patch -p < diff" $B$7$F(B
/usr/src/usr.sbin/ntp $B$G(B make && make install $B$9$k(B.

ntp.conf:
"fudge 127.127.20.1 time1 -1" $B$rF~$l$J$$$H(B1$BIC$:$l$^$9(B.


Index: contrib/ntp/ntpd/ntp_refclock.c
===================================================================
RCS file: /pub/FreeBSD-CVS/src/contrib/ntp/ntpd/ntp_refclock.c,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 ntp_refclock.c
--- contrib/ntp/ntpd/ntp_refclock.c	2000/01/28 14:53:10	1.1.1.2
+++ contrib/ntp/ntpd/ntp_refclock.c	2000/03/24 01:46:32
@@ -1139,9 +1139,13 @@
 			    "refclock_ioctl: time_pps_setparams failed: %m");
 			return (0);
 		}
+#if 0
 		if (!pps_hardpps)
 			temp = 0;
 		else if (pps_assert)
+#else
+		if (pps_assert)
+#endif
 			temp = mode & PPS_CAPTUREASSERT;
 		else
 			temp = mode & PPS_CAPTURECLEAR;
Index: contrib/ntp/ntpd/refclock_nmea.c
===================================================================
RCS file: /pub/FreeBSD-CVS/src/contrib/ntp/ntpd/refclock_nmea.c,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 refclock_nmea.c
--- contrib/ntp/ntpd/refclock_nmea.c	2000/01/28 14:53:30	1.1.1.2
+++ contrib/ntp/ntpd/refclock_nmea.c	2000/03/24 01:46:32
@@ -103,7 +103,7 @@
 	 */
 	(void)sprintf(device, DEVICE, unit);
 
-	if (!(fd = refclock_open(device, SPEED232, LDISC_CLK)))
+	if (!(fd = refclock_open(device, SPEED232, LDISC_CLK | LDISC_PPS)))
 	    return (0);
 
 	/*
@@ -134,7 +134,16 @@
 	pp->clockdesc = DESCRIPTION;
 	memcpy((char *)&pp->refid, REFID, 4);
 	up->pollcnt = 2;
+
+	/* NMEA */
 	gps_send(pp->io.fd,"$PMOTG,RMC,0000*1D\r\n", peer);
+	/* TS-800 */
+	gps_send(pp->io.fd,
+		"$PFEC,GN-72,INT,ZDA00,GGA05,GSV00,VTG00,RMC01\r\n", peer);
+	/* TS-820 */
+	gps_send(pp->io.fd,
+	"$PFEC,GPint,ZDA00,GGA05,GSA00,GSV00,VTG00,RMC01,rrm00,tps00\r\n",
+									peer);
 
 	return (1);
 }
@@ -245,11 +254,13 @@
 		/*
 		 * Test for synchronization.  Check for quality byte.
 		 */
+#if 0
 		dp = field_parse(cp,2);
 		if( dp[0] != 'A')  {
 			refclock_report(peer, CEVNT_BADREPLY);
 			return;
 		}
+#endif
 		break;
 	    case GPXXX:
 		return;


-------------- ntp.conf ------------
#
# ntp.conf
#
server		127.127.20.1 prefer
fudge		127.127.20.1 time1 -1

#
# peer
#
peer	gps.nc.u-tokyo.ac.jp

#
# drift file
#
driftfile	/var/db/ntp.drift

#
# auth
#
enable auth

#
# stats
#
statsdir	/var/log/ntp/
statistics	loopstats clockstats
------------------------------------
