Làm cách nào để kiểm tra xem daemon NTP của tôi có hỗ trợ PPS không?


3

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.confvà 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/ttyS0sau 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.dhcpmột lần. Bởi vì nó có nguồn gốc từ /etc/ntp.confbấ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=1PPS 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 -pbâ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.

Câu trả lời:


0

Tại sao không làm cho nó dễ dàng với chính mình và cố gắng sử dụng chức năng PPS. Chỉnh sửa tệp cấu hình của bạn và để bao gồm cờ PPS có liên quan và bắt đầu ntpd. Điều này có vẻ quá rõ ràng Tôi không chắc chắn nếu tôi thiếu một ràng buộc.

Tôi không rõ ý của bạn về "phiên bản cài đặt của kho" là gì? Bạn có nghĩa là phân phối linux? Nếu bạn làm câu trả lời là có nhưng nó phụ thuộc vào phân phối bạn đang sử dụng. Nhưng chỉ cố gắng sử dụng PPS có vẻ như là thử nghiệm tốt nhất.

Xây dựng lại ntp với sự hỗ trợ của PPS

Khi bạn xác minh rằng bạn có thiết bị gps được cấu hình rõ ràng, bạn có thể xây dựng lại ntp với sự hỗ trợ của pps bằng cách:

 # apt-get build-dep ntp
 # apt-get install pps-tools ubuntu-dev-tools
 # apt-get source ntp
 # cd <The ntp version directory something like ntp-4.2.6.p5+dfsg >
 # dpkg-buildpackage -uc -us -nc 
 # dpkg -i ../ntp*.deb 

Để tránh apt không cài đặt phiên bản mới, một lần nữa không có hỗ trợ đồng hồ ATOM, hãy sử dụng

 # echo ntp hold  | dpkg --set-selections

Cảm ơn vi đa trả lơi. Ý tôi là kho lưu trữ Ubuntu> = 14.04.1. Ok, vậy tôi có mong đợi một thông báo lỗi nếu NTP không thể hỗ trợ PPS không?
wenzul

Tôi không nghĩ PPS được bật theo mặc định với ubfox. Bạn có thể thêm đầu ra ntpq -pcrvcho câu hỏi của bạn? Nếu GPS hoàn toàn không hiển thị, điều đó rất có thể có nghĩa là bạn gặp vấn đề với cấu hình của thiết bị nối tiếp. Là người dùng ntp trong nhóm quay số hay bất cứ nhóm nào sở hữu pps0 và cổng nối tiếp? Tôi sẽ thêm hướng dẫn để xây dựng lại ntp với pps.
dfc

1
PPS không được kích hoạt. Dấu hoa thị bên cạnh GPS sẽ là một ostatic-ip.blah in PPS vì nó được đồng bộ hóa với nguồn PPS.
dfc

Tòa nhà đã làm điều đó! Cảm ơn rât nhiều. Bây giờ nó xuất hiện oGPS_NMEA(0). Cảm ơn các bước xây dựng ở trên! Làm cho cuộc sống dễ dàng hơn. Biên dịch thất bại tại một bản in gỡ lỗi trong refclock_jupiter.c. Đã sửa nó rồi nó hoạt động. Sau khi tôi đặt time2 oxuất hiện. Vì vậy, tôi không cần thêm một PPS Clock Disciplinemục trong ntp.conf phải không? Hơn nữa, tôi nên sử dụng giảm hoặc tăng cạnh (flag2)? Và tôi nên sử dụng đồng hồ ntp hoặc kỷ luật kernel? Tôi đã đọc rằng kỷ luật đồng hồ min / maxpoll 4 và ntp tốt hơn hạt nhân do thuật toán trung bình.
wenzul

Tôi đã trả lời một số câu hỏi ntp cho bạn và bạn đã đánh dấu bất kỳ câu hỏi nào được chấp nhận. Thay vì mở rộng trọng tâm của câu hỏi này, vui lòng đánh dấu nó là được chấp nhận nếu tôi trả lời câu hỏi của bạn về việc xác minh hỗ trợ PPS và hoặc cách xây dựng với hỗ trợ PPS. Nếu bạn có câu hỏi khác xin vui lòng tạo một bài viết mới và tôi sẽ sẵn lòng giúp đỡ.
dfc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.