Updating firmware on modules (Jessie)

Since Jessie you can update your IO and Gateway modules by yourself.

You need:

  • RevPi Core
  • IO module or gateway module

Let’s go!

  • Turn off your system
  • Remove all other expansion modules
  • The expansion module you want to update must be located to the right of your RevPi Core
  • Turn on your system
  • Customize the configuration in PiCtory so that it contains only the RevPi Core and the expansion module located to the right of your RevPi Core.
  • Perform a driver reset, via menu or in the command line with piTest -x

Check which firmware version your module has before the update. To do this, you can enter following command

piTest -d
Found 2 devices:

Address: 0 module type: 95 (0x5f) RevPi Core V1.2
Module is present
 input offset: 0 length: 6
 output offset: 6 length: 5

Address: 32 module type: 98 (0x62) RevPi DO V1.0
Module is present
 input offset: 11 length: 70
 output offset: 81 length: 18

In this example a RevPi DO module with firmware version 1.0 is connected

Enter following command to update the firmware of your expansion module.

$ sudo apt-get update
$ sudo apt-get install revpi-firmware
$ piTest -f
update firmware: 1.0 --> 1.3

Perfect, the version has been updated.

When updating RevPi DI/DO/DIO it takes about 20 seconds between the call piTest -f and the update firmware output. When updating a gateway firmware this procedure might take up to 60 seconds. So please be a little patient. Shut down your RevPi Core Module with the command

sudo shutdown
  • Disconnect your RevPi Core and expansion module from power supply.
  • Wait a few seconds.
  • Then turn both back on.
  • Enter the command again to display the firmware version
piTest -d
Found 2 devices:

Address: 0 module type: 95 (0x5f) RevPi Core V1.2
Module is present
 input offset: 0 length: 6
 output offset: 6 length: 5

Address: 32 module type: 98 (0x62) RevPi DO V1.3
Module is present
 input offset: 11 length: 70
 output offset: 81 length: 18