SRM QUERY
When flashing a device, the query string specifies the requested operation. The SRM query string is needed for the srm CLI tool or for IOT upgrade process. The query string is sent to the SRM server. Typically, as a response, the server returns the list of available next steps or the payload to flash.
Query string | Description |
---|---|
UPGRADE | Upgrade to latest release |
UPGRADE-stable | Upgrade to the latest stable release |
UPGRADE-testing | Upgrade to the latest testing release |
UPGRADE-nightly | Upgrade to the latest nightly release |
LIST | Show LIST of available firmware variants. (It shows only stable and testing FW) |
LIST-testing (stable, nightly) | Same as above, but only for testing, stable, or nightly |
LISTALL | Show LIST of available individual releases. (It shows only stable and testing FW) |
LISTALL-testing (stable, nightly) | Same as above, but only for testing, stable, or nightly |
UPGRADE:[swid] | Upgrade to specific SWID. |
UPGRADE-nightly:[swid] | Upgrade to specific nightly SWID. |
UPGRADE-container | Upgrade to container release with latest flag. This works only if device is on container, ie. at least one specific upgrade to container was done. |
UPGRADE-container:[container token] | Upgrade to specific container release with latest flag. |
UPGRADE-container:[container release token] | Upgrade to specific container release. |
- The query string is case-sensitive.
- In
UPGRADE:[swid]
the swid can be partial. I.e this command"srm UPGRADE:VECTOR_LYNX_generic v2"
will upgrade to the latest v2 of VECTOR_LYNX_generic. - Use double quotes if the swid contains spaces.
- If you want to upgrade to nightly, or to any other, non-tested release type, to show LIST of nightly, you must always specify the
nightly
keyword. This is to prevent accidental upgrades to nightly releases.
UPGRADE
query scenarios
Firmware
With the UPGRADE
, the SRM server automatically decides and yields one of the following scenarios. Based on the current release, it selects the latest release from the same branch.
Container
A container consists of firmware linked together with a configuration image(s). Once the device is on a container, the device will be upgraded to the latest release of that container automatically with the UPGRADE-container
query.
Upgrade using container you can change device configuration without need to share credentials.
Currently, only siliXcon can deploy and manage containers and their releases. A Web GUI for managing custom containers is not yet available.
It is not possible to upgrade only part of the parameters inside the device.
- If the container has a configuration image, all parameters are restored, and the new configuration is applied. For example, this results in the need for new identification of the motor.
- The container release can be deployed without a configuration image. In this case, the configuration is not altered.
Structure of a container
Think of container as your bike model. And you can create container releases with new firmware and configuration upgrades. The end user will always run only srm UPGRADE-container
and get the correct configuration and firmware without need to know any firmware name.