timeout 5 mosquitto_sub -v -t '/devices/power_status/#'
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery/meta {"order":2,"readonly":true,"title":{"en":"Working on battery","ru":"Работа от батареи"},"type":"switch"}
/devices/power_status/controls/working on battery/meta/type switch
/devices/power_status/controls/working on battery/meta/order 2
/devices/power_status/controls/working on battery/meta/readonly 1
/devices/power_status/controls/Vin 24.6
/devices/power_status/controls/Vin/meta {"order":1,"readonly":true,"title":{"en":"Input voltage","ru":"Входное напряжение"},"type":"voltage"}
/devices/power_status/controls/Vin/meta/type voltage
/devices/power_status/controls/Vin/meta/order 1
/devices/power_status/controls/Vin/meta/readonly 1
/devices/power_status/meta {"driver":"wb-rules","title":{"en":"Power status","ru":"Статус питания"}}
/devices/power_status/meta/name Power status
/devices/power_status/meta/driver wb-rules
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery 0
Батарейки нет и не конфигурировалась.
Предположу что и напряжение не показывает в “устройствах”?
Контроллер работает, пока ни разу не завис с момента переключения на testing.
После очистки retained топиков сервис больше не перезапускается.
Сейчас еще раз выполнил команду, и вот что вывело:
root@wirenboard-AFHCBGVX:~# timeout mosquitto_sub -v -t '/devices/power_status/#'#'
/devices/power_status/meta {"driver":"wb-rules","title":{"en":"Power status","ru":"Статус питания"}}
/devices/power_status/meta/name Power status
/devices/power_status/meta/driver wb-rules
/devices/power_status/controls/Vin 13.1
/devices/power_status/controls/Vin/meta {"order":1,"readonly":true,"title":{"en":"Input voltage","ru":"Входное напряжение"},"type":"voltage"}
/devices/power_status/controls/Vin/meta/type voltage
/devices/power_status/controls/Vin/meta/order 1
/devices/power_status/controls/Vin/meta/readonly 1
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery/meta {"order":2,"readonly":true,"title":{"en":"Working on battery","ru":"Работа от батареи"},"type":"switch"}
/devices/power_status/controls/working on battery/meta/type switch
/devices/power_status/controls/working on battery/meta/order 2
/devices/power_status/controls/working on battery/meta/readonly 1
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery 0
/devices/power_status/controls/working on battery 0
root@wirenboard-AFHCBGVX:~#
Выглядит, как будто все в порядке. Таймаутов тоже не видел в логах больше.
Есть один нюанс после переключения на testing:
Отлично, но тем не менее попробую воспроизвести, от несовпадающих с конвенцией падать не должен все равно.
Да, так оно и выглядит в норме.
Да, в WB8 ведь уже
dpkg --print-architecture
arm64
Но это думаю уберут.
А это - исключительно аппаратный вопрос.
Путь единичного запроса такой:
Порт контроллера → устройство.
Если устройство получило удачно запрос (верный CRC) - то оно отвечает. Если что-то с запросом не так (несуществующий регистр но CRC верен) - ответит ошибкой. Если в пакете не совпадает CRC - то молчит.
Это как раз основная причина таймаутов, если устройство “правильное”. Наши - правильные.
А вот если устройство удачно получило запрос но его ответ получен контроллером с ошибкой - как раз и будет запись в лог “invalid CRC”/
Из скриншота понятно что устройство 80 не получало 4 раза а 69 - получило запрос удачно но его ответ испорчен.
время верное “сейчас”, вероятно была проблема, что после перезапуска не сразу пришло время от моего локального ntp. Хотя я же точно настраивал rtc, но сейчас в rtc нули…
В общем тема из топика решена, контроллер больше не зависает, все работает более менее стабильно. Буду ждать обновлений в стабильном релизе и ставить в шкаф.
Попробую воспроизвести, установлю RTC в неверное и проверю. Пожалуйста, рад помочь. Приятно общаться со специалистом и благодарю за помощь в отладке нового контроллера.