Como fazer com que o ntp use o gpsd para atualizar a data / hora do sistema com um deslocamento grande

6

Eu tenho um GPS conectado ao meu sistema e, se eu alterar o tempo do sistema para ficar adiantado / atrasado em menos de 4 horas, ntpd garante que a hora do sistema seja atualizada para corresponder a do GPS. Se, no entanto, esse deslocamento for além de 4 horas, nenhuma atualização ocorrerá.

Eu tenho a garantia de executar ntpd com a opção -g , mas ainda não funciona, a menos que eu use servidores ntp normais, por exemplo, tendo server 0.debian.pool.ntp.org iburst em /etc/ntp.conf . Vamos, no entanto, assumir que o sistema em questão não terá acesso à Internet durante a operação normal.

As outras configurações relevantes nesse arquivo são:

server 127.127.28.0 minpoll 4 maxpoll 4
fudge 127.127.28.0 time1 0.420 refid GPS

server 127.127.28.1 minpoll 4 maxpoll 4 prefer
fudge 127.127.28.1 refid GPS1

(fonte: gpsd manpage)

Eu até adicionei tinker panic 0 a essa configuração, só para ter certeza, mas ainda sem sorte.

    
por Tshepang 16.10.2012 / 17:56

2 respostas

3

Eu decidi ir para um work-around ... eu usei chrony .

Aqui está o que eu tenho no arquivo de configuração em /etc/chrony/chrony.conf para usar o GPS como o relógio de referência ( fonte ):

refclock SHM 0

Então, para realmente fazer com que chrony faça grandes ajustes de deslocamento, em vez dos ajustes graduais normais, adicionei isso ao mesmo arquivo de configuração:

makestep 1000 -1

Isso significa que o ajuste da etapa ocorrerá quando o relógio do hardware estiver desligado por pelo menos 1000 segundos. -1 significa tentar quantas vezes for necessário para chegar ao relógio de referência.

Deixei as outras configurações intactas, conforme fornecido pelo Debian Wheezy.

    
por 03.11.2012 / 11:25
2

A verificação de limite de 4 horas é implementada em ntpd / refclock_shm.c (ntp-4.2.8p7) e definir valor '1' para flag1 em /etc/ntp.conf parece parar essa verificação.

 server 127.127.28.0 minpoll 4 maxpoll 4 prefer
 fudge 127.127.28.0 refid GPS stratum 4
 fudge 127.127.28.0 time1 0.113  # coarse processing delay offset
 fudge 127.127.28.0 flag1 1      # ignore difference limit

Estou executando o ntpd 4.2.8p3 em um RaspberryPi.

    
por 19.01.2017 / 03:03

Tags