Не работает WBIO-AO-10V-8 на WB8

после добавления всего парка устройств в вебморде появился wbio-ao-10v-8, но не реагирует на изменение значений

@Bringer скажите пожалуйста, есть ли сроки выпуска исправления?

Прошу прощения за долгий ответ.

Я так понимаю, что по сути после обновления ничего не изменилось.

А версия прошивки теперь актуальная отображается в интерфейсе?

Пока нет, во вторник ещё уточню информацию.

Сейчас пока соберём стенд для воспроизведения вашей ситуации.

да, ничего не поменялось

скажите пожалуйста есть ли понимание?

Баг с модулем WBIO-AO-10V-8 планируем починить через 1,5 недели.
С модулем WBIO-DO-R1G-16 не удалось воспроизвести.
Уточните, пожалуйста, с WBIO-DO-R1G-16 проблема возникает даже в том случае, когда он один подключен, без WBIO-AO-10V-8?

да

Проблему WBIO-AO-10V-8 починили в testing добавили, также аналогичную проблему WBIO-DO-R1G-16 тоже должны были решить. Можете на testing перейти проверить?

Err:6 http://deb.wirenboard.com/wb8/bullseye testing/main arm64 wb-release-info all 1.0-testing~wb8+bullseye~20240809112937
404 Not Found [IP: 188.114.97.1 80]
Fetched 3181 kB in 1s (2138 kB/s)
E: Failed to fetch http://deb.wirenboard.com/wb8/bullseye/pool/main/w/wb-release-info/wb-release-info_1.0-testing~wb8%2Bbullseye~20240809112937_all.deb 404 Not Found [IP: 188.114.97.1 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

обновился… WBIO-DO-R1G-16 заработал нормально, больше не отваливается, а вот WBIO-AO-10V-8 по прежнему не работает

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

upd все так же не работает

Прошу прощения, попытались воспроизвести, возникли сложности, будем продолжать исправлять.

добрый день, есть ли ориентировочные сроки?

Обновите пакеты, перезапустите контроллер и пришлите пожалуйста диагностический архив.

Пробую воспроизвести.
Использую WB8.4, релиз 2404 stable.
Подключил модуль WBIO-AO-10V-8 первым, сконфигурировал его.
Ожидаю: появления в интерфейсе соответствующих контролов.


Регулирую, ожидаю изменения напряжения на выходах.
Напряжение не меняется. Так, смотрю глубже.

Проверяю, в /var/lib/wb-mqtt-dac/conf.d/system.conf с виду все верно.

Смотрю:

ls /sys/bus/iio/devices/iio\:device*
'/sys/bus/iio/devices/iio:device0':
in_temp5_BOARD_label  in_voltage0_IN_label  in_voltage10_ADC5_label  in_voltage11_ADC6_label  in_voltage1_3V3_label  in_voltage2_5V_label  in_voltage3_VBUS_CONSOLE_label  in_voltage4_VBUS_NETWORK_label  in_voltage6_ADC1_label  in_voltage7_ADC2_label  in_voltage8_ADC3_label  in_voltage9_ADC4_label  name     subsystem
in_temp5_BOARD_raw    in_voltage0_IN_raw    in_voltage10_ADC5_raw    in_voltage11_ADC6_raw    in_voltage1_3V3_raw    in_voltage2_5V_raw    in_voltage3_VBUS_CONSOLE_raw    in_voltage4_VBUS_NETWORK_raw    in_voltage6_ADC1_raw    in_voltage7_ADC2_raw    in_voltage8_ADC3_raw    in_voltage9_ADC4_raw    of_node  uevent
in_temp5_BOARD_scale  in_voltage0_IN_scale  in_voltage10_ADC5_scale  in_voltage11_ADC6_scale  in_voltage1_3V3_scale  in_voltage2_5V_scale  in_voltage3_VBUS_CONSOLE_scale  in_voltage4_VBUS_NETWORK_scale  in_voltage6_ADC1_scale  in_voltage7_ADC2_scale  in_voltage8_ADC3_scale  in_voltage9_ADC4_scale  power    waiting_for_supplier

'/sys/bus/iio/devices/iio:device1':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device10':
in_current1_raw  in_current1_scale  in_current2_raw  in_current2_scale	in_temp_offset	in_temp_raw  in_temp_scale  in_voltage0_raw  in_voltage0_scale	in_voltage1_raw  in_voltage1_scale  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device11':
name			     out_voltage0_raw		  out_voltage1_raw	       out_voltage2_raw		    out_voltage3_raw		 out_voltage4_raw	      out_voltage5_raw		   out_voltage6_raw		out_voltage7_raw		      subsystem
of_node			     out_voltage0_scale		  out_voltage1_scale	       out_voltage2_scale	    out_voltage3_scale		 out_voltage4_scale	      out_voltage5_scale	   out_voltage6_scale		out_voltage7_scale		      uevent
out_voltage0_powerdown	     out_voltage1_powerdown	  out_voltage2_powerdown       out_voltage3_powerdown	    out_voltage4_powerdown	 out_voltage5_powerdown       out_voltage6_powerdown	   out_voltage7_powerdown	out_voltage_powerdown_mode_available  waiting_for_supplier
out_voltage0_powerdown_mode  out_voltage1_powerdown_mode  out_voltage2_powerdown_mode  out_voltage3_powerdown_mode  out_voltage4_powerdown_mode  out_voltage5_powerdown_mode  out_voltage6_powerdown_mode  out_voltage7_powerdown_mode	power

'/sys/bus/iio/devices/iio:device2':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device3':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device4':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device5':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device6':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device7':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device8':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

'/sys/bus/iio/devices/iio:device9':
in_voltage0_raw  in_voltage0_scale  name  of_node  power  subsystem  uevent  waiting_for_supplier

Судя по именам - искомое ‘/sys/bus/iio/devices/iio:device11’

Убеждаюсь, читаю что в них:

cat /sys/bus/iio/devices/iio\:device11/out_voltage*_raw 
512
512
512
512
512
512
512
512

И попробую записать:

echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage5_raw 
root@wirenboard-AYK5U4TB:~# echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage1_raw 
root@wirenboard-AYK5U4TB:~# echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage2_raw 
root@wirenboard-AYK5U4TB:~# echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage3_raw 
root@wirenboard-AYK5U4TB:~# echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage4_raw 
root@wirenboard-AYK5U4TB:~# echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage5_raw 
root@wirenboard-AYK5U4TB:~# echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage6_raw 
root@wirenboard-AYK5U4TB:~# echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage7_raw 
root@wirenboard-AYK5U4TB:~# echo 999 > /sys/bus/iio/devices/iio\:device11/out_voltage0_raw 

Отлично, напряжение появилось. Посмотрим, что и куда пишет скрипт.

1 лайк

Так, что странно, с наименованиями не то. Пишу в /sys/bus/iio/devices/iio:device11/out_voltage7_raw - а регулируется на 5 выходе.

Вижу что при изменении контролов скрипт пишет (пытается) в
Aug 19 14:48:54 wirenboard-AYK5U4TB wb-rules[25447]: /bin/sh: 1: cannot create /sys/bus/iio/devices/iio:device1/out_voltage3_raw: Permission denied
а значит смотрим где формируется путь.

1 лайк

Ну, в общем вся проблема в том что в скрипте /usr/share/wb-rules-system/rules/wb-mqtt-dac.js
в строчке

var num = path[path.length - '/of_node/name'.length - 1];

неверно вычисляется (образется) номер. То есть вместо “11” получается “1”.
Собственно достаточно заменить эту строку в скрипте двумя:

var num = path.substr("/sys/bus/iio/devices/iio:device".length, 2);
num = num.replace('/','');

И все работает.

да, действительно после обновления все заработало, спасибо

остался вопрос по WBIO-DO-R1G-16, его можно решить в рамках этой темы или создать новую?

Не совсем понятно что именно не работает так, как должно? Если вопрос не касается WBIO-AO-10V-8 то лучше в отдельной теме, конечно.
Обсуждаемый модуль, описание бага отдано разработчикам, думаю что нормальный фикс, не костыли которыми я диагностировал, будет сделан в ближайшее время, скорее всего на этой неделе.