Отвалился порт

Добрый день! Обратил внимание, что один из портов модуля WBIO горит красным. В логах такая запись.


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

Что это может быть?

Конфигурация оборудования описана тут

2407 стабильный релиз, обновления выполняю.

Добрый день.
Это говорить о том что шина WBIO модуля была отключена или подверглась действию помех, как правило.
И да, он, канал продолжает работать - но красным светится. Для индикации того что ошибка была.

Сейчас проверил - при попытке его включить из вебпанели (непосредственно переключением выхода в виджете) - состояние выхода будто изменяется на включенное, но в действительности (похоже) выход не включается. Я не могу сейчас проверить реальное функционирование выхода и цепей, но я сужу по 2 аспектам: при включении грелки не возрастает ток потребления по счётчикам, и алгоритм из правил не отключает этот выход, т.к. фактическая температура выше уставки отключения. (Если так же нажать в вебпанеле на выход второго обогревателя, то он тут же отключается как положено).

Спойлер
		if (SectionTemperature < GLOBAL.CONFIG['temp_setpoint_SystemHeater1ON']) {

			GLOBAL.DOUT.On("SCHVUHeater1");

		}

		if (SectionTemperature < GLOBAL.CONFIG['temp_setpoint_SystemHeater2ON']) {

			GLOBAL.DOUT.On("SCHVUHeater2");

		}

		if (SectionTemperature > GLOBAL.CONFIG['temp_setpoint_SystemHeaterOFF']) {

			GLOBAL.DOUT.Off("SCHVUHeater1");
			GLOBAL.DOUT.Off("SCHVUHeater2");

		}

Так, а загрузите архив после того как попробовали переключить. А то в предыдущем всего два строчки из сервиса.

diag_output_AM75Z4F3_2024-10-10-11.13.16.zip (448,9 КБ)


Похоже вот они при попытки управления из веб.

Кстати, пока специально ничего не запускал и не трогал, не перезагружал.

1 лайк

Описан он как

			extio4_wbio_do_ssr_8@24 {
				linux,gpio-base = <0x278>;
				gpio-controller;
				gpio-line-names = "EXT4_K1\0EXT4_K2\0EXT4_K3\0EXT4_K4\0EXT4_K5\0EXT4_K6\0EXT4_K7\0EXT4_K8";
				interrupts = <0x04 0x14 0x00>;
				interrupt-parent = <0x0f>;
				compatible = "microchip,mcp23008";
				#interrupt-cells = <0x02>;
				reg = <0x24>;
				phandle = <0xa3>;
				#gpio-cells = <0x02>;
				microchip,irq-open-drain;
				interrupt-controller;
			};

Соответственно так как чип один - то аппаратную причину, думаю, можно исключить.
Смотрим в /sys/bus/i2c/devices - так и есть.
Судя по wb-mqtt-gpio/src/gpio_line.cpp at ee5beeeabad6074ebe27998d67449cdfb9fbaef8 · wirenboard/wb-mqtt-gpio · GitHub

если канал уже установлен в ошибку - то попыток установить новое значение уже не будет никогда.
Для проверки: перезапустите серви wb-mqtt-gpio.

Перезапустил сервис, выход восстановился. Но для автономной работы сомнительный вариант конечно, не спешно, но нужен фикс)

Да, разработчикам напишу про это.

1 лайк