Установка времени ntp из gpsd

Я пытаюсь настроить ntpd на источник, это время от приемника GPS (BU-353S4) но я получаю некоторые ошибки.

Я использую ntpd 4.2.8.p6-3 и gpsd 3.16-2 в Arch Linux Arm. Я следовал учебному пособию в Arch Wiki, но в нем нет информации об устранении неполадок.

Журнал gpsd содержит запись

gpsd:ERROR: response: {"class":"ERROR","message":"No such device as /dev/gps0"}\x0d\x0a

Повторяется каждые 6 секунд или около того, ничего кроме запуска, остановки сообщений.

/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.conf содержит

restrict 127.0.0.1
restrict ::1

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

# GPSD config
server 127.127.46.0
fudge 127.127.46.0 time1 0.0 time2 0.0 refid GPS

driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log

тем не мение sudo gpscat /dev/gps0 выводит (на мой неопытный глаз) правильную информацию о GPS и nmea, и cgps а также gpsmon все получают исправления и выводят полезную информацию.

/dev/ttyUSB0 имеет разрешения crw-rw---- 1 root uucp 188,gpsd работает под пользователем nobody а также ntpd работает как пользователь ntp

2 ответа

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/gpsdNTPd может успешно связать GPSD.

Другие вопросы по тегам