Понадобилось синхронизировать сервер с внешним источником времени (устройство, которое только разрабатывается). Решил использовать драйвер 20 "Generic NMEA GPS Receiver" в качестве источника синхронизации ntp (поскольку устройство только разрабатывается, можно выбрать любой протокол). Для пробы написал небольшой скрипт, который в com-порт каждую секунду генерирует строки в соответствии с документацией. Использовал режим GPRMC. Генерируемые строки: $GPRMC,174509,A,5542.23,N,03741.60,E,0.6,2.2,051112,1.1,E*78 $GPRMC,174510,A,5542.23,N,03741.60,E,0.6,2.2,051112,1.1,E*70 $GPRMC,174512,A,5542.23,N,03741.60,E,0.6,2.2,051112,1.1,E*72 $GPRMC,174513,A,5542.23,N,03741.60,E,0.6,2.2,051112,1.1,E*73Соответственно каждая строка заканчивается <cr><ln> Остальные параметры брал из примера википедии. Пробовал так же пропустить остальные параметры (просто запятые подряд), пробвал убрать контрольную сумму (в доке на драйвер написано что она опциональная), резальтат один, логи ntp говорят: 5 Nov 12:44:45 ntpd[1135]: clock GPS_NMEA(0) event 'clk_badtime' (0x06) ntpq говорит: ntpq> cv assID=0 status=0606 clk_badtime, last_clk_badtime, device="NMEA GPS Clock", timecode="$GPRMC,174513,A,5542.23,N,03741.60,E,0.6,2.2,051112,1.1,E*73", poll=2, noreply=0, badformat=0, baddata=26, fudgetime1=0.000, stratum=0, refid=GPS, flags=0 Пробовал использовать режим GPGLL, тоже самое
|