NTP users are strongly urged to take immediate action to ensure that their NTP daemons are not susceptible to being used in distributed denial-of-service (DDoS) attacks. Please also take this opportunity to defeat denial-of-service attacks by implementing Ingress and Egress filtering through BCP38.
ntp-4.2.8p15 was released on 23 June 2020. It addresses 1 medium-severity security issue in ntpd, and provides 13 non-security bugfixes over 4.2.8p13.
Are you using Autokey in production? If so, please contact Harlan - he's got some questions for you.
Z3801A GPS receiver modifications
The Z3801A is a GPS timing receiver designed for CDMA base stations. Many of these devices are available on the surplus market for a modest price. Ham radio operators have discovered these surplus devices, most of the information contained here is taken from sources like K8CU
. The K8CU web page contains manuals and utility software for the Z3801A. Unfortunately, the Z3801A is built for telecom installations and needs to be modified for other uses. The changes require some soldering and mechanical modifications, but you get a very high quality time reference for a couple hundred dollars.
The Z3801A contains a GPS receiver and HP's best double-oven timebase. The timebase combined with HP's Smartclock technology create a timebase accurate to better than 1us when locked to GPS with a drift of less than 7uS per day when not locked to GPS. Jitter on the 1 PPS timing signal is better than 200nS making this a very high quality timebase for ntp applications. When locked to GPS this timebase is very close to the quality of an atomic timebase.
The Z3801A needs a few different modifications to work properly: The Z3801A serial interface is RS-422, but with a simple internal modification can be converted to RS-232 for use with most computers. The Z3801A is designed to run off an external DC power supply, a power supply can be fitted in the case so that it can be run off normal 100-220v mains. The Z3801A provides a pulse-per-second signal in a format not suitable for an RS-232 port, with a small modification the pulse-per-second signal can be modified for precision timing with ntp and the PPS driver. Finally, after the hardware modifications are made a few non-volatile parameters need to be set in the device so that it will work with ntp.
Power supply modification
The chassis of an unmodifed Z3801A is shown below. You need a Torx T10 to get the cover off, you will also need a Torx T12 for some of the other fasteners. There is a reasonably large empty space near the front panel on the right side of this image where a power supply can be fitted. It seems that there are two different versions of the Z3801A, one requires 48v DC and the other requires 24v DC. I have only seen the "BSC" model that requires 48v and that is what I cover here. If you have the 24v unit you will need to modify your power supply selection accordingly.
A good power supply for this application is available from Digikey
. You can also get a snap-in IEC power connector from Digikey that accepts a standard power cord. Remove the DC power jack from the chassis. Cut off the external power connector, but save the internal connector and use this to connect to the power supply.
Use a sheet metal nibbler tool to enlarge the hole for the DC power connector to a rectangle 0.78" by 1.079". The IEC power connector should snap in the hole and if you are careful you can maintain a cosmetic finish on the back panel. I recommend that you remove the internal PCBs while drilling and nibbling the sheet metal chassis, a small metal scrap can cause big problems on the PCB.
The power supply has threaded mounting holes for #6 screws. Drill two holes in the bottom of the chassis and mount the power supply as shown in the photo below. Wire mains power to the power supply and DC output to the PCB. Note that the black wire connects to V- on the power supply and the red wire connects to V+ on the power supply. This is actually a little confusing because the Z3801A manual says that the device runs off -48v. No worrys, the device is diode protected against hooking up the power backwards. After you hook things up, apply power and you should see the power light and a short test of the other LEDs.
The Digikey parts used for the power modification are as follows:
48v power supply 62-1043-ND
AC power connector CCM1402
Nibbler tool for sheet metal GC395-ND
The finished unit with power supply and connector and other modifications is shown below. The unit runs a little hot but I don't think this is a problem. The double oven oscillator trys to keep the oscillator at 50C. As a result, everything in box tends to get close to 50C over time.
RS-232 and PPS modification
The Z3801A is an RS-422 device, but has an unused internal RS-232 option we can use. In the area near the DB25 connector is a place for 0.1" headers. These can be purchase from Digikey and installed as shown in the figure below. Jumpers select between RS-422 and RS-232 operation. If you like you can just install wires in the RS-232 positions shown jumpered in this picture.
The RS-232 conversion also requires that you remove 5 resistors from the bottom of the PCB. These zero-ohm resistors are shown in the following image of the bottom of the PCB.
The remaining modification is for the PPS signal. For the PPSAPI you need a signal on pin-8 of the DB-25. This will connect to pin-8 on a DB-25 serial port or pin-1 of a DB9 serial port on the host computer.
The Z3801A provides a high quality PPS signal, but not in a format suitable for RS-232. This modification adds a couple of wires to provide the PPS signal at RS-232 levels. First cut the trace coming from pin-8 of the DB-25 on the bottom of the PCB. This is circled in the image below. Second, solder a wire from pin-8 of the DB-25 to pin-1 of J13. Identify J13 on the silkscreen on the top of the PCB, but the solder the wire on the bottom of the PCB. The wire is shown in the following image. Pin-1 of J13 is the pin with the square solder pad, the other pads are round. Finally, on the top sode of the board lift pin-12 of the LT1180 and solder a wire from the lifted pin-12 of the LT1180 to pin-2 of the Lucent 1141LL nearby. A close-up image of the wire from the lifted pin of the the LT1180 is shown below. It is important that neither the pin or the wire touch the PCB pad for pin-12.
With the modification, the device has the following RS-232 signals:
Pin 1 Ground
Pin 2 Tx
Pin 3 Rx
Pin 8 PPS (DCD)
Once the hardware modifications are complete, a few firmware options need to be configured for use with ntp. These can be done with any 19200 baud, 7-bit data, odd parity terminal program, but it is probably a lot easier to use the HP StatStat program to configure the device. You can get the program from the K8CU web site mentioned above.
The device maintains the last position where it locked to GPS. Connect a cable from the Windows PC to the Z3801A and launch the StatStat program. Configure the connection and it should find the device and display information about the device.
After connecting a GPS antenna, the device might take a very long time to lock or possibly not lock at all until you issue the menu command Control->Survey. The GPS receiver will re-calculate the current position and save this as the default location. This might take several hours. A progress indicator is shown on the StatStat screen. Once the device knows its current location it will lock a few minutes after power up.
The device needs to be configured to report UTC time, it seems that many of these devices are configured to report GPS time. From the command window issue the command "diag:gps:utc 1" and power cycle the box. The status window should start reporting UTC time.
The device needs to be configured to report time in "format 2". From the command line send the command ":ptime:tcode:format F2". You can verify the format with the command ":ptime:tcode:format?" which should report "F2". You can verify UTC time reporting with the command ":diag:gps:utc?" which should return "1". Once configured the device will remember these settings after a power cycle, the box should recover unattended after a power outage.
A typical configuration for the Z3801A is shown below. Be sure and create symbolic links from
to the serial port device connected to the Z3801A.
# GPS timecode
server 127.127.26.0 prefer ttl 1
fudge 127.127.26.0 time1 -0.96738
# GPS pulse per second on DCD pin
The computer should quickly lock to the GPS timecode and then lock to the PPS signal. The host operating system needs to be compatible with the PPSAPI in order to lock to the PPS signal. Once locked and after several hours of time to settle, you should seen timing information something like this:
remote refid st t when poll reach delay offset jitter
+GPS_HP(0) .GPS. 0 l 22 64 377 0.000 0.045 2.323
oPPS(0) .PPS. 0 l 10 16 377 0.000 -0.003 0.001
Jeff Mock (firstname.lastname@example.org