Upgrade and Recovery
WiConnect is part of a larger sophisticated application framework installed on all ACKme modules. The framework provides a hardened bootloader, read/write file system, safemode recovery mechanism, and secure over-the-air (OTA) upgrade capability.
Secure OTA Upgrade
ACKme manages a secure online OTA server that offers each ACKme module with the ability to securely upgrade individual files, applications or an entire firmware bundle. The OTA command is used to upgrade module firmware using the OTA server on this port.
The OTA process is secured by industry standard TLS1.0/HTTPS using server and client certificates that forces
- ACKme devices to verify the identity of the ACKme OTA server; and
- the ACKme OTA server to verify the identity of each individual ACKme device.
Each ACKme device is uniquely identified by a 128-bit hardware universally unique identifier (UUID).
HTTPS is the same security your web browser uses to make secure transactions with your bank over the internet. ACKme adds an additional layer of security, since the ACKme OTA server checks the unique security certificate and hardware UUID of each ACKme device that requests an upgrade.
If an OTA upgrade fails to complete for some reason, you can resume it later. Rejoin the network and run the ota command again.
Safe mode operation is guaranteed in the unlikely event the module is configured in a way that causes repeated and/or unexpected reboots. The bootloader automatically switches to safe mode after eight exceptions occur with the offending boot application. Safe mode is indicated by the system.safemode variable.
It is easy to return the module to normal operation when the module is in safe mode. Follow the command sequence in the following table and your module will be back to normal in no time.
In some cases, a misconfigured module may quickly return to safe mode since the module may be inadvertently setup to invoke a fault. If this occurs, we recommend the module is returned to factory reset.
Once in safe mode, the module runs the upgrade application. The upgrade app provides the ability to upgrade the firmware, or switch back to WiConnect using the upgrade_app
faults_reset command and system.boot_app variable.
For a detailed discussion of recovery procedures, see the Recovery from Safemode application note.
The module may be factory reset using the factory_reset command or by holding the factory reset pin (GPIO 0 on all ACKme modules) high for more than 10 seconds through a hardware reset. GPIO0 is wired to Button 1 on the Wallaby and Moray evaluation boards.
After a successful factory reset, all variables are set to factory defaults and the module reboots. To avoid accidental factory reset, the Wi-Fi MAC address must be provided when calling the factory_reset command.