Я пытаюсь настроить ntpd на получение времени из приемника GPS ( BU-353S4
), но получаю некоторые ошибки.
Я использую ntpd 4.2.8.p6-3 и gpsd 3.16-2 на Arch Linux Arm. Я следил за учебником на вики-странице Arch , но в нем нет информации об устранении неполадок.
Журнал gpsd содержит запись
gpsd: ERROR: response: {"class": "ERROR", "message": "Нет такого устройства, как / dev / gps0"} \ x0d \ x0a
Повторяется каждые 6 секунд или около того, ничего кроме сообщений start, stop.
/ var / log / ntp.log содержит:
Listen and drop on 0 v6wildcard [::]:123
Listen and drop on 1 v4wildcard 0.0.0.0:123
Listen normally on 2 lo 127.0.0.1:123
Listen normally on 3 eth0 172.10.10.75:123
Listen normally on 4 lo [::1]:123
Listen normally on 5 eth0 [fe80::ba27:ebff:feba:af05%2]:123
Listening on routing socket on fd #22 for interface updates
GPSD_JSON(0): GPSD revision=3.16 release=3.16 protocol=3.11
ntpq -p
выводит
remote refid st t when poll reach delay offset jitter
==============================================================================
GPSD_JSON(0) .GPS. 0 l - 64 0 0.000 0.000 0.000
/ etc / ntp.
gpsd
запущен под пользователем никто
и ntpd
запущен как пользователь ntp
gpsd
запущен как никто, поэтому у него нет прав на чтение / dev / ttyUSB0
, на что он и жалуется.
Если вы добавите пользователя nobody
в группу uucp
, это должно исправить ситуацию, но это не рекомендуется. Или вы можете изменить режимы на / dev / ttyUSB0
на 666, что немного менее ужасно. Лучше всего было бы отредактировать конфигурацию запуска gpsd
так, чтобы он запускался от имени другого пользователя, возможно gpsd
, и сделать группу / dev / ttyUSB0
принадлежащей группе Основная группа gpsd
(также, вероятно, gpsd
).
Если предположить, что gpsd
устанавливает время, когда он сможет правильно считывать данные GPS, это позволит ntpd
для объявления времени, зная (поскольку вы его настроили), что он получил его из источника stratum-0 (ntp).
Будьте осторожны, вы должны «запустить gpsd на связанном / dev / gps0
, чтобы строка GPSD_JSON отображалась должным образом». Поэтому проверьте, работает ли ваш GPSD на / dev / gps0
или нет. Мой GPSD работает на / dev / ttyS0
на моем сервере, и после того, как я изменил УСТРОЙСТВА на / dev / gps0
в / etc / default / gpsd
, NTPd может подключите GPSD.