Configurando o tempo ntp do gpsd

1

Estou tentando configurar o ntpd para buscar o tempo de um receptor gps ( BU-353S4 ), mas estou recebendo alguns erros.

Estou usando o ntpd 4.2.8.p6-3 e o gpsd 3.16-2 no Arch Linux Arm. Tenho seguido o tutorial no wiki do arco , mas ele não tem nenhuma informação de solução de problemas.

O log do gpsd contém a entrada

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

Repetidos a cada 6 segundos ou mais, nada mais que iniciar, interromper mensagens.

/var/log/ntp.log contém:

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 de saídas

    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 contém

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

No entanto, sudo gpscat /dev/gps0 envia (para meu olho não treinado) informações válidas de nmea gps, e cgps e gpsmon todos obtêm uma correção e produzem informações úteis.

/dev/ttyUSB0 tem permissões crw-rw---- 1 root uucp 188 . gpsd está sendo executado sob o usuário nobody e ntpd está sendo executado como usuário ntp

    
por timlyo 30.03.2016 / 11:48

2 respostas

2

gpsd está sendo executado como ninguém e, portanto, não tem privilégios para ler /dev/ttyUSB0 , que é exatamente o que está reclamando.

Se você adicionar o usuário nobody ao grupo uucp , isso deve consertar as coisas, mas não é recomendado. Ou você pode alterar os modos em /dev/ttyUSB0 para 666, o que é um pouco menos terrível. O melhor de tudo seria editar a configuração de inicialização gpsd para que seja executada como outro usuário, possivelmente gpsd , e tornar /dev/ttyUSB0 de propriedade do grupo principal gpsd (provavelmente também gpsd ).

Supondo que gpsd defina o tempo uma vez que ele possa ler o GPS corretamente, isso permitirá que ntpd anuncie o tempo, sabendo (desde que você o tenha configurado) que ele obteve de um stratum-0 (ntp) fonte.

    
por 30.03.2016 / 13:36
0

Tenha cuidado para "executar o gpsd nesse link /dev/gps0 para que a linha GPSD_JSON apareça como esperado". Portanto, verifique se o seu GPSD é executado em /dev/gps0 ou não. Meu GPSD é executado em /dev/ttyS0 no meu servidor e depois que eu altero os DISPOSITIVOS para /dev/gps0 em /etc/default/gpsd , o NTPd pode vincular o GPSD com êxito.

    
por 26.10.2017 / 19:33