WB7: пустой /etc/ntpsec/ntp.conf, не работает синхронизация времени

Добрый день!
Проблема с синхронизацией времени на последней прошивке (возможно она была и ранее, так как только сейчас стал разбираться с тем, почему контроллер выходит в онлайн только через 7 минут после перезагрузки, выяснилась проблема с часами, сначала ее решить нужно)

Далее идет обращение, которое помог мне составить ваш ИИ помошник.

приложен диагностический архив, доступен только сотрудникам поддержки
(3,1 МБ)

Здравствуйте!

На контроллере Wiren Board 7.3.4, серийный номер AOOZ6YGL, установлен релиз:

wb-2609 (as testing)
Linux 5.10.35-wb182 armv7l

В веб-интерфейсе в разделе настройки NTP список серверов пустой. Системное время контроллера спешило примерно на 5 минут.

Проверка показала:

/etc/ntpsec/ntp.conf -> /mnt/data/etc/ntpsec/ntp.conf

Файл /mnt/data/etc/ntpsec/ntp.conf имеет нулевой размер:

-rw-r--r-- 1 root root 0 сен 2 11:36 /mnt/data/etc/ntpsec/ntp.conf

Служба ntpsec запущена, но не может разобрать конфигурацию:

CONFIG: readconfig: parsing file: /etc/ntpsec/ntp.conf
CONFIG: line 0 column 0 syntax error
CLOCK: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized

Команда:

ntpq -pn

завершается сообщением:

***Request timed out

При этом DNS работает:

getent hosts pool.ntp.org

возвращает IP-адреса серверов pool.ntp.org.

В журнале также есть:

CLOCK: time stepped by -258.927212

Прошу проверить, почему на testing-релизе wb-2609 конфигурация /etc/ntpsec/ntp.conf стала пустой, и подсказать штатный способ восстановления NTP без потери других настроек контроллера.

Диагностический архив приложу к обращению.

С уважением.

Добрый день.
Похоже что /mnt/data/etc/ntpsec/ntp.conf) затерт сохранением страницы NTP в веб-интерфейсе. В ntpparser теряется маркер позиции списка серверов, после чего каждое последующее сохранение из UI пишет в файл пустой вывод, а wb-mqtt-confed записывает его. Установлен актуальный wb-mqtt-confed 1.18.2.
То есть создайте конфиг и не редактируйте его из интерфейса до исправления.

Описал разработчикам.
Подобное воспроизводится только если сначала удалить все сервера а потом сохранить.

Добрый день!

  1. NTP заработал — вручную прописал сервера в конфиг через SSH, синхронизация времени восстановилась. Веб интерфейс не трогаю

  2. Заметил ещё один баг: после перезагрузки контроллера команда timedatectl status показывает часовой пояс как n/a (UTC), хотя реальное время в системе и в веб-интерфейсе отображается верно (по Москве). То есть время не сбито, но статус часового пояса определяется неправильно.

    Вот что ai мне по этому вопросу написал:

    timedatectl status после перезагрузки всегда показывает Time zone: n/a (UTC, +0000), хотя реальное время в системе (date, веб-интерфейс) верное, MSK.

    Причина видна в журнале загрузки:

    wb-configs-early[271]: /etc/localtime: copying from /mnt/data/etc/localtime
    ...
    systemd-timedated[11702]: /etc/localtime should be a symbolic link to a time zone data file in /usr/share/zoneinfo/.
    

    wb-configs-early при каждом старте копирует содержимое /mnt/data/etc/localtime в /etc/localtime, вместо того чтобы восстанавливать символьную ссылку на /usr/share/zoneinfo/.... Из-за этого systemd-timedated не может определить имя таймзоны и падает в n/a. Содержимое файла при этом корректное (сверял md5sum с /usr/share/zoneinfo/Europe/Moscow — совпадает), так что фактически время не сбито, но timedatectl и всё, что от него зависит, показывают некорректный статус.