Raspberry Pi no actualizará el tiempo

12

Compré una Raspberry Pi 3 hace aproximadamente dos meses, y desde entonces el tiempo nunca se ha actualizado . Detalles:

  1. El sistema operativo es una instalación nueva de Raspbian Jessie (4.1.19-v7 +).
  2. La conexión a Internet es a través de Wi-Fi nativo y no hay otro problema con la comunicación.
  3. No hay problemas de firewall ya que la actualización de tiempo funciona como un encanto en una máquina Windows en la misma LAN.
  4. La zona horaria está configurada correctamente.

Empecé con nptdate. Cuando intenté forzar la actualización,

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

la terminal se congeló con el segundo comando. El último mensaje en /var/log/syslogfue:

Listening on routing socket on fd #22 for interface updates

/etc/ntp.conf contenido:

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

Me parece que el ntppaquete tiene un problema. ¿Cómo configuro la actualización de hora, ya que mi Raspberry se enciende solo durante el día y el retraso se acumula durante la noche?

Pigmalión
fuente
1
¿Qué distribución estás usando? Estos antiguos enlaces no tienen nada que ver con el Raspbian actual. ¿Cuánto tiempo esperas después del arranque? ¿Qué estás haciendo para confirmar que "el tiempo no se actualizará"?
Milliways
Es Raspbian si lo preguntas. No importa cuánto tiempo espere, no se actualiza. Utilizo el comando "fecha" y veo el comando reloj en la esquina.
Pigmalión
ntpdcambiado en algún momento en los últimos años para que sea más difícil para el usuario forzar un cambio. Teniendo en cuenta lo simple que es su propósito, es una de las aplicaciones absolutamente peor diseñadas y más obtusas de todos los tiempos. Alguien debería escribir una implementación básica, solo cliente para sistemas de usuario final independientes. No podría tomar más de un día, incluida la lectura de los RFC. Lo siento por ti. Odio esa cosa (excepto que generalmente funciona para mí, así que no me molesta ...). Buena suerte.
Ricitos de oro
Dicho esto, creo que podría agregar una explicación más detallada de lo que sucede exactamente. Ciertamente grazna mucho cuando no puede conectarse a un servidor, y esas cosas estarán en syslog. Echar un vistazo a sudo grep ntp /var/log/syslog, o, después de arrancar, journalctl | grep ntp.
Ricitos de oro
@goldilocks sudo grep ntp /var/log/syslogdevuelve un montón de bad peer from pool x.debian.pool.ntp.orgerrores. Después de reiniciar journald | grep ntpregresa bash: journald: command not foundy sudo grep ntp /var/log/syslogdevuelve un montón de can't find host x.debian.pool.ntp.org: name or service not knownerrores yno servers can be used, exiting
Pigmalión

Respuestas:

6

Debe intentar actualizar la hora a través de un dongle USB Wi-Fi. Si funciona bien, use tcpdumpy observe cómo se maneja el paquete en ambos lados: en Raspberry Pi 3 y el AP Wi-Fi al que se conecta.

El Wi-Fi interno de Raspberry Pi 3 suele estar perdiendo paquetes silenciosamente hasta donde yo sé.

Cómo /etc/network/interfacesdebería verse así:

# 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

¡No te olvides de los espacios principales !

Alexey Vesnin
fuente
Los comentarios no son para discusión extendida; Esta conversación se ha movido al chat .
Ghanima
Encontré una solución para "reparar" ntpd en este hilo: raspberrypi.org/forums/viewtopic.php?f=28&t=141454 . Todavía no sé cómo hacerlo automáticamente al arrancar el RPi3.
Pigmalión
@Pygmalion como dije antes - ntpD= NTP Daemon - no es necesario para una configuración de tiempo de host simple ... Es una criada para distribuir el tiempo a través de la red, es decir, si tiene varios nodos, lo necesita con seguridad. Pero para un único punto final se establece una ntpdateherramienta. Incluso está separado en el árbol fuente ntp en sí mismo
Alexey Vesnin
12
sudo sntp -s time.google.com

Esto funcionó para mí.

Nicky
fuente
9

Intenté varias formas con ntp, chrony ... Finalmente lo solucioné con el siguiente método.

Obtenga la fecha de cualquier sitio web de renombre como google para configurar la hora de su máquina en cada arranque.

  1. Abra el archivo rc.local

    sudo nano /etc/rc.local

  2. Agregue la siguiente línea al archivo rc.local

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

  3. Reiniciar el Rpi

    sudo reboot

Shamshu
fuente
Me gustó la solución. Funcionó pero estaría contento con la solución ntp. Los probé pero no pude superar eso.
Varad AG
Puedo entender esta desesperación: esto es exactamente lo que también he hecho en algunas ocasiones (fecha del encabezado HTTP), pero ahora estoy en una red cerrada sin acceso a Internet y sin servidores HTTP, solo un servidor NTP.
Tomasz Gandor
4

Si configura la zona horaria en raspi-configla Raspberry Pi, se actualizará automáticamente la hora de inicio, si está conectado a Internet.

  1. sudo raspi-config
  2. Seleccione Internationalisation Options
  3. Seleccione I2 Change Timezone
  4. Seleccione su área geográfica
  5. Selecciona tu ciudad más cercana
  6. Seleccione Finish
  7. Seleccione Yespara reiniciar ahora
mwd27
fuente
Por supuesto, configuré la zona horaria el primer día.
Pigmalión
1
También configuré la zona horaria el primer día, pero mi Pi recientemente dejó de actualizar la hora al reiniciar, exactamente como el problema que tiene. Volví a ejecutar raspi-configayer y el tiempo se ha actualizado correctamente en cada reinicio desde entonces, incluso si he dejado el poder desconectado por un tiempo. ¿Te sugiero que lo pruebes? Déjame saber cómo te va ...
mwd27
Lo siento. Hice lo que sugeriste, pero falló.
Pigmalión
Oh, eso es una vergüenza. Voy a seguir el pensamiento ...
mwd27
3

El siguiente comando seguramente funcionará

sudo date -s"Sep 11 12:50"
satven
fuente
1
Gracias por su respuesta. Sin embargo, creo que la pregunta es sobre la actualización automática, usando NTP, y su respuesta parece ser sobre la configuración del reloj de una sola vez.
Bex
2

Descubrí que usar lo siguiente funcionaba de manera única a través de WiFi.

sudo sntp -s 0.debian.pool.ntp.prg
David
fuente
1

En el Menú de aplicación / Preferencias / Configuración de Raspberry Pi, fui a la pestaña Localización y seleccioné los valores para Establecer configuración regional, Establecer zona horaria y Establecer país WiFi.

Hizo clic en Aceptar y ahora la hora es correcta.

Scott H
fuente
1

Para mí tuve que esperar un poco por alguna razón, no estableció la hora correcta de inmediato. Esto es después de configurar la zona horaria correcta, tener el acceso a Internet habilitado y reiniciar.

bakalolo
fuente
Acerca de configurar la hora correcta mira ¿Qué causa los vacíos en los registros? .
Ingo