4.1. Abilis firmware

The whole Abilis firmware can be stored within 6 megabytes of mass memory. It's made up of a large number of modules which can, however, be enabled or disabled, according to actual needs.

The Abilis firmware is just one executable file which is loaded at every bootstrap along with the configuration data (drivers.cfg) and several other items (mainly firmware which is to be downloaded into programmable chips present in the Abilis HW adapters).

The Abilis can load the operating system and configuration from:

The same mass memory may contain several versions of the Abilis Firmware. The choice of which version is to be loaded can be done using an appropriate command.

[Tip]Tip

Interesting chapters:

4.1.1. Firmware versioning numbering

The Abilis firmware versioning scheme is composed of 2 parts:

  • Build number;

  • Release number.

Every Abilis version has a build number, while only the official releases have a release number. “Build” versions are special or not yet official versions which can be released to provide solutions to urgent needs.

For example, below is an example of a released version:

COM

Abilis CPX - Ver. 8.5.1/STD - Build 4238.7 - Branch 8.5 - Abilis-ID 1800310
Friday 18/08/2017 11:17:45 (UTC+2:00)
Login:super
Password:
Logged as SUPERUSER

[09:01:10] ABILIS_CPX:

Below is instead an example of a “build” version:

COM

Abilis CPX - Build 4238.9/STD - Branch 8.5 - Abilis-ID 800733
Friday 18/08/2017 11:18:22 (UTC+2:00)
Login:super
Password:
Logged as SUPERUSER

[09:35:15] ABILIS_CPX:

Released versions are identified by a “3 numbers code”:

major version.minor version.patch version

  • major version: radical changes in comparison to previous versions;

  • minor version: not so radical changes in comparison to previous minor versions;

  • patch version: small changes or bug fixes in comparison to previous versions.

For example Version 8.5.1

4.1.2. Configuration files

The drivers.cfg file contains all the settings for Abilis running.

The drivers.bck loads in the event that drivers.cfg can't be loaded for some reason. This measure enhances the system's reliability.

  • drivers.cfg: the current configuration (in case of changes, not yet loaded);

  • drivers.bck: the last saved backup (hopefully a working one!).

The drivers.cfg and drivers.bck files can be updated with save conf and save conf backup commands.

The scheme below describes how Abilis uses drivers.bck.

Figure 4.1. Abilis reliability using drivers.bck

Abilis reliability using drivers.bck

4.1.3. Compatibility of drivers.cfg files

Drivers.cfg files of different releases are compatible, only if the firmware releases have the same major and minor version numbers.

For example, drivers.cfg files of the releases 8.4.1 and 8.5.1 aren't compatible because the first two number code are different; instead, drivers.cfg files of the release 8.5.0 and 8.5.1 are compatible because the first two number code are the same.

Every Abilis firmware release has a corresponding config.exe utility that creates and reads drivers.cfg files compatible with the releases having the same major and minor version numbers.

Every release also provides a Configuration converter (convcfg.exe or convcfgw.exe files) that allows updating the file format of previous versions to the current one.

[Tip]Tip

If the major and minor version numbers are the same, it's better to use the config.exe utility of a more recent patch version. In some very rare cases, you could find a new parameter, that was previously hidden in an older patch version.