Tôi đã đọc về việc biên dịch NTP với timepps.h được cung cấp để nhận hỗ trợ PPS. Có cách nào dễ dàng để kiểm tra phiên bản đã được biên dịch sẵn hoặc cài đặt sẵn của kho lưu trữ ( Ubuntu 14.04.1, Kernel 3.13.0-37 ) để hỗ trợ PPS không?
CHỈNH SỬA một số googles sau ...
Tôi đã chèn cái này vào /etc/ntp.conf
và khởi động lại ntpd. Có vẻ cấu hình này là chính xác? Tôi đang sử dụng này GPS bảng breakout trên /dev/ttyS0
. Theo tài liệu này sẽ đáp ứng GPS với PPS. Tốc độ truyền là 9600 .
server 127.127.20.0 mode 18 minpoll 4 iburst prefer true
fudge 127.127.20.0 flag1 1 flag2 0 flag3 1 flag4 1
Tôi đã dành một chút thời gian để làm cho nó hoạt động vì apparmor đã chặn ntpd mở cổng nối tiếp. Tôi đã tìm ra điều đó từ các syslos. Vì vậy, tôi đã thêm dòng này vào /etc/apparmor.d/tunables/ntpd
. Sau đó, nó làm việc.
@{NTPD_DEVICE}="/dev/ttyS0"
Các quyền trên thiết bị là
$ ll /dev/ttyS0 /dev/pps* /dev/gps*
lrwxrwxrwx 1 root root 5 Okt 18 23:00 /dev/gps0 -> ttyS0
lrwxrwxrwx 1 root root 4 Okt 18 23:00 /dev/gpspps0 -> pps0
crw-rw-rw- 1 root dialout 251, 0 Okt 18 23:00 /dev/pps0
crw-rw-rw- 1 root dialout 4, 64 Okt 18 23:09 /dev/ttyS0
$ id ntp
uid=106(ntp) gid=113(ntp) Gruppen=113(ntp),20(dialout)
Để đạt được điều này vĩnh viễn tôi đã tạo ra một số quy tắc udev . Trong khi đó lệnh setserial dường như không có hiệu lực nếu tôi kiểm tra cổng setserial -a /dev/ttyS0
sau khi khởi động hệ thống.
$ cat /etc/udev/rules.d/09-pps.rules
# Provide a symlink to /dev/ttyS0 and set low_latency for latency improvement
KERNEL=="ttyS0", SYMLINK+="gps0", MODE="0666"
KERNEL=="ttyS0", RUN+="/bin/setserial /dev/%k low_latency"
KERNEL=="ttyS0", RUN+="/usr/sbin/ldattach pps /dev/%k"
# Symlink /dev/pps0 to /dev/gpspps0
KERNEL=="pps0", SUBSYSTEM=="pps", DRIVER=="", SYMLINK+="gpspps0"
KERNEL=="pps0", GROUP="dialout"
KERNEL=="pps0", MODE="0666"
Sau đó tôi phải xóa /var/lib/ntp/ntp.conf.dhcp
một lần. Bởi vì nó có nguồn gốc từ /etc/ntp.conf
bất kỳ sự kiện DHCP nào hoặc chỉ cần khởi động lại. Vì vậy, nó sẽ tạo ra một cái mới khi khởi động.
Tôi vẫn cần nhập 127.127.22. * (Trình điều khiển ATOM PPS)? Bởi vì như đã nêu trong tài liệu nếu tôi sử dụng flag1=1
PPS sẽ được sử dụng ngầm? Không, nó chỉ hoạt động với GPS NMEA (127.127.20.u).
Đầu ra của tôi ntpq -p
bây giờ
remote refid st t when poll reach delay offset jitter
==============================================================================
-fritz.box 185.31.136.34 3 u 36 64 177 0.298 4.496 0.076
*arcticfox.dorid 192.53.103.104 2 u 43 64 177 14.125 2.041 1.307
+monitman.com 158.43.128.33 2 u 44 64 177 25.325 4.703 0.314
+spacys.de 212.82.32.15 2 u 43 64 177 24.156 -1.503 2.094
-cse-server.com 122.227.206.195 3 u 38 64 177 24.372 -3.421 0.618
oGPS_NMEA(0) .GPS. 0 l 1 16 377 0.000 -0.270 0.024
Để hỗ trợ đồng hồ ATOM, tôi phải biên dịch ntp với hỗ trợ đồng hồ ATOM được bật.