Wiren BoardDocumentation
Reference · English

Firmware updates, bootloader and factory reset

revision 94070

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