From dcc166343fbd6b8eb5800ba4ba65a6c05e3003b1 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 5 Mar 2026 00:25:09 -0800 Subject: [PATCH] mici setup: get time immediately after internet (#37565) * should be instant * guard on disconnect * just time fix --- system/ui/mici_setup.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/system/ui/mici_setup.py b/system/ui/mici_setup.py index c1474728c..5a0b751d3 100755 --- a/system/ui/mici_setup.py +++ b/system/ui/mici_setup.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import os import re +import ssl import threading import time import urllib.request @@ -16,6 +17,7 @@ from openpilot.common.filter_simple import FirstOrderFilter from openpilot.system.hardware import HARDWARE, TICI from openpilot.common.realtime import config_realtime_process, set_core_affinity from openpilot.common.swaglog import cloudlog +from openpilot.common.time_helpers import system_time_valid from openpilot.common.utils import run_cmd from openpilot.system.ui.lib.application import gui_app, FontWeight from openpilot.system.ui.lib.wifi_manager import WifiManager @@ -55,6 +57,7 @@ class NetworkConnectivityMonitor: self.wifi_connected = threading.Event() self._should_check = should_check or (lambda: True) self._stop_event = threading.Event() + self._last_timesyncd_restart = 0.0 self._thread: threading.Thread | None = None def start(self): @@ -82,6 +85,13 @@ class NetworkConnectivityMonitor: self.network_connected.set() if HARDWARE.get_network_type() == NetworkType.wifi: self.wifi_connected.set() + except urllib.error.URLError as e: + if (isinstance(e.reason, ssl.SSLCertVerificationError) and + not system_time_valid() and + time.monotonic() - self._last_timesyncd_restart > 5): + self._last_timesyncd_restart = time.monotonic() + run_cmd(["sudo", "systemctl", "restart", "systemd-timesyncd"]) + self.reset() except Exception: self.reset() else: