diff --git a/common/util.cc b/common/util.cc
index f4c69eb269..096df85634 100644
--- a/common/util.cc
+++ b/common/util.cc
@@ -294,4 +294,17 @@ std::string check_output(const std::string& command) {
return result;
}
+bool system_time_valid() {
+ // Default to August 26, 2024
+ tm min_tm = {.tm_year = 2024 - 1900, .tm_mon = 7, .tm_mday = 26};
+ time_t min_date = mktime(&min_tm);
+
+ struct stat st;
+ if (stat("/lib/systemd/systemd", &st) == 0) {
+ min_date = std::max(min_date, st.st_mtime + 86400); // Add 1 day (86400 seconds)
+ }
+
+ return time(nullptr) > min_date;
+}
+
} // namespace util
diff --git a/common/util.h b/common/util.h
index d4106b5002..4fb4b13fae 100644
--- a/common/util.h
+++ b/common/util.h
@@ -96,6 +96,8 @@ bool create_directories(const std::string &dir, mode_t mode);
std::string check_output(const std::string& command);
+bool system_time_valid();
+
inline void sleep_for(const int milliseconds) {
if (milliseconds > 0) {
std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds));
diff --git a/selfdrive/ui/qt/widgets/prime.cc b/selfdrive/ui/qt/widgets/prime.cc
index 62f5c0ab50..ee820c46a3 100644
--- a/selfdrive/ui/qt/widgets/prime.cc
+++ b/selfdrive/ui/qt/widgets/prime.cc
@@ -116,6 +116,14 @@ PairingPopup::PairingPopup(QWidget *parent) : DialogBase(parent) {
hlayout->addWidget(qr, 1);
}
+int PairingPopup::exec() {
+ if (!util::system_time_valid()) {
+ ConfirmationDialog::alert(tr("Please connect to Wi-Fi to complete initial pairing"), parentWidget());
+ return QDialog::Rejected;
+ }
+ return DialogBase::exec();
+}
+
PrimeUserWidget::PrimeUserWidget(QWidget *parent) : QFrame(parent) {
setObjectName("primeWidget");
diff --git a/selfdrive/ui/qt/widgets/prime.h b/selfdrive/ui/qt/widgets/prime.h
index d1ba334e81..266a90a92c 100644
--- a/selfdrive/ui/qt/widgets/prime.h
+++ b/selfdrive/ui/qt/widgets/prime.h
@@ -33,6 +33,7 @@ class PairingPopup : public DialogBase {
public:
explicit PairingPopup(QWidget* parent);
+ int exec() override;
};
diff --git a/selfdrive/ui/translations/main_ar.ts b/selfdrive/ui/translations/main_ar.ts
index 2315268a72..39ccf57e7c 100644
--- a/selfdrive/ui/translations/main_ar.ts
+++ b/selfdrive/ui/translations/main_ar.ts
@@ -460,6 +460,10 @@
Bookmark connect.comma.ai to your home screen to use it like an appاجعل لـconnect.comma.ai إشارة مرجعية على شاشتك الرئيسية من أجل استخدامه مثل أي تطبيق
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_de.ts b/selfdrive/ui/translations/main_de.ts
index 2abed6e305..6112e84a2a 100644
--- a/selfdrive/ui/translations/main_de.ts
+++ b/selfdrive/ui/translations/main_de.ts
@@ -455,6 +455,10 @@
Bookmark connect.comma.ai to your home screen to use it like an appFüge connect.comma.ai als Lesezeichen auf deinem Homescreen hinzu um es wie eine App zu verwenden
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_es.ts b/selfdrive/ui/translations/main_es.ts
index 38ba964f11..0b6754358b 100644
--- a/selfdrive/ui/translations/main_es.ts
+++ b/selfdrive/ui/translations/main_es.ts
@@ -456,6 +456,10 @@
Bookmark connect.comma.ai to your home screen to use it like an appAñada connect.comma.ai a su pantalla de inicio para usarlo como una aplicación
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_fr.ts b/selfdrive/ui/translations/main_fr.ts
index f4251bc41d..ab69c34dc5 100644
--- a/selfdrive/ui/translations/main_fr.ts
+++ b/selfdrive/ui/translations/main_fr.ts
@@ -456,6 +456,10 @@
Bookmark connect.comma.ai to your home screen to use it like an appAjoutez connect.comma.ai à votre écran d'accueil pour l'utiliser comme une application
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_ja.ts b/selfdrive/ui/translations/main_ja.ts
index bc83d3f9ae..e4565a5c4d 100644
--- a/selfdrive/ui/translations/main_ja.ts
+++ b/selfdrive/ui/translations/main_ja.ts
@@ -454,6 +454,10 @@
Bookmark connect.comma.ai to your home screen to use it like an app「connect.comma.ai」をホーム画面に追加して、アプリのように使うことができます。
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_ko.ts b/selfdrive/ui/translations/main_ko.ts
index 1d2a753e1f..72bce9f144 100644
--- a/selfdrive/ui/translations/main_ko.ts
+++ b/selfdrive/ui/translations/main_ko.ts
@@ -455,6 +455,10 @@
Bookmark connect.comma.ai to your home screen to use it like an appconnect.comma.ai를 앱처럼 사용하려면 홈 화면에 바로가기를 만드세요
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_pt-BR.ts b/selfdrive/ui/translations/main_pt-BR.ts
index a89c85510e..41d40c5d12 100644
--- a/selfdrive/ui/translations/main_pt-BR.ts
+++ b/selfdrive/ui/translations/main_pt-BR.ts
@@ -456,6 +456,10 @@
Bookmark connect.comma.ai to your home screen to use it like an appSalve connect.comma.ai como sua página inicial para utilizar como um app
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_th.ts b/selfdrive/ui/translations/main_th.ts
index c2b2771830..3919bb70f1 100644
--- a/selfdrive/ui/translations/main_th.ts
+++ b/selfdrive/ui/translations/main_th.ts
@@ -455,6 +455,10 @@
Bookmark connect.comma.ai to your home screen to use it like an appจดจำ connect.comma.ai โดยการเพิ่มไปยังหน้าจอโฮม เพื่อใช้งานเหมือนเป็นแอปพลิเคชัน
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_tr.ts b/selfdrive/ui/translations/main_tr.ts
index 9a53449276..f18923cc7b 100644
--- a/selfdrive/ui/translations/main_tr.ts
+++ b/selfdrive/ui/translations/main_tr.ts
@@ -454,6 +454,10 @@
Bookmark connect.comma.ai to your home screen to use it like an appUygulama gibi kullanmak için connect.comma.ai sitesini yer işaretlerine ekleyin.
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_zh-CHS.ts b/selfdrive/ui/translations/main_zh-CHS.ts
index f061322c45..6cdbc90e70 100644
--- a/selfdrive/ui/translations/main_zh-CHS.ts
+++ b/selfdrive/ui/translations/main_zh-CHS.ts
@@ -455,6 +455,10 @@
Bookmark connect.comma.ai to your home screen to use it like an app将 connect.comma.ai 收藏到您的主屏幕,以便像应用程序一样使用它
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl
diff --git a/selfdrive/ui/translations/main_zh-CHT.ts b/selfdrive/ui/translations/main_zh-CHT.ts
index 04e76a8d95..eed7e809dd 100644
--- a/selfdrive/ui/translations/main_zh-CHT.ts
+++ b/selfdrive/ui/translations/main_zh-CHT.ts
@@ -455,6 +455,10 @@
Bookmark connect.comma.ai to your home screen to use it like an app將 connect.comma.ai 加入您的主螢幕,以便像手機 App 一樣使用它
+
+ Please connect to Wi-Fi to complete initial pairing
+
+ ParamControl