Raspberry Pi não atualiza a hora


12

Comprei um Raspberry Pi 3 há aproximadamente dois meses e, desde então, o tempo nunca foi atualizado . Detalhes:

  1. O sistema operacional é uma nova instalação do Raspbian Jessie (4.1.19-v7 +).
  2. A conexão à Internet é via Wi-Fi nativo e não há outro problema com a comunicação.
  3. Não há problemas de firewall, pois a atualização de horário funciona como um encanto em uma máquina Windows na mesma LAN.
  4. O fuso horário está definido corretamente.

Eu comecei com nptdate. Quando tentei forçar a atualização,

sudo /etc/init.d/ntp stop
sudo ntpd -q -g
sudo /etc/init.d/ntp start

o terminal congelou com o segundo comando. A última mensagem /var/log/syslogfoi:

Listening on routing socket on fd #22 for interface updates

/etc/ntp.conf conteúdo:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

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

restrict 127.0.0.1
restrict ::1

Parece-me que o ntppacote tem um problema. Como configuro a atualização de horário, pois meu Raspberry é ativado apenas durante o dia e o atraso acumulado durante a noite?


1
Que distribuição você está usando? Esses links antigos não têm nada a ver com o Raspbian atual. Quanto tempo você espera após a inicialização? O que você está fazendo para confirmar "o tempo não será atualizado"?
Milliways

É Raspbian se você está perguntando isso. Não importa quanto tempo eu espere, ele não será atualizado. Eu uso o comando "date" e assisto o comando do relógio no canto.
Pygmalion

ntpdmudou em algum momento nos últimos anos para dificultar a força do usuário. Considerando o quão simplista é seu objetivo, é um dos aplicativos absolutamente piores e mais obtusos de todos os tempos. Alguém deve apenas escrever uma implementação básica, somente para cliente, para sistemas de usuário final independentes. Não poderia demorar mais de um dia, incluindo a leitura dos RFCs. Sinto por você. Eu odeio essa coisa (exceto que geralmente funciona para mim, então não estou incomodada ...). Boa sorte.
goldilocks

Dito isto, acho que você poderia adicionar uma explicação mais detalhada do que exatamente acontece. Certamente chia muito quando não pode se conectar a um servidor, e esse material estará no syslog. Dê uma olhada sudo grep ntp /var/log/syslogou, após a inicialização journalctl | grep ntp,.
goldilocks

@goldilocks sudo grep ntp /var/log/syslogretorna muitos bad peer from pool x.debian.pool.ntp.orgerros. Depois de reiniciar journald | grep ntpretorna bash: journald: command not founde sudo grep ntp /var/log/syslogretorna um monte de can't find host x.debian.pool.ntp.org: name or service not knownerros eno servers can be used, exiting
Pygmalion 18/05

Respostas:


6

Você precisa tentar atualizar a hora através de um dongle USB Wi-Fi. Se funcionar bem, use tcpdumpe veja como o pacote é tratado nos dois lados: no Raspberry Pi 3 e no ponto de acesso Wi-Fi ao qual ele se conecta.

O Wi-Fi interno do Raspberry Pi 3 costuma perder pacotes silenciosamente até onde eu sei.

Como /etc/network/interfacesdeve ficar:

# Wired adapter #1
auto eth0
    iface eth0 inet static
    address 192.168.0.3
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-servers 8.8.8.8,8.8.4.4
    post-up /usr/sbin/ntpdate -4 1.2.3.4

Não se esqueça dos principais espaços !


Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Ghanima

Encontrei solução como "reparar" o ntpd neste tópico: raspberrypi.org/forums/viewtopic.php?f=28&t=141454 . Ainda não sei como fazê-lo automaticamente na inicialização do RPi3.
Pygmalion

@ Pygmalion como eu disse antes - ntpD= NTP Daemon - não é necessário para uma configuração simples de horário do host ... É uma tarefa para distribuir o tempo pela rede, ou seja, se você tiver vários nós, precisará com certeza. Porém, para uma única configuração de hora do terminal, ntpdateé feita uma ferramenta. É ainda separados em si árvore de origem NTP
Alexey Vesnin

12
sudo sntp -s time.google.com

Isso funcionou para mim.


9

Eu tentei várias maneiras com ntp, chrony ... Finalmente corrigido com o seguinte método.

Busque a data em qualquer site de renome como o google para definir o horário da sua máquina a cada inicialização.

  1. Abrir arquivo rc.local

    sudo nano /etc/rc.local

  2. Adicione a seguinte linha ao arquivo rc.local

    sudo date -s "$(wget -qSO- --max-redirect=0 www.google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

  3. Reinicie o Rpi

    sudo reboot


Gostei da solução. Funcionou, mas eu ficaria feliz com a solução NTP. Eu tentei, mas não consegui superar isso.
Varad AG 14/08/19

Eu posso entender esse desespero - é exatamente o que eu também fiz em algumas ocasiões (data do cabeçalho HTTP), mas agora estou em uma rede fechada sem acesso à Internet e sem servidores HTTP, apenas um servidor NTP.
Tomasz Gandor

4

Se você definir o fuso horário no raspi-configRaspberry Pi atualizará automaticamente o horário na inicialização, se estiver conectado à Internet.

  1. sudo raspi-config
  2. Selecione Internationalisation Options
  3. Selecione I2 Change Timezone
  4. Selecione sua área geográfica
  5. Selecione a cidade mais próxima
  6. Selecione Finish
  7. Selecione Yespara reiniciar agora

É claro que defino o fuso horário no primeiro dia.
Pygmalion

1
Também defini o fuso horário no primeiro dia, mas meu Pi recentemente parou de atualizar o horário na reinicialização, exatamente como o problema que você está tendo. Voltei a executar raspi-configontem e o tempo foi atualizado corretamente em todas as reinicializações desde então, mesmo que eu tenha deixado a energia desconectada por um tempo. Eu sugiro que você tente? Deixe-me saber como chegar lá ...
mwd27

Sinto muito. Fiz o que você sugeriu, mas falhou.
Pygmalion

Oh que pena. Vou continuar pensando ...
mwd27

3

O comando a seguir certamente funcionará

sudo date -s"Sep 11 12:50"

1
Obrigado pela sua resposta. Acho que a pergunta é sobre atualização automática, usando o NTP, e sua resposta parece ser sobre o ajuste único do relógio.
Bex

2

Descobri que usar o seguinte funcionava como uma via Wi-Fi.

sudo sntp -s 0.debian.pool.ntp.prg

1

No menu Aplicativo / Preferências / Configuração do Raspberry Pi, fui para a guia Localização e selecionei os valores para Definir local, Definir fuso horário e Definir país WiFi.

Clicou em OK e a hora está correta.


1

Para mim, tive que esperar um pouco, por algum motivo, que não definiu a hora correta imediatamente. Isso foi depois que eu defini o fuso horário correto, tive o acesso à Internet ativado e reiniciado.


Sobre como definir a hora correta, veja O que está causando lacunas nos logs? .
Ingo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.