Обновление на testing и модули MAP6S

После обновления на testing и обновления прошивок всех модулей wb, модули map6s обновились до прошивки 2.5.0. После этого модуль с серийным номером 12322283, купленный у Вас недавно, показывает значения, модули с серийными номерами 8556801 и 4976107 купленные давно, все значения покраснели в интерфейсе. После отката на версию 2.3.8 показания вернулись в норму.

Пожалуйста сделайте отдельную тему по диммерам WB-MDM3, не забудьте там написать версии прошивки до и после, ревизию или серийный номер устройства. Желательно ещё сразу конфигурацию показать.

Добрый день еще раз.
Наблюдаю вот такую картинку:

Даю вот такую команду:

root@wirenboard-AZ7RCSJ3:~# wb-mcu-fw-updater update-fw /dev/ttyRS485-1 -a 69
2023-04-04 09:32:55,166 Will find serial port settings for (/dev/ttyRS485-1 : 69; response_timeout: 0.20)...
2023-04-04 09:33:38,943 Has found serial port settings: {'baudrate': 57600, 'parity': 'N', 'stopbits': 2}
2023-04-04 09:33:41,550 fw (map6s51 69 on /dev/ttyRS485-1):
2023-04-04 09:33:41,551 Update: 2.3.8 -> 2.5.0 (map6s51 69 /dev/ttyRS485-1)
2023-04-04 09:33:44,451 Flashing /var/lib/wb-mcu-fw-updater/map6s51__2.5.0_master_5848b6d.wbfw
100%|################################################################################################|144/144
2023-04-04 09:34:18,733 Done

Получаю вот такую картинку

Даю вот такую команду:

root@wirenboard-AZ7RCSJ3:~# wb-mcu-fw-updater update-fw /dev/ttyRS485-1 -a 69 --version 2.3.8
2023-04-04 09:35:20,447 Will find serial port settings for (/dev/ttyRS485-1 : 69; response_timeout: 0.20)...
2023-04-04 09:36:04,306 Has found serial port settings: {'baudrate': 57600, 'parity': 'N', 'stopbits': 2}
2023-04-04 09:36:06,412 fw (map6s51 69 on /dev/ttyRS485-1):
2023-04-04 09:36:06,414 Downgrade: 2.5.0 -> 2.3.8 (map6s51 69 /dev/ttyRS485-1)
2023-04-04 09:36:10,339 Flashing /var/lib/wb-mcu-fw-updater/fw/map6s51__2.3.8_master_5162422.wbfw
100%|################################################################################################|127/127
2023-04-04 09:36:40,543 Done

Вижу такую картинку:

У меня вопрос: что я сделал неправильно, при обновлении на testing и как заставить модуль работать с новой прошивкой. Оба модуля сидят на одной линии.

Добрый день!

Остановите wb-mqtt-serial: systemctl stop wb-mqtt-serial и попробуйте прочитать регистры проблемного MAP6S с прошивкой 2.5.0 через modbus_client, например:
modbus_client -mrtu -pnone -s2 -b57600 /dev/ttyRS485-2 -a69 -t3 -r4313

Приложите диагностический архив.

У меня 2 проблемных модуля из трех.

root@wirenboard-AZ7RCSJ3:~# modbus_client -mrtu -pnone -s2 -b57600 /dev/ttyRS485-1 -a69 -t3 -r4313
SUCCESS: read 1 of elements:
        Data: 0x5d31 
root@wirenboard-AZ7RCSJ3:~# modbus_client -mrtu -pnone -s2 -b38400 /dev/ttyRS485-2 -a49 -t3 -r4313
SUCCESS: read 1 of elements:
        Data: 0x5cd1 

Диагностический архив снять пока не могу. После запуска отката прошивки на 2.3.8 контроллер отвалился и признаков жизни не подает минут 10. Вечером перезапущу, сниму архив.

Судя по тому что читаются - связь есть. Это на 2.5.0?

Да, оба на 2.5.0. На 2.4.0 и 2.4.1 та же картина была.

Попытка отката 2-го устройства на 2.3.8:

root@wirenboard-AZ7RCSJ3:~# wb-mcu-fw-updater update-fw /dev/ttyRS485-2 -a 49 --version 2.3.8
2023-04-04 12:54:46,288 Will find serial port settings for (/dev/ttyRS485-2 : 49; response_timeout: 0.20)...
2023-04-04 12:55:24,080 Has found serial port settings: {'baudrate': 38400, 'parity': 'N', 'stopbits': 2}
2023-04-04 12:55:26,516 Flashing fw to (/dev/ttyRS485-2 49; response_timeout: 0.20s) has failed!
2023-04-04 12:55:26,517 Checksum error in rtu mode: '¼\x90' instead of 'Á}' . The response is: '1\x03\x18\x00m\x00a\x00p\x006\x00s\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00¼\x90' (plain response: '1\x03\x18\x00m\x00a\x00p\x006\x00s\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00¼\x90')
root@wirenboard-AZ7RCSJ3:~# 

Диагностический архив:
diag_output_AZ7RCSJ3_2023-04-04-13.06.41.zip (237,3 КБ)

А вот в таком порядке получилось:

root@wirenboard-AZ7RCSJ3:/var/lib/wb-mcu-fw-updater# wb-mcu-fw-updater update-fw /dev/ttyRS485-2 -a 78 --version latest
2023-04-04 13:39:50,079 Will find serial port settings for (/dev/ttyRS485-2 : 78; response_timeout: 0.20)...
2023-04-04 13:40:27,758 Has found serial port settings: {'baudrate': 38400, 'parity': 'N', 'stopbits': 2}
2023-04-04 13:40:29,530 fw (mr2m 78 on /dev/ttyRS485-2):
2023-04-04 13:40:29,533 Update: 1.15.2 -> 1.17.2 (mr2m 78 /dev/ttyRS485-2)
2023-04-04 13:40:32,230 Flashing /var/lib/wb-mcu-fw-updater/fw/mr2m__1.17.2_master_0cc1dec.wbfw
100%|############################################################################################################################################################################################################################|106/106
2023-04-04 13:40:57,261 Done
root@wirenboard-AZ7RCSJ3:/var/lib/wb-mcu-fw-updater# wb-mcu-fw-updater update-fw /dev/ttyRS485-2 -a 49 --version 2.3.8
2023-04-04 13:41:09,803 Will find serial port settings for (/dev/ttyRS485-2 : 49; response_timeout: 0.20)...
2023-04-04 13:41:47,566 Has found serial port settings: {'baudrate': 38400, 'parity': 'N', 'stopbits': 2}
2023-04-04 13:41:50,416 Flashing fw to (/dev/ttyRS485-2 49; response_timeout: 0.20s) has failed!
2023-04-04 13:41:50,417 Possibly, device (/dev/ttyRS485-2 49) is not a WB-one!
root@wirenboard-AZ7RCSJ3:/var/lib/wb-mcu-fw-updater# wb-mcu-fw-updater update-fw /dev/ttyRS485-2 -a 49 --version 2.3.8
2023-04-04 13:42:03,096 Will find serial port settings for (/dev/ttyRS485-2 : 49; response_timeout: 0.20)...
2023-04-04 13:42:40,857 Has found serial port settings: {'baudrate': 38400, 'parity': 'N', 'stopbits': 2}
2023-04-04 13:42:44,518 Flashing fw to (/dev/ttyRS485-2 49; response_timeout: 0.20s) has failed!
2023-04-04 13:42:44,520 Possibly, device (/dev/ttyRS485-2 49) is not a WB-one!
root@wirenboard-AZ7RCSJ3:/var/lib/wb-mcu-fw-updater# wb-mcu-fw-updater update-fw /dev/ttyRS485-2 -a 49 --version 2.3.8
2023-04-04 13:43:02,022 Will find serial port settings for (/dev/ttyRS485-2 : 49; response_timeout: 0.20)...
2023-04-04 13:43:39,788 Has found serial port settings: {'baudrate': 38400, 'parity': 'N', 'stopbits': 2}
2023-04-04 13:43:43,678 fw (map6s 49 on /dev/ttyRS485-2):
2023-04-04 13:43:43,679 Downgrade: 2.5.0 -> 2.3.8 (map6s 49 /dev/ttyRS485-2)
2023-04-04 13:43:49,185 Flashing /var/lib/wb-mcu-fw-updater/fw/map6s__2.3.8_master_5162422.wbfw
100%|############################################################################################################################################################################################################################|127/127
2023-04-04 13:44:19,439 Done
root@wirenboard-AZ7RCSJ3:/var/lib/wb-mcu-fw-updater#

Приложите ещё пожалуйста /etc/wb-mqtt-serial.conf (можно в ЛС)

Отправил в лс

Выгрузите в файл логи wb-mqtt-serial.
journalctl -u wb-mqtt-serial --since "10 min ago" > /root/serilal.log
И пришлите файл. У меня явное подозрение что ошибки на шине.

root@wirenboard-AZ7RCSJ3:~# journalctl -u wb-mqtt-serial --since "60 min ago"                                                                                                                                                            
-- Journal begins at Tue 2023-01-31 11:48:23 MSK, ends at Tue 2023-04-04 15:33:20 MSK. --                                                                                                                                                
-- No entries --                                                                                                                                                                                                                         
root@wirenboard-AZ7RCSJ3:~# 

По моему скромному мнению даже ошибки на шине не объясняют того, что новый счетчик работает нормально, а старый, на той-же шине, общей длиной менее метра не отображает значения совсем.

А если обновить прошивки и сделать так:


Т.е. вместо -1 указать 500, то все значения в счетчиках появляются.
Но, есть вот такая картина:

78 устройство это WB-MRM2Mini/NO

Остановите serial и прочитайте значение из 113 регистра:
modbus_client -mrtu -pnone -s2 -b57600 /dev/ttyRS485-2 -a38 -t3 -r113
Запишите туда ноль
modbus_client -mrtu -pnone -s2 -b57600 /dev/ttyRS485-2 -a38 -t6 -r113 0
Верните настройки таймаута обратно на -1.

Разбираемся в проблеме

root@wirenboard-AZ7RCSJ3:~# modbus_client -mrtu -pnone -s2 -b57600 /dev/ttyRS485-1 -a69 -t3 -r113
SUCCESS: read 1 of elements:
        Data: 0x00a7 
root@wirenboard-AZ7RCSJ3:~# modbus_client -mrtu -pnone -s2 -b57600 /dev/ttyRS485-1 -a69 -t6 -r113 0
SUCCESS: written 1 elements!

root@wirenboard-AZ7RCSJ3:~# modbus_client -mrtu -pnone -s2 -b38400 /dev/ttyRS485-2 -a49 -t3 -r113
SUCCESS: read 1 of elements:
        Data: 0x00c0 
root@wirenboard-AZ7RCSJ3:~# modbus_client -mrtu -pnone -s2 -b38400 /dev/ttyRS485-2 -a49 -t6 -r113 0
SUCCESS: written 1 elements!

Проблема исправлена в прошивке 2.5.1. Теперь при обновлении прошивки невалидное значение не попадает в 113 регистр, после обновления там будет ноль. Спасибо за помощь!

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.