LINUX.ORG.RU
ФорумAdmin

Синхронизация времени через NTPD+GPS(NMEA)


0

0

Всем привет! Люди помогите плз решить одну проблему. На системе собран ntpd, с поддержкой gps(nmea). В конфиге ntp.conf указаны строчки: server 127.127.20.0 prefer tinker panic 0 Запускаю демон с дебагом, на консоль валится примерно следующее:

nmea: gpsread 60 $GPGSV,3,1,12,28,73,092,,09,60,281,,31,48,293,,14,40,281,*75 nmea: gpsread 62 $GPGSV,3,2,12,08,39,104,33,17,30,154,,04,29,066,,02,26,122,*71 nmea: gpsread 62 $GPGSV,3,3,12,11,21,047,,26,21,204,,27,16,109,30,29,12,198,*7A nmea: gpsread 58 $GPRMC,094542.092,V,5548.7556,N,03729.3526,E,,,100907,,*1E nmea: gpsread 69 $GPGGA,094543.092,5548.7556,N,03729.3526,E,0,00,50.0,0.0,M,,,,0000*3F nmea: timecode 69 $GPGGA,094543.092,5548.7556,N,03729.3526,E,0,00,50.0,0.0,M,,,,0000*3F nmea: gpsread 40 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05

(и так каждую секунду) Судя по тому, что он читает из ком порта, данные из gps девайса верные, и время, и дата (время 094543.092 UTC, дата 100907). Запущен уже довольно долго, но когда я смотрю ntpq -p, то вижу:

remote refid st t when poll reach delay offset jitter ============================================================================== GPS_NMEA(0) .GPS. 0 l - 64 0 0.000 0.000 0.004

Подскажите, почему, не смотря на правильные данные из ком порта, ntpd не хочет gps девайс брать за эталон времени и не подстраивается по нему, я специально локальные часы на сервере сместил на час, но реакция со стороны ntpd нулевая. В чем причина? Буду рад если поможете, вопрос очень актуален для меня :(

у меня работает с таким конфигом, правда, в соляре:

server 127.127.5.0 prefer
fudge 127.127.5.0 stratum 0
enable auth monitor
driftfile /var/ntp/ntp.drift

GPS XL-DC, truetime

Marmirus ★★
()
Ответ на: комментарий от Marmirus

Единственное на что я грешу, это на показания GSA (Фактор ухудшения точности, используемые для навигации спутники). Во втором поле стоит значение 1, что означает (обсервация невозможна).

nmea: gpsread 40 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05

Хотя в других строках, которые я прикладывал, и время и дата правильная, может ntpd не нравится показания GSA?

И у меня еще встречный вопрос, у Вас дата на сервере быстро синхронизируется с показаниями GPS? Если например локальное время поставить совсем кривое, год другой и т.п., ntpd это проглотит, быстро дату изменит?

mikerud
() автор топика

Может оно?

http://www.ietf.org/rfc/rfc1305.txt

Implementation Issues

The basic NTP robustness model is that a host has no other means to
verify time other than NTP itself. In some equipment a battery-backed
clock/calendar is available for a sanity check. If such a device is
available, it should be used only to confirm sanity of the timekeeping
system, not as the source of system time. In the common assumption (not
always justified) that the clock/calendar is more reliable, but less
accurate, than the NTP synchronization subnet, the recommended approach
at initialization is to set the Clock register as determined from the
clock/calendar and the other registers, counters and flags as described
above. On subsequent updates if the time offset is greater than a
configuration parameter (e.g., 1000 seconds), then the update should be
discarded and an error condition reported. Some implementations
periodically record the contents of the Skew-Compensation register in
stable storage such as a system file or NVRAM and retrieve this value at
initialization. This can significantly reduce the time to converge to
the nominal stability and accuracy regime.


http://obswww.unige.ch/~bartho/xntp_faq/faq1Bard.htm

Поискать -> CLOCK_WAYTOOBIG

koolig
()
Ответ на: комментарий от mikerud

>у Вас дата на сервере быстро синхронизируется с показаниями GPS?

Не знаю, не пробовал, попробовать нет возможности, ибо завалю всю систему, если собью синхронизацию. Может, вечером попробую подключить параллельно другую машинку.

По-моему, в вашем случае беда из-за отсутствия строчки fudge, по-крайней мере мне это навеяло беглое прочтение документации по ntpd.
http://www.cis.udel.edu/~mills/ntp/html/ntpd.html
http://www.cis.udel.edu/~mills/ntp/html/clockopt.html

Marmirus ★★
()
Ответ на: комментарий от mikerud

>Если например локальное время поставить совсем кривое, год другой и т.п., ntpd это проглотит, быстро дату изменит?
У меня ругается, что дельта слишком велика и не меняет.

anonymous
()
Ответ на: комментарий от anonymous

Есть у меня девайс через ком порт общается, а сейчас попробовал подключить gps через bluetooth. Для ntpd делал ln -s /dev/tty.. /dev/gps0 и все работало. Вопрос, а какой девайс для bluetooth? Делаю на редхате, hcitool scan его видит, hciconfig -a его тоже показывает, поднимал через hciconfig hci0 up. Но я не понял, а сам девайс то где, который надо линковать на /dev/gps0. Кто-нибудь запускал ntpd с bluetooth gps девайсом?

mikerud
() автор топика
Ответ на: комментарий от mikerud

на фришке через bluetooth ntpd заработал, причем новый девайс globalsat ловит очень прилично, дату синхронизирует довольно быстро, правда обнаружилась забавная вещь, если поставить кривое время, то он синхронизирует все, кроме года :). Все параметры устанавливает на ура, но год оставляет такой, какой был. Если кто знает почему так, пишите, может в конфиге можно как-то рулить или флажки у демона? В коде кстати нашел место, где он ругается если разница больше или меньше 4х часов, убрал этот кусок :), теперь синхронизирует нормально, кроме года :)

mikerud
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.