Контроллер wb6.6 уходит в перезагрузку

Добрый день!
Стал уходить в перезагрузку контроллер, коллеги утверждают, что раньше работал.
Можно ли понять по логу в чем причина? Правильная ли прошивка установлена?
IQ221000_copy.txt (114.0 КБ)
Серийник AZZUSBUE hw 6.6.0

Код выдает версию “wb61”:

. /usr/lib/wb-utils/wb_env.sh
wb_source "of"

if of_machine_match "contactless,imx6ul-wirenboard670"; then
  BOARD_CONF="wb67"
elif of_machine_match "contactless,imx6ul-wirenboard61"; then
  BOARD_CONF="wb61"
elif of_machine_match "contactless,imx6ul-wirenboard60"; then
  BOARD_CONF="wb60"
elif of_machine_match "contactless,imx28-wirenboard58"; then
  BOARD_CONF="wb58"
elif of_machine_match "contactless,imx28-wirenboard55"; then
  BOARD_CONF="wb55"
elif of_machine_match "contactless,imx28-wirenboard52"; then
  BOARD_CONF="wb52"
else
  BOARD_CONF="default"
fi

echo $BOARD_CONF

судя по логу, в перезагрузку или shutdown его отправил кто-то программно

хм, да, нашел частый вызов halt из wb-rules, но странно, почему происходит вызов

defineRule('halt_rule', {
    when: cron('0 33 0 * * *'),
    then: function() {
        log('halt system by wb-rules');
        runShellCommand("halt");
    }});

По идее только ночью должно срабатывать. Версия wb-rules 2.6.0

В логах вижу:

Feb 14 10:12:59 IQ221000 daemon.info wb-rules[1424]: INFO: all rule files are loaded
Dec 24 10:39:20 IQ221000 daemon.info wb-rules[1424]: INFO: [rule info] halt system by wb-rules

Перевелось время (почему-то на не правильное) и сработал cron.

Да, если перевести время, например на день вперед, срабатывает правило по крону.

date --set 2020-12-27

Еще не понял, почему, каждый раз контроллер оказывается в 2019м году. Вроде время получает с сервера, но после перезагрузки все равно в 2019м. Из-за этого цикличный ребут.

Замерил напряжение на батарейке, нашел 0,2V. Если контроллер подключен к сети при halt время будет сброшено?
Можно ли отслеживать напряжение на батарейке в топиках?

Насчет времени - может в апаратном таймере неверное?

Посмотрите на таймер.


И попробуйте его поставить.

Вообще при halt - не должно.
В messages будет ошибки вида Low battery при попытке установить энергонезависимый таймер.

Проверим, спасибо!
А напряжение батарейки негде в контроллере не замеряется?
Можете проверить ситуацию с cron в wb-rules и переводом времени?

Да, реально. Если убрать батарейку - то сключенный контроллер оказывается “в прошлом” и при устанвке времени по ntp cron срабатывает.

Добрый день!
Есть идеи как можно исправить?

Добрый день. Надо думать как отловить такой момент. Если “в лоб” - то в правило для перезагрузки добавить проверку uptime. И, соответственно если uptime меньше 15 минут - не выполнять.

1 лайк

Спасибо за идею, попробую!

Подниму тему снова.
В офисе на двух стендах wb6.6, оба сбрасывают время при перезагрузке. Нету ли какой-то аппаратной проблемы из-за которой происходит ускоренная разрядка батарейки? Все-таки контроллер не старый и батарейка не должна была разрядиться так быстро.

А стоит ли “аппаратный” таймер верно? если выключить контроллер (отключить от питания) - на батарейке “RTC Battery” есть напряжение?

Если батарейка годная - возможно проблема аппаратная. Сейчас у себя посмотрю как диагностировать - и проверим.

Что имеете ввиду по поводу аппаратного таймера?
Взял 3 контроллера, напряжение на батарейках от 0.2V до 0.4V.

В контроллерах по два таймера. Один из них работает от батарейки и при ее посадке или отсутствии тремует установки:
https://wirenboard.com/wiki/Time_in_the_Wiren_Board_6_controller
А контроллеры новые или работали?

Видится несколько вариантов:

  • контроллер долго лежал на полке (больше года) и батарейка села.
  • при установке монтажники коротнули батарейку (например, насыпали кучкой) и она сильно разрядилась.
  • что-то не то с контроллером, например чип RTC с повышенным потреблением.
  • комбинация вариантов.
    Для начала я бы поменял батарейку, там обычная CR1220.

Заменили батарейки, понаблюдаем.