Интересно. Вижу во всех случаях успешную инициализацию. А дайте доступ к контроллеру, по 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
Кстати, после перезагрузки контроллера (проверьте пожалуйста) модуль не деинициализируется? А то мне показалось странным