|
Caution
|
▷ Check at regular intervals whether updates are available. ▷ Install updates promptly to address potential security vulnerabilities. |
The RevPi I/O Modules and RevPi Gateways come with their own firmware installed. New firmware versions fix bugs and improve the function of the expansion modules. The update is transferred from the RevPi base module over the PiBridge to the expansion module using the application piTest.
How the Update Works #
-
During a firmware update the cyclic data exchange with all expansion modules is stopped. The process image is not updated and outputs are no longer controlled until the update has finished.
-
An update takes a few seconds up to a minute per expansion module.
-
Each expansion module is updated individually. This allows the update to be run specifically for each device.
-
The firmware update does not affect the PiCtory configuration of the RevPi system stored on the base module. Module-specific data such as the serial number is retained on the device.
Updating an Expansion Module #
|
Caution
|
Damage to the device software caused by disconnecting the power supply during the update
If the device is disconnected from the power supply during the update, it may become irreversibly locked up. ▷ Do not disconnect the device from the power supply during a firmware update. ▷ Do not disconnect the power supply even if the update fails. Instead, restart the update. |
Checking the Firmware Version #
▷ Log in to the RevPi via a terminal.
▷ Check the addresses and firmware versions of the connected devices with:
piTest -d
❯ For every configured device the address, type and firmware version are displayed:
Address: 31 module type: 96 (0x60) RevPi DIO V1.7
Module is present
input offset: 0 length: 70
output offset: 70 length: 18
Updating the Firmware #
✓ Perform the update during an operating phase in which the data exchange between the devices may be interrupted.
✓ Ensure that the expansion module is properly connected to the RevPi base module.
✓ Ensure that the expansion module is part of your PiCtory configuration and is shown by piTest -d.
The firmware files are included in the revpi-firmware package and are located in the /lib/firmware/revpi/ directory.
▷ Install the latest firmware files with:
sudo apt update
sudo apt install revpi-firmware
▷ Start the firmware update with:
piTest --module <address> -f
▷ Confirm the start of the update with yes.
❯ The firmware is transferred to the expansion module and it restarts with the new version. This takes a few seconds.
The firmware is only written if the available version is newer than the running version.
In exceptional cases it can be necessary to write the firmware again, even if the version is identical or older.
▷ Force the update with:
piTest --module <address> --force -f
|
Note
|
RevPi Gateways with firmware versions that do not yet support retrieving device information are reported as not present. They can still be updated this way. |
Rescue Update #
If an update transfer fails, piControl automatically retries it.
If all automatic retry attempts fail, the expansion module remains in update mode and can be restored.
In update mode the expansion module does not respond to the module scan, and piTest -d reports it as not present.
The expansion module is not damaged, it is waiting for another update attempt.
Restoring the Expansion Module #
✓ piControl version 2.8.0 or higher
You can retrieve the installed piControl version with modinfo piControl.
Also see Installing Software Updates.
▷ Start the firmware update again with:
piTest --module <address> -f
❯ In most cases the update completes successfully.
If piTest still does not detect the expansion module, it outputs a rescue command, for example:
The module might be stuck in firmware update mode, retry with: piTest --module 31 --rescue 1 -f
▷ Run the output command, or build it yourself:
piTest --module <address> --rescue <hardware revision> -f
❯ After a successful rescue update the expansion module restarts and is detected again.
Troubleshooting #
| Problem | Cause | Solution |
|---|---|---|
The update reports that the firmware is already up to date. |
The available firmware version is not newer than the version on the module. |
Use the |
piTest reports |
Typical causes are a missing firmware file, an undetected expansion module, or communication errors during the transfer. |
Check the kernel log with |
The kernel log shows |
There is no firmware file for your combination of device type and hardware revision in |
Install the latest |
The update is refused with |
The expansion module is configured but was not detected. |
Check that the expansion module is properly connected. |
The power LED of an expansion module lights red after a failed update. |
The expansion module is waiting in update mode. |
Run a rescue update. |
A RevPi Gateway is no longer reachable after other expansion modules were updated. |
Gateways with older firmware can misinterpret update commands and accidentally switch into update mode. |
Switch the gateway’s power off and on again, it then restarts. |