Firmware updates, bootloader and factory reset
Translated service procedures relevant to these modules.
Firmware updates
The bootloader updates firmware over RS-485/Modbus RTU. Normal device functions stop during bootloader operation. The standard bootloader connection is 9600 8N2; newer compatible firmware and bootloader versions can retain current communication settings.
Stable firmware follows testing after a period without reported issues, normally three weeks; major changes may remain in testing longer. The controller configurator offers Update when an update is available. Do not disconnect power or communication during the update.
Controller updater
The preinstalled updater identifies firmware automatically and requires internet access. Example for address 70 on port 1:
wb-mcu-fw-updater update-fw /dev/ttyRS485-1 -a70
To update all devices configured on enabled serial ports:
wb-mcu-fw-updater update-all
Manual update
Stop wb-mqtt-serial or any other program polling the port. Query the device information and obtain firmware matching its exact firmware signature from the manufacturer firmware repository. Do not choose firmware solely by the product name.
systemctl stop wb-mqtt-serial wb-mcu-fw-flasher -d /dev/ttyRS485-1 -a25 --get-device-info wb-mcu-fw-flasher -j -d /dev/ttyRS485-1 -a25 -f ./firmware.wbfw systemctl start wb-mqtt-serial
These examples assume address 25 and the standard serial settings. Adjust the port, address, speed, parity and stop bits as required. The -j option requests entry into the bootloader. When the device is already in bootloader mode, omit it.
Recovery
In the controller configurator, choose Find device, search for devices in bootloader mode and select Configure as current. Alternatively:
wb-mcu-fw-updater recover /dev/ttyRS485-1 -a10
For manual recovery, flash the correct firmware without -j. Address 0 broadcasts must only be used with the intended device isolated from other devices on the bus.
Bootloader update
The web interface can offer bootloader updates. From the controller, use:
wb-mcu-fw-updater update-bl /dev/ttyRS485-1 -a1
Bootloader updating can erase application firmware; the controller updater restores the appropriate released firmware. With manual tools, install the matching application firmware after the bootloader update.
Devices behind WB-MGE or WB-MIO-E
Manual updating through a gateway uses a local pseudo-terminal connected with socat to the gateway's transparent TCP port. Stop competing polling, match gateway serial settings to the device and bootloader, perform the update, then restore polling. See the local WB-MGE configuration guide and WB-MIO guide for connection settings.
Factory reset
On firmware supporting it, write 1 to holding register 65402 (0xFF7A). The device reboots and restores defaults while retaining communication settings. This example resets address 163 on port 2:
systemctl stop wb-mqtt-serial modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a163 -t0x06 -r65402 1 systemctl start wb-mqtt-serial