WB7+Wbio AO 10V-8

Интересно. Вижу во всех случаях успешную инициализацию. А дайте доступ к контроллеру, по ssh например?
То есть hwconf ошибок не генерирует но устройства нет в /sys

через удалённый рабочий стол?

Ну, в принципе можно и так, да.

Поставил teamviewer на комп. Когда у Вас будет возможность?

teamviewer у меня не работает. Тогда уж anydesk. Думаю, сегодня, к 14.

ок

 i2cdetect -l
i2c-1   i2c             mv64xxx_i2c adapter                     I2C adapter
i2c-2   i2c             mv64xxx_i2c adapter                     I2C adapter
i2c-0   i2c             mv64xxx_i2c adapter                     I2C adapter

Причем 73 устройство есть:

 i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- 73 -- -- -- --

Но!
Когда попробовал денинициализировать модуль:

 wb-hwconf-helper deinit wb6-extio1
[warn] Slot wb6-extio1 is not in use ... (warning).

То есть он не инициализирован был при запуске нормально.

После инициализации:

# cat /sys/bus/iio/devices/iio\:device*/out_voltage*_raw
512
13
101
409
512
512
512
512

Смотрю в лог wb-hwconf:

Dec 23 09:21:04 wirenboard-A6US7KEX systemd[1]: Starting Initialize Wiren Board Device Tree overlays...
Dec 23 09:21:11 wirenboard-A6US7KEX init.sh[857]: Initializing wb72-extio1:wbio-ao-10v-8.
Dec 23 09:21:11 wirenboard-A6US7KEX init.sh[857]: ...Initializing wb72-extio2:wbio-do-ssr-8.
Dec 23 09:21:11 wirenboard-A6US7KEX init.sh[857]: ...Initializing wb72-mod1:wbe2r-r-zigbee.
Dec 23 09:21:11 wirenboard-A6US7KEX init.sh[857]: ...Initializing wb72-rs485-1:wb67-can-rs485.
Dec 23 09:21:11 wirenboard-A6US7KEX init.sh[857]: ...failsafe bias enabled
Dec 23 09:21:11 wirenboard-A6US7KEX init.sh[857]: terminators are enabled
Dec 23 09:21:11 wirenboard-A6US7KEX init.sh[857]: Initializing wb72-rs485-2:wb67-can-rs485.
Dec 23 09:21:12 wirenboard-A6US7KEX init.sh[857]: ...failsafe bias enabled
Dec 23 09:21:12 wirenboard-A6US7KEX init.sh[857]: terminators are enabled
Dec 23 09:21:12 wirenboard-A6US7KEX init.sh[857]: Initializing wb72-w1:wb6-wx-1wire.
Dec 23 09:21:12 wirenboard-A6US7KEX init.sh[857]: ...Initializing wb72-w2:wb6-wx-1wire.
Dec 23 09:21:12 wirenboard-A6US7KEX init.sh[857]: ...

То есть в процессе (холодного) включения возникает гонка, возможно.
Но точно не аппаратная проблема, поскольку устройство видно на шине.

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

В качестве временного костыля можно, пожалуй применить инициализацию с помощью

 wb-hwconf-helper init wb6-extio1 wbio-ao-10v-8

Кстати, а зачем у вас питание в шину rs-485 подключено к v_out?

Так на всех инструкциях пишут, что питание с Vout, землю с gnd, ну и передача данных с A и В.

Питание реле - лучше с БП непосредственно.
А в каких иструкциях?

Питание с БП будет позже, когда в щит всё встанет. А пока к нему ничего не подключено.


Это первое, что нашёл. Неудобно с телефона искать.

Получилось протестировать на стенде и воспроизвести ошибку?

Добрый день. Увидел письмо. А каким способом обновление проходило?

По инструкции для перехода на debian bullseye stable. Через ssh. WB-2304 — Wiren Board

Покажите вывод пожалуйста из

cat /var/lib/wb-mqtt-dac/conf.d/system.conf

и

cat /etc/wb-mqtt-dac.conf

Второго может и не быть.

И пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

diag_output_A6US7KEX_2023-04-27-21.38.17.zip (146,2 КБ)
По выводам

root@wirenboard-A6US7KEX:~# cat /var/lib/wb-mqtt-dac/conf.d/system.conf
cat: /var/lib/wb-mqtt-dac/conf.d/system.conf: No such file or directory
root@wirenboard-A6US7KEX:~# cat /etc/wb-mqtt-dac.conf
cat: /etc/wb-mqtt-dac.conf: No such file or directory

Выполните

wb-hwconf-helper deinit wb6-extio1

затем

wb-hwconf-helper init wb6-extio1 wbio-ao-10v-8

Потом проверьте наличие /var/lib/wb-mqtt-dac/conf.d/system.conf
Если нету - создайте с содержимым

{
  "device_name": "Analog Outputs",
  "channels": [
    {
      "id": "EXT1_O1",
      "iio_channel": 3,
      "iio_of_name": "extio1_ao10v8",
      "max_value_mv": 10000,
      "multiplier": 9.77518
    },
    {
      "id": "EXT1_O2",
      "iio_channel": 2,
      "iio_of_name": "extio1_ao10v8",
      "max_value_mv": 10000,
      "multiplier": 9.77518
    },
    {
      "id": "EXT1_O3",
      "iio_channel": 1,
      "iio_of_name": "extio1_ao10v8",
      "max_value_mv": 10000,
      "multiplier": 9.77518
    },
    {
      "id": "EXT1_O4",
      "iio_channel": 0,
      "iio_of_name": "extio1_ao10v8",
      "max_value_mv": 10000,
      "multiplier": 9.77518
    },
    {
      "id": "EXT1_O5",
      "iio_channel": 7,
      "iio_of_name": "extio1_ao10v8",
      "max_value_mv": 10000,
      "multiplier": 9.77518
    },
    {
      "id": "EXT1_O6",
      "iio_channel": 6,
      "iio_of_name": "extio1_ao10v8",
      "max_value_mv": 10000,
      "multiplier": 9.77518
    },
    {
      "id": "EXT1_O7",
      "iio_channel": 5,
      "iio_of_name": "extio1_ao10v8",
      "max_value_mv": 10000,
      "multiplier": 9.77518
    },
    {
      "id": "EXT1_O8",
      "iio_channel": 4,
      "iio_of_name": "extio1_ao10v8",
      "max_value_mv": 10000,
      "multiplier": 9.77518
    }
  ]
}

и перезапустите контроллер.

Было так:
root@wirenboard-A6US7KEX:~# wb-hwconf-helper deinit wb6-extio1
Slot wb6-extio1 is not in use … (warning).
root@wirenboard-A6US7KEX:~# wb-hwconf-helper init wb6-extio1 wbio-ao-10v-8
Initializing wb6-extio1:wbio-ao-10v-8.
root@wirenboard-A6US7KEX:~# /var/lib/wb-mqtt-dac/conf.d/system.confonf
-bash: /var/lib/wb-mqtt-dac/conf.d/system.conf: No such file or directory

Создал файл с нужным текстом через команду touch. Перезагрузил контроллер. Теперь так:

root@wirenboard-A6US7KEX:~# cat /var/lib/wb-mqtt-dac/conf.d/system.conf
{
“device_name”: “Analog Outputs”,
“channels”: [
{
“id”: “EXT1_O1”,
“iio_channel”: 3,
“iio_of_name”: “extio1_ao10v8”,
“max_value_mv”: 10000,
“multiplier”: 9.77518
},
{
“id”: “EXT1_O2”,
“iio_channel”: 2,
“iio_of_name”: “extio1_ao10v8”,
“max_value_mv”: 10000,
“multiplier”: 9.77518
},
{
“id”: “EXT1_O3”,
“iio_channel”: 1,
“iio_of_name”: “extio1_ao10v8”,
“max_value_mv”: 10000,
“multiplier”: 9.77518
},
{
“id”: “EXT1_O4”,
“iio_channel”: 0,
“iio_of_name”: “extio1_ao10v8”,
“max_value_mv”: 10000,
“multiplier”: 9.77518
},
{
“id”: “EXT1_O5”,
“iio_channel”: 7,
“iio_of_name”: “extio1_ao10v8”,
“max_value_mv”: 10000,
“multiplier”: 9.77518
},
{
“id”: “EXT1_O6”,
“iio_channel”: 6,
“iio_of_name”: “extio1_ao10v8”,
“max_value_mv”: 10000,
“multiplier”: 9.77518
},
{
“id”: “EXT1_O7”,
“iio_channel”: 5,
“iio_of_name”: “extio1_ao10v8”,
“max_value_mv”: 10000,
“multiplier”: 9.77518
},
{
“id”: “EXT1_O8”,
“iio_channel”: 4,
“iio_of_name”: “extio1_ao10v8”,
“max_value_mv”: 10000,
“multiplier”: 9.77518
}
]
}

root@wirenboard-A6US7KEX:~#

Перевёл ползунок на первом аналоговом выводе на уже огромные числа (см. принтскрин), проверил мультиметром этот вывод - по нулям, ничего не поменялось пока.

покажите вывод

cat /sys/bus/iio/devices/iio\:device*/out_voltage*_raw

пожалуйста.
И его же установив часть движков на 30-50 например.

И еще вывод

lsmod

Кстати, после перезагрузки контроллера (проверьте пожалуйста) модуль не деинициализируется? А то мне показалось странным